VISUAL STUDIO 2010 - USAR O ACCESS 2007
Boa noite companheiros,
preciso de uma ajuda para algo que sei que é simples mas não estou conseguindo .
Tenho uma conexão com o Access 2007, e estou usando o Visual Studio prof 2010.
Esta aparecendo um erro que diz... Operação não permitida quando o objeto está aberto.
Esse erro acontece apos validar se a senha é a que o usuario difitou... segue codigo!
Valeu!
______________________________________________________________________________
Imports System.Data.OleDb
Public Class Login
[ô] Variaveis do form
Dim Conectar As New ADODB.Connection
Dim Rec_dados As New ADODB.Recordset
Dim dataset As New DataSet
Dim Compara As String
Dim da As New OleDbDataAdapter
Private Sub Login_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
txt_Login.BackColor = Color.Aqua
txtSenha.BackColor = Color.Aqua
End Sub
Private Sub btnEntrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEntrar.Click
[ô] conecta e abre o banco de dados
Conectar.ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BD_ClosetZoe\ClosetZoe.accdb[Ô]
*** o erro aponta para a linha de cima rsrs
Conectar.Open()
[ô] seleciona o dado
Rec_dados.Open([Ô]select senha from Logim where [ô]login[ô]=[ô][Ô] & CStr(txt_Login.Text) & [Ô][ô][Ô], Conectar, ADODB.CursorTypeEnum.adOpenStatic,
ADODB.LockTypeEnum.adLockOptimistic)
Compara = Rec_dados.Fields([Ô]senha[Ô]).Value()
If Compara = txtSenha.Text And txt_Login.Text <> [Ô][Ô] Then
MessageBox.Show([Ô]Ola [Ô] + txt_Login.Text, [Ô]Login realizado com Sucesso![Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Conectar.Close()
Else
MessageBox.Show([Ô]Senha confere para login [Ô] + txt_Login.Text, [Ô]Erro![Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
txt_Login.Text = Focus()
End If
End Sub
Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
End
End Sub
End Class
preciso de uma ajuda para algo que sei que é simples mas não estou conseguindo .
Tenho uma conexão com o Access 2007, e estou usando o Visual Studio prof 2010.
Esta aparecendo um erro que diz... Operação não permitida quando o objeto está aberto.
Esse erro acontece apos validar se a senha é a que o usuario difitou... segue codigo!
Valeu!
______________________________________________________________________________
Imports System.Data.OleDb
Public Class Login
[ô] Variaveis do form
Dim Conectar As New ADODB.Connection
Dim Rec_dados As New ADODB.Recordset
Dim dataset As New DataSet
Dim Compara As String
Dim da As New OleDbDataAdapter
Private Sub Login_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
txt_Login.BackColor = Color.Aqua
txtSenha.BackColor = Color.Aqua
End Sub
Private Sub btnEntrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEntrar.Click
[ô] conecta e abre o banco de dados
Conectar.ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BD_ClosetZoe\ClosetZoe.accdb[Ô]
*** o erro aponta para a linha de cima rsrs
Conectar.Open()
[ô] seleciona o dado
Rec_dados.Open([Ô]select senha from Logim where [ô]login[ô]=[ô][Ô] & CStr(txt_Login.Text) & [Ô][ô][Ô], Conectar, ADODB.CursorTypeEnum.adOpenStatic,
ADODB.LockTypeEnum.adLockOptimistic)
Compara = Rec_dados.Fields([Ô]senha[Ô]).Value()
If Compara = txtSenha.Text And txt_Login.Text <> [Ô][Ô] Then
MessageBox.Show([Ô]Ola [Ô] + txt_Login.Text, [Ô]Login realizado com Sucesso![Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Conectar.Close()
Else
MessageBox.Show([Ô]Senha confere para login [Ô] + txt_Login.Text, [Ô]Erro![Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
txt_Login.Text = Focus()
End If
End Sub
Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
End
End Sub
End Class
Você está abrindo a conexão em outra rotina. Soluções:
1 - Feche a conexão e torne a abrir conforme abaixo:
2 - Comente a parte do código que abre a conexão, pois ela já está aberta:
3 - Localize onde a conexão foi aberta pela primeira vez e feche-la, depois de executar as operações para as quais foi aberta.
1 - Feche a conexão e torne a abrir conforme abaixo:
If conectar.State = ConnectionState.Open Then conectar.Close()
Conectar.ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BD_ClosetZoe\ClosetZoe.accdb[Ô]
Conectar.Open()
2 - Comente a parte do código que abre a conexão, pois ela já está aberta:
[ô] conecta e abre o banco de dados
[ô] Conectar.ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BD_ClosetZoe\ClosetZoe.accdb[Ô]
[ô] Conectar.Open()
[ô] seleciona o dado
Rec_dados.Open([Ô]select senha from Logim where [ô]login[ô]=[ô][Ô] & CStr(txt_Login.Text) & [Ô][ô][Ô], Conectar, ADODB.CursorTypeEnum.adOpenStatic,
ADODB.LockTypeEnum.adLockOptimistic)
3 - Localize onde a conexão foi aberta pela primeira vez e feche-la, depois de executar as operações para as quais foi aberta.
tenta assim
1 fechas a conecçao e depois abres
Citação:
Conectar.close
Conectar.open
1 fechas a conecçao e depois abres
Tópico encerrado , respostas não são mais permitidas