Criei este código para verificar se já existe um registro cadastrado. Necessito pesquisar por dois campos, na Tb é “Tag” texto e “NumTub” número. Estou tentando passar os valores do formulário para variáveis e destas passando para o FINDFIRST. Testo se as variáveis receberam os valores. Quando eu digito Tag=11F02 e NumTub=15.2 a função funciona e acha o registro, mas quando tento inserir as variáveis não funciona. Podem ajudar.
Private Sub PesqTubObs()
Dim dB As DAO.Database
Dim rs As DAO.Recordset
Dim strTag As String
Dim strForno As String
Dim varTubObs As Variant
Dim strMsg As String
Dim strTitle As String
Dim pesq As Integer
Set dB = CurrentDb()
Set rs = dB.OpenRecordset("TbTubObs", dbOpenDynaset)
Combinação37.SetFocus
strForno = Combinação37.Text
TUBTLXB1.SetFocus
varTubObs = TUBTLXB1.Text
MsgBox "Forno" & "-" & strForno & "--" & "Tubo" & "-" & varTubObs
'strTag = "Tag =" & Combinação37.Column(1) And "NumTub=" & TUBTLXB1.Value & "" ' Assim não funciona.
'strTag= " Tag= '11F02' And NumTub= 15.2" ' Assim funciona.
strTag = "Tag =" & strForno & "NumTub=" & varTubObs & ""
MsgBox strTag
Combinação37.SetFocus
rs.FindFirst strTag
pesq = 0
Do While Not rs.NoMatch
strMsg = "Esse Tubo já esta na lista de tubos obstruidos, não será levada em consideração sua pressão e não há mais necessidade de incluí-lo na leitura."
strTitle = "Informativo"
MsgBox strMsg, vbInformation, strTitle
pesq = pesq + 1
MsgBox pesq
rs.FindNext strTag
Loop
MsgBox "Não encontrei"
rs.Clone
Private Sub PesqTubObs()
Dim dB As DAO.Database
Dim rs As DAO.Recordset
Dim strTag As String
Dim strForno As String
Dim varTubObs As Variant
Dim strMsg As String
Dim strTitle As String
Dim pesq As Integer
Set dB = CurrentDb()
Set rs = dB.OpenRecordset("TbTubObs", dbOpenDynaset)
Combinação37.SetFocus
strForno = Combinação37.Text
TUBTLXB1.SetFocus
varTubObs = TUBTLXB1.Text
MsgBox "Forno" & "-" & strForno & "--" & "Tubo" & "-" & varTubObs
'strTag = "Tag =" & Combinação37.Column(1) And "NumTub=" & TUBTLXB1.Value & "" ' Assim não funciona.
'strTag= " Tag= '11F02' And NumTub= 15.2" ' Assim funciona.
strTag = "Tag =" & strForno & "NumTub=" & varTubObs & ""
MsgBox strTag
Combinação37.SetFocus
rs.FindFirst strTag
pesq = 0
Do While Not rs.NoMatch
strMsg = "Esse Tubo já esta na lista de tubos obstruidos, não será levada em consideração sua pressão e não há mais necessidade de incluí-lo na leitura."
strTitle = "Informativo"
MsgBox strMsg, vbInformation, strTitle
pesq = pesq + 1
MsgBox pesq
rs.FindNext strTag
Loop
MsgBox "Não encontrei"
rs.Clone