CONECTAR E DESCONECTAR ADO NO VB
Boa noite pessoal!!
Se eu consigo criar uma sub em um módulo para conectar o meu banco de dados,
Sub ConectaBD()
ComunicacaoBD.Provider = [Ô]Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & App.Path & [Ô]\\BDIelb.mdb;[Ô]
End Sub
pq eu nao consigo criar uma sub nesse mesmo módulo para desconectar do banco?
Sub DesconectaBD()
ComunicacaoBD = Nothing
End Sub
Ao chamar a sub [Ô]DesconectaBD[Ô] quando fecho meu form, dá a mensagem: [Ô]Invalid use of object[Ô] e aponta para minha linha de código:
Sub DesconectaBD()
ComunicacaoBD = Nothing
End Sub
Abraços!!
Se eu consigo criar uma sub em um módulo para conectar o meu banco de dados,
Sub ConectaBD()
ComunicacaoBD.Provider = [Ô]Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & App.Path & [Ô]\\BDIelb.mdb;[Ô]
End Sub
pq eu nao consigo criar uma sub nesse mesmo módulo para desconectar do banco?
Sub DesconectaBD()
ComunicacaoBD = Nothing
End Sub
Ao chamar a sub [Ô]DesconectaBD[Ô] quando fecho meu form, dá a mensagem: [Ô]Invalid use of object[Ô] e aponta para minha linha de código:
Sub DesconectaBD()
ComunicacaoBD = Nothing
End Sub
Abraços!!
Ao invés de usar:
[txt-color=#0000f0]Sub[/txt-color] DesconectaBD()
ComunicacaoBD = [txt-color=#0000f0]Nothing
End Sub[/txt-color]
Use:
[txt-color=#0000f0]Sub[/txt-color] DesconectaBD()
ComunicacaoBD.Close
[txt-color=#0000f0]End Sub[/txt-color]
Veja se funciona
abraços
[txt-color=#0000f0]Sub[/txt-color] DesconectaBD()
ComunicacaoBD = [txt-color=#0000f0]Nothing
End Sub[/txt-color]
Use:
[txt-color=#0000f0]Sub[/txt-color] DesconectaBD()
ComunicacaoBD.Close
[txt-color=#0000f0]End Sub[/txt-color]
Veja se funciona
abraços
Marcos, as variáveis dos objetos ADODB.Connection deve estar no mesmo módulo que essas suas rotinas!
Por exemplo:
Public ComunicacaoBD as New ADODB.Connection
Sub DesconectaBD()
On Error Resume Next
ComunicacaoBD.Close
ComunicacaoBD = Nothing
End Sub
Por exemplo:
Public ComunicacaoBD as New ADODB.Connection
Sub DesconectaBD()
On Error Resume Next
ComunicacaoBD.Close
ComunicacaoBD = Nothing
End Sub
Ok Luis Flavio, as rotinas estão no mesmo módulo. Fiz como no exemplo que tu colocaste usando o Resume Next para qualquer erro e funciona, mas será que realmente desconectou do banco? Como eu posso saber se estou ou não conectado ao banco?
Abração,
Marcos.
Abração,
Marcos.
Para fechar uma conexão, utilize o método CLOSE.
Exemplo:
Para validar se está CONECTADO na base, utilize o método STATE.
Exemplo:
Exemplo:
con.Close
Set con = Nothing
Para validar se está CONECTADO na base, utilize o método STATE.
Exemplo:
If con.State = 1 Then
MsgBox [Ô]Conectado[Ô]
Else
MsgBox [Ô]Desconectado[Ô]
End If
Obrigado pela dica Tecla. Fiz o teste de conexão que tu colocou, porém mesmo eu chamando a sub ConectaBD no load da minha MDI, dá sempre a mensagem [Ô]Deconectado[Ô]. Se não for te pedir muito, pode dar uma olhada no meu projeto e ver se estou fazendo a conexão com o banco corretamente lá no meu módulo? Clique no menu Cadastros, Membros e lá está o comando pra testar a conexão.
Desde já agradeço, Marcos.
Desde já agradeço, Marcos.
MARCOSDETTMANN, bom dia.
Mude a Forma que você usa para se conectar com o Banco de Dados. Faça como a forma abaixo que vai funcionar, ok??
Qualquer coisa poste ai novamente, ok??
Mude a Forma que você usa para se conectar com o Banco de Dados. Faça como a forma abaixo que vai funcionar, ok??
Set ComunicacaoBD = New ADODB.Connection
With ComunicacaoBD
.Provider = [Ô]Microsoft.JET.OLEDB.4.0[Ô]
.ConnectionString = (App.Path + [Ô]\[Ô] + [Ô]BDIelb.mdb[Ô])
.Open
End With
Qualquer coisa poste ai novamente, ok??
Boa tarde Danikull!!! Show de bola, fiz como tu colocaste e funciona 100%, agora no teste aparece como conectado. Muito obrigado pela ajuda.
Abraços,
Marcos.
Abraços,
Marcos.
Tópico encerrado , respostas não são mais permitidas