|
Postada em 22/12/2010 17:56 hs
é o seguinte galera, eu tenho um projeto de uma agenda em VB6 uso um banco da dados access MDB com ADO o projeto possui apenas um form: form1
abro a conexão no form_load
até ai tudo bem
o form possui um botão onde eu posso listar todos os registros no datagrid e possui também uma caixa de texto onde eu posso fazer uma pesquisa (Filtrada) pelo recordset.
o que acontece é o seguinte: quando eu abro o programa e clico no botão para exibir todos os registros ele exibe normal, mas se depois eu usar a caixa de texto para filtrar algum comando e depois for clicar no botão para exibir todos os registros no datagrid nada acontece, ele diz que a conexão se encontra aberta. então como fazer para conectar/desconectar e depois conectar/desconectar usando o mesmo form? espero que tenham entendido minha dúvida, Aguardo respostas
|
|
|
|
|
Postada em 22/12/2010 18:13 hs
Cara posta aqui o codigo como vc esta fazendo, tenho quase certeza que toda vez que vc consulta vc abre a conexao.
|
|
|
Francis
|
ARCOVERDE PE - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 22/12/2010 18:48 hs
Tai o código
este é o codigo que abre a conexão
Private Sub Form_Load() con.Open "provider=microsoft.jet.OLEDB.4.0; data source=d:Cyberanco.mdb;" rs.CursorLocation = adUseClient rs.Open "SELECT * FROM banco", con, adOpenStatic, adLockReadOnly
este é o comando no textbox que faz a pesquisa filtrada
Private Sub Text5_lostfocus() Dim a As String a = Text5.Text rs.Filter = "nome like '" & a & "%'" agenda ' subrotina Set DataGrid1.DataSource = rs If a = Empty Then Text5.SetFocus End If End Sub
Este é o comando para listar todos os registros
Private Sub cmdTodos_Click() Set DataGrid1.DataSource = rs End Sub
|
|
|
|
Postada em 23/12/2010 09:00 hs
Francis faça o seguinte: no load do form, depois de digitar esse código (rs.Open "SELECT * FROM banco", con, adOpenStatic, adLockReadOnly), desconecte a conexão exe: con.close e elimini o rs set rs = nothing Eu particularmente não ponho a conexão dentro do evento LOAD do form, mais em cada objeto que vou usar exe: no botão ponho a conexao e no final do código ponho o encerramento da conexão exe: inicio do código con.Open "provider=microsoft.jet.OLEDB.4.0; data source=d:Cyberanco.mdb;" no fim do código con.close Assim eu tenho todo o controle da conexão abrindo-a e fechando-a assim que clico no botão Faça o mesmo em todos os objetos que necessitar de uma conexão com o BD, no inicio do código, (faça a conexão) e no fim do código (faça a desconexão) OK
|
|
|
Francis
|
ARCOVERDE PE - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/12/2010 09:59 hs
Valeu, vou testar por aqui e qualquer coisa eu retorno, obrigado
|
|
|
comendador
não registrado
|
|
Postada em 23/12/2010 10:24 hs
Tranquilo o pessoal aqui é super maneiro, certamente vão e ajudar! A alegria no Senhor é a nossa força!
|
|
|