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]Alterar SQL via VBA com multiplas condições (OR)

    Compartilhe

    Josué Carvalho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 06/10/2015

    [Resolvido]Alterar SQL via VBA com multiplas condições (OR)

    Mensagem  Josué Carvalho em Qua 07 Out 2015, 20:16

    Tenho uma combobox ligada ao campo "Facility".
    Há variáveis públicas que armazenam o perfil do usuário. São elas UsuarioMaster, UsuarioAcesso1, Usuarioacesso2.
    Um usuário "Master" pode ter acesso a toda a lista. Caso contrário, terá acesso apenas à informação de duas filiais (facility) que estão armazenados nas variáveis mencionadas acima.

    No evento Ao carregar (Form Load) inseri as seguintes linhas:
    Código:

    If UsuarioMaster Then
        vSQL = "SELECT Tab_Facility.Facility, Tab_Facility.Nome FROM Tab_Facility ORDER BY Tab_Facility.Nome;"
    Else
        vSQL = "SELECT Tab_Facility.Facility, Tab_Facility.Nome FROM Tab_Facility "
        vSQL = vSQL & "WHERE (((Tab_Facility.Facility) = ('" & UsuarioAcesso1 & "')) Or (((Tab_Facility.Facility) = ('" & UsuarioAcesso2 & "')) "
        vSQL = vSQL & "ORDER BY Tab_Facility.Nome;"
    End If
    Me.Facility.RowSource = vSQL

    Entretanto, na execução do formulário, na combobox mencionada, um erro aponta para a falta de operador.
    O que está errado? Alguém pode me ajudar?
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2293
    Registrado : 21/04/2011

    Re: [Resolvido]Alterar SQL via VBA com multiplas condições (OR)

    Mensagem  Marcelo David em Qua 07 Out 2015, 21:40

    Ponha um breakpoint na linha: Me.Facility.RowSource = vSQL

    Na janela de verificação imediata, poste a SQL gerada do da
    variável vSQL para analisarmos...


    .................................................................................
    Marcelo David
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    Josué Carvalho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 06/10/2015

    Linha de SQL gerada.

    Mensagem  Josué Carvalho em Qui 08 Out 2015, 03:57

    Esta é a sql gerada:

    Código:

    SELECT Tab_Facility.Facility, Tab_Facility.Nome FROM Tab_Facility WHERE (((Tab_Facility.Facility) = ('R0028502')) Or (((Tab_Facility.Facility) = ('R0028609')) ORDER BY Tab_Facility.Nome;
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2293
    Registrado : 21/04/2011

    Re: [Resolvido]Alterar SQL via VBA com multiplas condições (OR)

    Mensagem  Marcelo David em Qui 08 Out 2015, 05:13

    O nome do campo "Tab_Facility.Nome" mude para outro, pois "Nome" é uma palavra reservada do Access. Teste.

    Outra sugestão é ao invés de usar Or, usar IN...

    Caso não resolva, poste seu aplicativo com as partes envolventes aqui para darmos uma olhada...

    No aguardo.


    .................................................................................
    Marcelo David
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    Josué Carvalho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 06/10/2015

    Re: [Resolvido]Alterar SQL via VBA com multiplas condições (OR)

    Mensagem  Josué Carvalho em Qui 08 Out 2015, 13:22

    Utilizei o IN e funcionou! Obrigado.
    Não foi preciso alterar o campo Nome.
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2293
    Registrado : 21/04/2011

    Re: [Resolvido]Alterar SQL via VBA com multiplas condições (OR)

    Mensagem  Marcelo David em Qui 08 Out 2015, 15:28

    Grato pelo retorno!


    .................................................................................
    Marcelo David
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

      Data/hora atual: Ter 24 Out 2017, 08:24