LISTVIEW
mas euntia no meu program a unica coisa que esta em dao é akilo ali vei, no modulo
POSTE PRA MIM... ESSA PARTE DO MODULO QUE ESTÃ Â EM DAO...
Public Sub ConectarBd()
On Error GoTo final
Dim sPath As String
'***Abrindo a base de dados
Set cnBd = New ADODB.Connection
cnBd.CursorLocation = adUseClient '**O cursor será gerado ao lado do cliente - será gerado um arquivo temporário no cache da máquina
sPath = App.Path & "\Bdimobiliaria.mdb"
cnBd.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath
Screen.MousePointer = 0
Exit Sub
final:
MsgBox err.Description, vbInformation, err.Number
End Sub
Public Sub DesconectarBd()
cnBd.Close
Set cnBd = Nothing
End Sub
Public Sub FecharRst()
If rst.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rst.Close
Set rst = Nothing
End If
End Sub
Public Sub FecharRsApartamentos()
On Error GoTo err:
If rsApartamentos.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rsApartamentos.Close
Set rsApartamentos = Nothing
End If
err:
End Sub
Private Sub main()
On Error GoTo final
Screen.MousePointer = 11
ConectarBd
FrmMenu.Show
Screen.MousePointer = 0
Exit Sub
final:
MsgBox err.Description, vbInformation, err.Number & "Sub Main"
End Sub
On Error GoTo final
Dim sPath As String
'***Abrindo a base de dados
Set cnBd = New ADODB.Connection
cnBd.CursorLocation = adUseClient '**O cursor será gerado ao lado do cliente - será gerado um arquivo temporário no cache da máquina
sPath = App.Path & "\Bdimobiliaria.mdb"
cnBd.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath
Screen.MousePointer = 0
Exit Sub
final:
MsgBox err.Description, vbInformation, err.Number
End Sub
Public Sub DesconectarBd()
cnBd.Close
Set cnBd = Nothing
End Sub
Public Sub FecharRst()
If rst.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rst.Close
Set rst = Nothing
End If
End Sub
Public Sub FecharRsApartamentos()
On Error GoTo err:
If rsApartamentos.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rsApartamentos.Close
Set rsApartamentos = Nothing
End If
err:
End Sub
Private Sub main()
On Error GoTo final
Screen.MousePointer = 11
ConectarBd
FrmMenu.Show
Screen.MousePointer = 0
Exit Sub
final:
MsgBox err.Description, vbInformation, err.Number & "Sub Main"
End Sub
ALIAS NEM ESSES
Cara só isso aqui é DAO
Public Sub FecharRsApartamentos()
On Error GoTo err:
If rsApartamentos.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rsApartamentos.Close
Set rsApartamentos = Nothing
End If
err:
End Sub
vc usa esta sub 'FECHARRSAPARTAMENTOS" ?
O RESTO é TUDO ADO...... acho q vc está fazendo uma CONFUSÃO DANADA...
Public Sub FecharRsApartamentos()
On Error GoTo err:
If rsApartamentos.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o
rsApartamentos.Close
Set rsApartamentos = Nothing
End If
err:
End Sub
vc usa esta sub 'FECHARRSAPARTAMENTOS" ?
O RESTO é TUDO ADO...... acho q vc está fazendo uma CONFUSÃO DANADA...
NAUN PODE CRE VEIO é ISSO MEMO , E DAI ISSO AKI TAMEN
Private Sub FecharTodosRecordsets(DB As Database)
'destroi todos os recordsets
Dim rs As Recordset
For Each rs In DB.Recordsets
rs.Close
Set rs = Nothing
Next
End Sub
e isso ai em cima eu ja tirei
SO QUE ISSO EU USAVA PRA TENTAR DESTRUIR OS RECORDSET JA RETIREI , MAS EXPLICA UMA COSIA ESSE CODIGO QUE VC POSTOU AI EM CIMA
nun funcionaria se eu tirasse da referencia dao certo?
o cido que eu postei la em ciam era so pra vc ve o tipo de conexao eu faço
Private Sub FecharTodosRecordsets(DB As Database)
'destroi todos os recordsets
Dim rs As Recordset
For Each rs In DB.Recordsets
rs.Close
Set rs = Nothing
Next
End Sub
e isso ai em cima eu ja tirei
SO QUE ISSO EU USAVA PRA TENTAR DESTRUIR OS RECORDSET JA RETIREI , MAS EXPLICA UMA COSIA ESSE CODIGO QUE VC POSTOU AI EM CIMA
nun funcionaria se eu tirasse da referencia dao certo?
o cido que eu postei la em ciam era so pra vc ve o tipo de conexao eu faço
isso aki eu uso em cima dos form load
FecharRsApartamentos pra que se o recordset estiver aberto ele possa fechalo
FecharRsApartamentos pra que se o recordset estiver aberto ele possa fechalo
EM DAO
EM ADO
Sacou... vc vai ter que adaptar todo o seu CODIGO e ir testando...item por item..
[txt-color=#ff0000]Dim ConsultaSQL As String
ConsultaSQL = ""
ConsultaSQL = "SELECT * FROM Tbl_Apartamentos WHERE Codigo like '" & TxtPesquisar & "*'"
Set Bdimobiliaria = OpenDatabase(App.Path & "\Bdimobiliaria.mdb", False, False)
Set rsApartamentos = Bdimobiliaria.OpenRecordset(ConsultaSQL, dbOpenSnapshot)
'Vc tem que ver o que esta SUB OU FUNCTION esta chamando..
CarregaApartamento
If rsApartamentos.RecordCount <> 0 Then
'para carregar nos text....
While Not rsApartamentos.EOF
txtcodigo = rsApartamentos("Codigo"))
txtnapart = rsApartamentos("Nome"), 38)
txtncidade = rsApartamentos("Cidade")
txtestado = rsApartamentos("Estado")
TabelaConsulta.MoveNext
Loop
end if [/txt-color]EM ADO
[txt-color=#0000ff]Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim scnn as String
Dim sql as String
'Abre a conexão
scnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Bdimobiliaria.mdb;"
sql = "SELECT * FROM Tbl_Apartamentos WHERE Codigo like '" & TxtPesquisar & "*'"
rst.Open sql, cnn, adOpenKeyset, adLockOptimistic, adCmdText
'como falei tem q ver se esta sub está em DAO..se tiver tem q adaptar para ADO CarregaApartamento
if rst.eof and rst.bof then
' quando o rst estiver fazio coloque aqui as rotinas aqui
else
'for i é mais rápido que do while
For i = 1 to rst.RecordCount - 1
txtcodigo = rst![Codigo]
txtnapart = rst![Nome]
txtncidade = rst![Cidade]
txtestado = rst![Estado]
rst.MoveNext
Next[/txt-color]Sacou... vc vai ter que adaptar todo o seu CODIGO e ir testando...item por item..
faltou um END IF
eu teria que implementar todo meu codigo ne? entaun deu erro The connection be used to perform this operation.It is either closed or invalid this context
rsApartamentos.Open sql, cnBd, adOpenKeyset, adLockOptimistic, adCmdText
rsApartamentos.Open sql, cnBd, adOpenKeyset, adLockOptimistic, adCmdText
Tópico encerrado , respostas não são mais permitidas