Até que não foi tão ruim, mas precisei economizar em & _....rs fui no limite do código.
Private Sub BtImprimir_Click()
Dim strSql1$
Dim contador As Integer
Dim idv As Variant
idv = 0
contador = 1
If IsNull(ID_Peça) Then Exit Sub
'MsgBox "Vamos testar se tá tudo liberado"
If DCount("ID_Verificação", "tblVerificacao", "ID_Peça=" & Me!TxTId_Peça & "") = 0 Then
'MsgBox "Verificação do ID_Peça " & Me!ID_Peça & " não existe..."
Exit Sub
End If
Do While contador < 4
idv = DLookup("ID_Verificação", "tblVerificacao", "ID_Peça=" & Me!TxTId_Peça & " AND Verificação=" & contador & _
" AND ID_USUARIO1 IS NOT NULL AND ID_USUARIO2 IS NOT NULL AND ID_USUARIO3 IS NOT NULL AND ID_USUARIO4 IS NOT NULL AND ID_USUARIO5 IS NOT NULL AND ID_USUARIO6 IS NOT NULL AND ID_USUARIO7 IS NOT NULL" & _
" AND DATALIBERACAO1 IS NOT NULL AND DATALIBERACAO2 IS NOT NULL AND DATALIBERACAO3 IS NOT NULL AND DATALIBERACAO4 IS NOT NULL" & _
" AND DATALIBERACAO5 IS NOT NULL AND DATALIBERACAO6 IS NOT NULL AND DATALIBERACAO7 IS NOT NULL" & _
" AND TipodeAço IN (""N/A"",""Liberado"") AND ChecagemArmacao IN (""N/A"",""Liberado"")" & _
" AND DetalhedaLigacao IN (""N/A"",""Liberado"") AND Insertos IN (""N/A"",""Liberado"")" & _
" AND Chumbadores IN (""N/A"",""Liberado"") AND Içamento IN (""N/A"",""Liberado"")" & _
" AND Aterramento IN (""N/A"",""Liberado"") AND Espaçador IN (""N/A"",""Liberado"")" & _
" AND IdentificacaodaPeca1 IN (""N/A"",""Liberado"") AND Revisao IN (""N/A"",""Liberado"")" & _
" AND Consolo IN (""N/A"",""Liberado"") AND CondicoesGerais IN (""N/A"",""Liberado"")" & _
" AND Geometria1 IN (""N/A"",""Liberado"") AND Alinhamento IN (""N/A"",""Liberado"")" & _
" AND Travamento IN (""N/A"",""Liberado"") AND Desmoldante IN (""N/A"",""Liberado"")" & _
" AND Ranhuras IN (""N/A"",""Liberado"") AND FurosdeMontagem IN (""N/A"",""Liberado"")" & _
" AND Cobrimento IN (""N/A"",""Liberado"") AND InsertosChumbadores IN (""N/A"",""Liberado"")" & _
" AND SaidaDagua IN (""N/A"",""Liberado"") AND Fck IN (""N/A"",""Liberado"")" & _
" AND Lançamento IN (""N/A"",""Liberado"") AND Vibracao IN (""N/A"",""Liberado"")" & _
" AND Acabamento IN (""N/A"",""Liberado"") AND Volume IN (""N/A"",""Liberado"")" & _
" AND DiametrodoCabo IN (""N/A"",""Liberado"") AND ForçadeProtensao IN (""N/A"",""Liberado"")" & _
" AND PressaodaBomba IN (""N/A"",""Liberado"") AND Alongamento IN (""N/A"",""Liberado"")" & _
" AND Isolamento IN (""N/A"",""Liberado"") AND IdentificacaodaPeca2 IN (""N/A"",""Liberado"")" & _
" AND Geometria2 IN (""N/A"",""Liberado"") AND AcabamentoSuperficial IN (""N/A"",""Liberado"")" & _
" AND Bisote IN (""N/A"",""Liberado"") AND Detalhes IN (""N/A"",""Liberado"")" & _
" AND ContraFlecha IN (""N/A"",""Liberado"") AND Fissuras IN (""N/A"",""Liberado"")" & _
" AND IdentificaçaodaPeça IN (""N/A"",""Liberado"") AND LiberacaoFinal IN (""N/A"",""Liberado"")" & _
" AND Apoios IN (""N/A"",""Liberado"") AND Travamentos IN (""N/A"",""Liberado"")")
If idv > 0 Then
If Me!Liberada = -1 And IsNull(Me!DataLiberacao) = Falso Then
'MsgBox "Verificação" & contador & "do ID_Peça " & Me!ID_Peça & " Liberado"
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "rltVerificacao", acViewPreview, , "Id_Verificação =" & idv
DoCmd.Maximize
Exit Do
Else
'MsgBox "Verificação" & contador & "do ID_Peça " & Me!ID_Peça & " Liberado mas faltando na Peça"
Exit Do
End If
ElseIf contador = 3 Then
MsgBox "A Peça não está 100% liberada em nenhuma das 3 verificações. Verifique todos os campos."
End If
contador = contador + 1
Loop
sair:
Exit Sub
End Sub