MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]sql Consulta para verificar texto em qualquer campo

    Compartilhe
    avatar
    ricardofbarreiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 18/06/2014

    [Resolvido]sql Consulta para verificar texto em qualquer campo

    Mensagem  ricardofbarreiro em Ter 24 Jun 2014, 20:52

    Tenho uma tabela com 1 campo Id  e com 42 campos texto onde eles só tem 3 opções nos campos:

    1- Verificar
    2- Liberado
    3- (em branco)

    Gostaria de saber a sintaxe para fazer uma consulta que me informe o id de todos os registros que tenha a informação "Verificar" ou (em branco) EM ALGUM dos 42 campos.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6442
    Registrado : 05/11/2009

    Re: [Resolvido]sql Consulta para verificar texto em qualquer campo

    Mensagem  Alexandre Neves em Ter 24 Jun 2014, 21:02

    Boa noite,
    SELECT ID FROM Tabela WHERE Campo1&''='Verificado' or Campo2&''='Verificado' ...


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    ricardofbarreiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 18/06/2014

    Re: [Resolvido]sql Consulta para verificar texto em qualquer campo

    Mensagem  ricardofbarreiro em Ter 24 Jun 2014, 21:17

    hum.... para 42 campos mesmo né... achei que tinha uma maneira mais direta, menos trabalhosa.
    avatar
    ricardofbarreiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 18/06/2014

    Re: [Resolvido]sql Consulta para verificar texto em qualquer campo

    Mensagem  ricardofbarreiro em Qui 26 Jun 2014, 02:13

    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

      Data/hora atual: Dom 22 Out 2017, 13:05