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

    maguim
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]Selmed de Texto

    Mensagem  maguim em 22/10/2018, 21: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, 21:21, editado 2 vez(es)


    .................................................................................
    O conhecimento é a Dadiva da Vida. Sem ele o que seriamos ?! [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Selmed de Texto

    Mensagem  thiagomcosta em 22/10/2018, 21: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.

    maguim
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Selmed de Texto

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

    @thiagomcosta

    Muito obrigado, deu certo

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

      Data/hora atual: 15/11/2018, 04:46