ADODC

USUARIO.EXCLUIDOS 29/12/2004 21:46:57
#57715
Ola, este codigo pesquisa no db via adodc, mas ele ta com 2 probleminhas, n to conseguindo colocar msgbox, ( ela n ta funcionando)
E quando eu executo o codigo, o adodc ( as setinhas de next last) nao funcionam mais.
Alguem pode me ajudar?


Private Sub Text9_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then
'seleciona os dados
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM empresas"
Adodc1.Refresh

'carrega valores no combo
For i = 1 To Adodc1.Recordset.RecordCount
Adodc1.Recordset.AbsolutePosition = i
Adodc1.Refresh

Next i
If Option1 = True Then
'faz o filtro.
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from empresas where razao like '" & Text9.Text & "'"
Adodc1.Refresh
End If
If Option2 = True Then

Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from empresas where ramal like '" & Text9.Text & "'"
Adodc1.Refresh
End If

If Option3 = True Then

Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from empresas where fone like '" & Text9.Text & "'"
Adodc1.Refresh
End If
End If
If Adodc1.EOFAction Then
MsgBox "Registro não encontrado", vbExclamation
End If
End Sub
USUARIO.EXCLUIDOS 30/12/2004 10:42:47
#57761
Resposta escolhida
primeiro, você tem que colocar a rotina do msgbox dentro de cada if do option ou uma function a qual voce chama apos cada consulta.
segundo, seu adodc1.eofaction esta errado tem que ser bof = true and eof = true
terceiro, se os dois (bof e eof) estão como true quer dizer que nenhum registro foi encontrado com o criterio especificado por isso o controle ADO não funciona, porque nada foi encontrado logo nada foi carregado, quando isso acontece você tem que dar um select * para mostrar todos os dados novamente, sua rotina ficaria assim:
If Option2 = True Then
Adodc1.RecordSource = "Select * from empresas where ramal like '" & Text9.Text & "'"
Adodc1.Refresh
if adodc1.recordset.eof = true and adodc1.recordset.bof = true then
msgbox "Nenhum registro encontrado com o ramal indicado", vbexclamation
Adodc1.RecordSource = "SELECT * FROM empresas"
Adodc1.Refresh
end if
end if
Tópico encerrado , respostas não são mais permitidas