MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Dlookup concatenado

    avatar
    JoaoFelix
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/11/2016

    Dlookup concatenado Empty Dlookup concatenado

    Mensagem  JoaoFelix 23/11/2016, 01:15

    Boas pessoal.
    Estou num form a cadastrar produtos(na tbl produtos) e alguns dos campos são:API,DOSEFORM, PRODUCTCODE..
    Preciso que o campo PRODUCTCODE seja concatenação do CODAPI(TABELA API) com o CODDOSEFORM(TABELA DOSEFORM).


    Tabela API:
    CODAPI API
    1000 AZTREONAN
    1001 IDURSULFASE


    TABELA DOSEFORM:
    CODDOSEFORM DOSEFORM
    10 CAPS
    11 VIAL
    12 AMP




    Assim, se eu cadastrar um prod com API=AZTREONAN com doseform=AMP, preciso que o Campo ´PRODUCTCODE´ fique :100012.

    Tentei esse código (para testar se ele devolvia 1000) no event procedure ao clicar no save do formulário mas dá erro de sintaxe

    CurrentDb.Execute "UPDATE PRODUCTS SET PRODUCTCODE=Dlookup(“CODAPI”,”API”,”API=’AZTREONAN'”)".


    Se alguem me puder ajudar fico eternamente agradecido.
    Obrigado a todos, abraço.
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    Dlookup concatenado Empty Re: Dlookup concatenado

    Mensagem  philipp.moreira 23/11/2016, 02:46

    João,

    creio que os campos API e DOSEFORM da tabela Produtos, sejam, chave estrangeira (Foreign Key), correto? Armazenando o código da API e do DOSFORM, desta forma, por que, não cria somente uma consulta de atualização:


    Código:
     UPDATE Products SET Productcode =  API & DOSEFORM .

    E através do VBA chama a consulta criada:

    Código:
     CurrentDB.Execute "ConsultaUpDate"

    Observação: Aqui estou presumindo que o campo Productcode é um campo do tipo texto e desta forma vai aceitar a concatenação sem maiores problemas, agora se o campo é do tipo numérico a concatenação não vai funcionar, pois não estaríamos tratando de valores do tipo texto e sim numéricos.

    PS.:
    Creio que seu código esteja gerando erro pois está chamando o Dlookup dentro da string de comando SQL a ser executado. Poderia tentar desta forma:
    Código:
    CurrentDb.Execute "UPDATE PRODUCTS SET PRODUCTCODE= " & Dlookup(“CODAPI”,”API”,”API=’AZTREONAN'”) & " WHERE {Sua condição}" .

    E neste código tenho duas observações:
    1) Você setaria o campo Productcode somente com o código da API e a concatenação do código do DOSFORM ?
    2) Caso não inclua uma condição WHERE no seu UPDATE todos os registros da sua tabela Produtos será atualizados somente com o código da API AZTREONAM.
    avatar
    JoaoFelix
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/11/2016

    Dlookup concatenado Empty Re: Dlookup concatenado

    Mensagem  JoaoFelix 23/11/2016, 09:49

    Obrigado pela rápida resposta Phillip.
    O campo PRODUCTCODE(da tabela products) é numérico.
    Eu preciso que ao escolher API(texto) e DOSEFORM(texto), ele vá á tabela API, e seleccione o CODAPI(NUMERO) correspondente e que vá á tabela DOSEFORM seleccionar o CODDOSEFORM(numero), concatene esses 2 numeros e armazena no campo PRODUCTCODE da tabela products.


    "E neste código tenho duas observações:
    1) Você setaria o campo Productcode somente com o código da API e a concatenação do código do DOSFORM ?
    2) Caso não inclua uma condição WHERE no seu UPDATE todos os registros da sua tabela Produtos será atualizados somente com o código da API AZTREONAM. "

    R: o campo PRODUCTCODE é uma concatenação de CODAPI e CODDOSEFORM. Como na tabela API e na tabela DOSEFORM os campos CODAPI e CODDOSEFORM são chaves primárias, o campo ProduCTCODE irá ser unico para cada produto criado.

    Cumprimentos e obrigado mais uma vez.

    Conteúdo patrocinado


    Dlookup concatenado Empty Re: Dlookup concatenado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/5/2024, 08:23