Postada em 19/10/2009 15:54 hs
Pessoal, estou tendo dificuldades com o codigo abaixo referente a resposta do (MsgBox), na realidade o unico IF que funciona direito é o primeiro dentro Do While. Estou tratando 03 campos da tabela, sendo:
LM_Busca!Codigo LM_Busca!FlagReq LM_Busca!Dispositivo
Bom, código funciona beleza pegando o primeiro e o ultimo IF dentro Do While:
Já segundo IF tá com pau, quando deveria pegar o primeiro: em que estou errando? O banco é access
Private Sub CmdBuscar_Click() 'NR_Copia LimpaTudo Dim Procura As String If AtivarBancoLMX = True Then Procura = TxtBuscaLM.text NR_Copia = TxtBuscaLM.text Set LM_Busca = New ADODB.Recordset LM_Busca.Open "SELECT LMnr.LM_1,Dados.Dispositivo,Dados.Codigo,Dados.LM_1,Dados.FlagReq FROM LMnr,Dados WHERE LMnr.LM_1 = Dados.LM_1 And Dados.LM_1 = '" & Procura & "'", Banco2, adOpenKeyset, adLockPessimistic
If LM_Busca.RecordCount = 0 Then MsgBox "Lista de Material não cadastrada!", vbCritical, "Erro de pesquisa" Exit Sub Else
Do While Not LM_Busca.EOF
If (LM_Busca!Codigo <> Null Or LM_Busca!Codigo <> "") And (LM_Busca!Dispositivo = "003" And LM_Busca!FlagReq = "Gerado") Then CarregaCabecalho CarregaDados Exit Do End If If (LM_Busca!Codigo = Null Or LM_Busca!Codigo = "") And (LM_Busca!Dispositivo = "003" And LM_Busca!FlagReq = "Pendente") Then MsgBox "Exitem items pendentes para baixa nesta Lista de Material. É necessário efetuar a baixa para gerar a requisição!", vbCritical, "Erro de pesquisa" Exit Do End If If LM_Busca!Dispositivo = "" Or LM_Busca!Dispositivo = "103" Or LM_Busca!Dispositivo = "203" Or LM_Busca!Dispositivo = "000" Then MsgBox "Não existe nesta Lista de Material item de estoque!", vbCritical, "Erro de pesquisa" Exit Do End If If LM_Busca!Codigo = Null Or LM_Busca!Codigo = "" And LM_Busca!Dispositivo = "003" Then MsgBox "Lista de Material ainda não foi baixada. É necessário efetuar a baixa dos itens para gerar a requisição!", vbCritical, "Erro de pesquisa" Exit Do End If LM_Busca.MoveNext Loop End If End If End Sub
|