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]Selmed de Texto

    Compartilhe
    avatar
    maguim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 378
    Registrado : 15/05/2013

    [Resolvido]Selmed de Texto

    Mensagem  maguim em 22/10/2018, 18:03

    boa tarde amigos

    estou tentando fazer selmed de texto, porem esta dando erro:

    o campo especificado "[programa]" pode se referir a mais de uma tabela relacionada na cláusala  FROM da instrução SQL


    exemplo

    Código:
    txtPROGRAMAS: SeImed([Programa]='Bem Estar - XOLAIR';"NÃO";"SIM")


    a principio seria se tiver 'Bem Estar - XOLAIR' sub-escrever SIM se não tiver NÃO


    SQL:
    Código:
    SELECT BANCODEDADOSCENTRAL.CODPASTA,
    IIf([Programa]='Bem Estar - XOLAIR',"NÃO","SIM") AS txtPROGRAMAS,
    PROGRAMAS.Programa,
    BANCODEDADOSCENTRAL.TIPO,
    BANCODEDADOSCENTRAL.Cnpj,
    BANCODEDADOSCENTRAL.Razão_Social,
    BANCODEDADOSCENTRAL.Nome_Fantasia,
    BANCODEDADOSCENTRAL.CEP,
    BANCODEDADOSCENTRAL.ENDEREÇO,
    BANCODEDADOSCENTRAL.NUMERO,
    BANCODEDADOSCENTRAL.Cidade,
    BANCODEDADOSCENTRAL.BAIRRO,
    BANCODEDADOSCENTRAL.Uf,
    BANCODEDADOSCENTRAL.Email,

    NOVARTIS.MES_ANO_CREDENC,

    IIf([ADIT_XOLAIR_ASM]=0,"NÃO","SIM") AS txtADIT_XOLAIR_ASM,
    IIf([HAB_SIST_HOLIS_XOLAIR_ASM]=0,"NÃO","SIM") AS txtHAB_SIST_HOLIS_XOLAIR_ASM, IIf([NOVARTIS.TREINAM_ACLASTA]=0,"NÃO","SIM") AS txtTREINAM_ACLASTA,
    IIf([NOVARTIS.TREINAM_XOLAIR]=0,"NÃO","SIM") AS txtTREINAM_XOLAIR,
    IIf([NOVARTIS.TREINAM_CONSENTYX]=0,"NÃO","SIM") AS txtTREINAM_CONSENTYX,

    NOVARTIS.DT_TREINAM_RMP, NOVARTIS.DT_TREINAM_RECLAM_TEC,
    IIf([NOVARTIS.FARMACOVIGILANCIA]=0,"NÃO","SIM") AS txtFARMACOVIGILANCIA,

    NOVARTIS.DT_TREINAM_FARMACOVG,
    NOVARTIS.DT_TREINAM_COMPLIANCE,

    PROGRAMAS.STATUS,

    BANCODEDADOSCENTRAL.CONTR_NOVARTIS,

    IIf([CONTR_AZIMUTMED]=0,"NÃO","SIM") AS [txtCONTRATO AZIMUTEMED],

    DOCUMENTOS.DT_ASSINATURA

    FROM DOCUMENTOS

    INNER JOIN (PROGRAMAS INNER JOIN (NOVARTIS INNER JOIN BANCODEDADOSCENTRAL ON NOVARTIS.ID_GERAL = BANCODEDADOSCENTRAL.CODPASTA) ON PROGRAMAS.ID_GERAL = BANCODEDADOSCENTRAL.CODPASTA) ON DOCUMENTOS.ID_GERAL = BANCODEDADOSCENTRAL.CODPASTA
    WHERE (((PROGRAMAS.Programa)="Bem Estar - XOLAIR") AND ((BANCODEDADOSCENTRAL.CONTR_NOVARTIS)=True)) OR (((PROGRAMAS.Programa)="Bem Estar - COSENTYX"));

    Segue o exemplo de como eu quero, seria possivel?

    EXEMPLO IMAGEM

    abraços


    Última edição por maguim em 22/10/2018, 18:21, editado 2 vez(es)


    .................................................................................
    O conhecimento é a Dadiva da Vida. Sem ele o que seriamos ?! Surprised
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 333
    Registrado : 23/01/2017

    Re: [Resolvido]Selmed de Texto

    Mensagem  thiagomcosta em 22/10/2018, 18:12

    Tente colocar o nome completo Tabela.Campo, pode haver campos Programa em mais de 1 tabela.

    No IIF o retorno verdadeiro vem antes do falso. Pelo que explicou o comando vai retornar o inverso do que você quer. "Sim" se não for "Bem Estar - XOLAIR" e "Não" caso seja.
    avatar
    maguim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 378
    Registrado : 15/05/2013

    Re: [Resolvido]Selmed de Texto

    Mensagem  maguim em 22/10/2018, 18:21

    @thiagomcosta

    Muito obrigado, deu certo

    txtPROGRAMAS: SeImed([PROGRAMAS.programa]='Bem Estar - XOLAIR';"NÃO";"SIM")

      Data/hora atual: 24/1/2019, 07:33