Amigos,
primeiro: sou kbço no access vba = apanhando igual um cavalo.
segundo: Posso ir adicionando algumas dúvidas aqui para resolver um projeto que estou desenvolvendo?
Problema: Gostaria de apertar um botçao em um formulário executado que abrirá uma consulta. essa consulta envia uma msg para o usuário digitar o termo a ser pesquisado, após, o vba deve navegar pelos registros encontrados e apresentálos em algum lugar para o usuário selecionar o código do termo [cliente] que ele quer.
Dessa forma funcionaria?
Eu travei ao criar o código para iniciar a navegação pelos registros trazidos pela tabela. segue o código até o ponto que eu trabalhei:
********************
Public Sub FrmComCadCliLocaliza_Click()
Dim db As DAO.Database
Dim qrydef As DAO.QueryDef
Dim rsQRY As DAO.Recordset
Dim strSQL, dadoFrm As String
Dim codQry, nameQry As Variant
Set db = CurrentDb()
'comando para excluir a tabela gerada anteriormente - caso tenha sido criada:
On Error GoTo ErrorHandler
db.QueryDefs.Delete "QryCliente"
'atualiza BD
RefreshDatabaseWindow
volta:
'cria colsulta com cód SQL inserido
strSQL = "select * from Tab_Cliente where tab_cliente.TabCtNomeCliente like '*' + [Digíte o nome do cliente entre (*):] + '*' Order by TabCtNomeCliente desc"
Set qrydef = db.CreateQueryDef("QryCliente", strSQL)
RefreshDatabaseWindow
'Abre a consulta
DoCmd.OpenQuery ("QryCliente")
Set rsQRY = db.OpenRecordset("QryCliente", dbOpenDynaset) ' aqui eu recebo uma msg:
'aqui estou criando ainda
rs.MoveFirst
Do While Not (rsQRY.EOF)
'se achar o nome, incrementa e coleta variável para fechamento da rotina
If rsQRY(0) <> "" Then
codQry = rsQRY(0) 'rsqry("TabCtNomeCliente").value
nameQry = rsQRY(1) 'rsqry("TabCtCodCliente").value
'abre formulário para apresentar os dados encontrados
If codQry <> Empty And openFRA = False Then
DoCmd.OpenForm "Pop_FrmCadastroClientes"
End If
End If
rsQRY.MoveNext
Loop
db.Close
ErrorHandler:
GoTo volta
End Sub
*****************
primeiro: sou kbço no access vba = apanhando igual um cavalo.
segundo: Posso ir adicionando algumas dúvidas aqui para resolver um projeto que estou desenvolvendo?
Problema: Gostaria de apertar um botçao em um formulário executado que abrirá uma consulta. essa consulta envia uma msg para o usuário digitar o termo a ser pesquisado, após, o vba deve navegar pelos registros encontrados e apresentálos em algum lugar para o usuário selecionar o código do termo [cliente] que ele quer.
Dessa forma funcionaria?
Eu travei ao criar o código para iniciar a navegação pelos registros trazidos pela tabela. segue o código até o ponto que eu trabalhei:
********************
Public Sub FrmComCadCliLocaliza_Click()
Dim db As DAO.Database
Dim qrydef As DAO.QueryDef
Dim rsQRY As DAO.Recordset
Dim strSQL, dadoFrm As String
Dim codQry, nameQry As Variant
Set db = CurrentDb()
'comando para excluir a tabela gerada anteriormente - caso tenha sido criada:
On Error GoTo ErrorHandler
db.QueryDefs.Delete "QryCliente"
'atualiza BD
RefreshDatabaseWindow
volta:
'cria colsulta com cód SQL inserido
strSQL = "select * from Tab_Cliente where tab_cliente.TabCtNomeCliente like '*' + [Digíte o nome do cliente entre (*):] + '*' Order by TabCtNomeCliente desc"
Set qrydef = db.CreateQueryDef("QryCliente", strSQL)
RefreshDatabaseWindow
'Abre a consulta
DoCmd.OpenQuery ("QryCliente")
Set rsQRY = db.OpenRecordset("QryCliente", dbOpenDynaset) ' aqui eu recebo uma msg:
'aqui estou criando ainda
rs.MoveFirst
Do While Not (rsQRY.EOF)
'se achar o nome, incrementa e coleta variável para fechamento da rotina
If rsQRY(0) <> "" Then
codQry = rsQRY(0) 'rsqry("TabCtNomeCliente").value
nameQry = rsQRY(1) 'rsqry("TabCtCodCliente").value
'abre formulário para apresentar os dados encontrados
If codQry <> Empty And openFRA = False Then
DoCmd.OpenForm "Pop_FrmCadastroClientes"
End If
End If
rsQRY.MoveNext
Loop
db.Close
ErrorHandler:
GoTo volta
End Sub
*****************