ERRO RECORDCOUNT

MAICONLS 08/07/2005 14:52:41
#92972
Estou tentando imprimir um relatorio conforme a selecao em um combobox, fiz o codigo abaixo mas ele sempre independente do que eu escolha no combo ele sempre me mostra a MSGBOX, o que sera que há de errado ?

Private Sub Image2_Click()

If cbostatus.ListIndex = -1 Then
MsgBox "Selecione o status da vistoria", vbInformation, " Atenção!"
cbostatus.SetFocus
Exit Sub
End If

Set Cnn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:    riade\Data\dbase.mdb;Jet OLEDB:Database Password=tmonrsr2308sbnu;"
Rs.Open "Select * From TabVistorias where Status='" & cbostatus.Text & "'", Cnn

If Rs.RecordCount > 0 Then

Rs.Close
Set Rs = Nothing
Cnn.Close
Set Cnn = Nothing

Set Rs = New ADODB.Recordset
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:    riade\Data\dbase.mdb;Jet OLEDB:Database Password=tmonrsr2308sbnu;"
Set Rs = Cnn.Execute("Select * From TabVistorias where Status='" & cbostatus.Text & "'order by data")
Set RelvistoriasAberto.DataSource = Rs
RelvistoriasAberto.Show
Exit Sub

Else

MsgBox "Não existe nenhuma vistoria com o status de " & cbostatus.Text & " para ser imprimida", vbInformation, " Atenção"
End If

End Sub
JEAN.JEDSON 08/07/2005 15:00:21
#92975
Resposta escolhida
após a linha set rs = new adodb.recordset, coloque:

rs.CursorLocation = adUseClient
USUARIO.EXCLUIDOS 08/07/2005 15:00:41
#92976
maiconls, sempre de uma identada no codigo para facilitar a leitura, vamos lá:

If cbostatus.ListIndex = -1 Then
MsgBox "Selecione o status da vistoria", vbInformation, " Atenção!"
cbostatus.SetFocus
Exit Sub
End If

Set Cnn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:    riade\Data\dbase.mdb;Jet OLEDB:Database Password=tmonrsr2308sbnu;"
Rs.Open "Select * From TabVistorias where Status='" & cbostatus.Text & "'", Cnn

If Rs.RecordCount > 0 Then
Rs.Close
Set Rs = Nothing
Cnn.Close
Set Cnn = Nothing

Set Rs = New ADODB.Recordset
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:    riade\Data\dbase.mdb;Jet OLEDB:Database Password=tmonrsr2308sbnu;"
Set Rs = Cnn.Execute("Select * From TabVistorias where Status='" & cbostatus.Text & "'order by data")
Set RelvistoriasAberto.DataSource = Rs
RelvistoriasAberto.Show
Else
MsgBox "Não existe nenhuma vistoria com o status de " & cbostatus.Text & " para ser imprimida", vbInformation, " Atenção"
End If
tente assim, retire o ultimo exit sub antes do else, agora porque dar dois SELECTS?? em um só poderia resolver, gostaria de ver como ou deixa como esta pois lhe é necessário???
ROGERIOHOFFMANN 08/07/2005 15:02:11
#92981
provavelmente ele não está conseguindo abrir o recordset(Rs), certifique-se que a conexão (Cnn) está ativa.
MAICONLS 08/07/2005 15:06:14
#92983
Funcionou Jean, agora sim...Muito obrigado..

Wiliam obrigado pela dica de identação, realmente tenho que me acostumar com isso..Valeu.
Tópico encerrado , respostas não são mais permitidas