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


3 participantes

    Consulta atualizar quando campos vazios

    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 13:59

    Bom dia

    Estou fazendo uma consulta atualização mas não consigo resolver o problema.

    Tenho duas tabelas (infProt) e (Dest)e nas duas tabelas existem os campos chNFe e exporta. A tabela (infProt) tem o campo chNFe preenchida. Preciso preencher o campo chNFe da tabela (Dest)com os valores que constam na tabela (infProt) desde que o campo exporta da tabela (infProt) esteja vazia.

    No campo atualizar para da consulta estou colocando SeImed([INFPROT].[EXPORTA]= nulo ;[INFPROT].[CHNFE])mas está atualizando toda a tabela com o mesmo chNFE. Preciso que atualize somente com o campo chNFe em branco

    Eu preencho o campo exporta da tabela (infProt) com S após ela atualizar os campos que preciso para que não execute novamente o preenchimento dos campos ao rodar a consulta atualização.

    Se alguem puder ajudar agradeço.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  criquio 1/5/2012, 14:08

    Já tentou colocar Como ÉNulo no critério do campo?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 14:20

    Criquio

    Já tentei sim, mas continua dando o mesmo problema.

    Está preenchendo os campos com o mesmo numero em todas tabelas.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  criquio 1/5/2012, 14:29

    As tabelas tem a mesma estrutura? Talvez fosse melhor fazer isso via vba. Detalhe um pouco mais a necessidade. Você tem duas tabelas e tem um campo nelas que, se estiver nulo em uma, esse campo vai pegar um certo valor de um campo da outra, é isso mesmo? Todos os outros campos são iguais? Tem algum campo em comum entre as duas, como por exemplo a mesma chave primária?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Avelino Sampaio 1/5/2012, 14:32

    Olá!

    Experimente:

    SeImed(isNull([INFPROT].[EXPORTA]);[INFPROT].[CHNFE])

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 14:42

    Avelino

    Coloquei a instrução passada mas dá o mesmo problema. O campo chNFe é atualizado com o mesmo numero em todas as tabelas.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Avelino Sampaio 1/5/2012, 14:48

    1)Passe a consulta temporariamente para tipo SELEÇÃO
    2)puxe outro campo INFPROT].[EXPORTA] - desmarque "Mostrar"
    3) Coloque no critério Is null
    4) rode a consulta seleção - veja se só retorna os registro com o campo[EXPORTA] nulo
    5 Transforme-a para consulta atualização
    6) mande atualizar com [INFPROT].[CHNFE]

    No aguardo


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 15:07

    Avelino

    Fiz o que foi pedido mas continua dando o mesmo problema.

    Tomo a liberdade de anexar o bd para entenderem melhor. Como disse sou complicado para explicar.

    No bd a tabela infProt tem um campo EXPORTA vazio e o outro com S. Nas outras tabelas preciso que inclua o campo chNFe da tabela infProt seja preenchido com o campo que na tabela infProt tem o chNFe
    Anexos
    Consulta atualizar quando campos vazios AttachmentBanco de Dados5 - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (85 Kb) Baixado 21 vez(es)
    avatar
    Convidad
    Convidado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Convidad 1/5/2012, 16:06

    Não vi ainda teu aplicativo
    Mas olhando a instrução SeImed (), veja que está faltando um parâmetro:

    SeImed([INFPROT].[EXPORTA]= nulo ;[INFPROT].[CHNFE];XXXXXX)

    Se for nulo;faça isso;ou faça aquilo

    Ou seja, falta a parte que ele deve fazer quando não for nulo.

    Abraços
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 16:15

    Balem

    Dá o mesmo problema, ou seja, ele preenche todos os campos da tabela com os mesmos valores. Ele não está preenchendo só os campos nulos das outras tabelas. Preciso que ele preencha os campos nulos das demais tabelas com o mesmo valor do campo nulo da tabela infProt
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 16:25

    O que eu preciso é o abaixo:

    Tabela infProt

    Se o campo EXPORTA for nulo, copiar o campo chNFe para o campo chNFe nulo da tabela dest.

    Se o campo chNFe da tabela dest estiver com valor deverá permanecer o mesmo valor. Ou seja, só deverá preencher o campo chNFe da outra tabela (dest) quando vazia.
    avatar
    Convidad
    Convidado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Convidad 1/5/2012, 17:23

    Marcos

    Veja se é isso que você deseja.

    Retirei todas as tabelas que não precisava.
    Mantenha na consulta, somente as tabelas que irão fazer a atualização.
    Alterei os valores do campo chNFe, para verificar se estava atualizando.
    Desconsidere os valores no campo chNFe da tabela infProt,me confundi com as tabelas.
    Veja que só deixei uma tabela e um campo, os outros serão iguais, então é só copiar a instrução para eles.

    Abraços
    Anexos
    Consulta atualizar quando campos vazios AttachmentBanco de DadosEB.zip
    (72 Kb) Baixado 24 vez(es)
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 18:47

    Balem

    Não deu certo. O campo chNFE da tabela dest continuou em branco.
    avatar
    Convidad
    Convidado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Convidad 1/5/2012, 19:04

    Marcos

    Na realidade eu ainda não compreendi o porque copiar o campo chNFe da tabela infProt para as demais tabelas.

    Acredito que essas tabelas deveriam ter algum campo em comum para que essas atualização fossem efetivadas.

    obs.: vou ter que sair, a tardinha retorno.
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 19:16

    Balem

    Realmente não existem campos comuns para todas essas tabelas, porisso que preciso que se copie o campo chNFe da tabela intProt para terem uma chave para relacionamento.

    Esses dados são importados de um arquivo xml e não sei fazer a importação desse tipo de arquivo e porisso uso a importação automática do access. Após ser importado do xml eu tenho que criar uma consulta para copiar a chave pois ela é unica em qualquer arquivo que eu importe. Eu tendo esse campo chNFe em todas as tabelas eu posso fazer os relacionamentos que necessito para montar meus relatórios.

    O que eu vou ter que fazer é: importo um arquivo xml e explodo essa chave para todas minhas tabelas. Aí importo mais um arquivo xml e explodo essa chave. E assim sucessivamente. É por isso preciso explodir esse campo só para aqueles que ainda não tem a chave.

    Eu sei que é um trabalho penoso que vou fazer (importando um a um) mas como sou iniciante em access e essa foi a unica maneira que achei. Com certeza existem outras mais fáceis, mas por enquanto é o que consigo imaginar.

    Agradeço a sua atenção e imagino como deve ser duro ensinar access para quem sabe o básico do básico.
    avatar
    Convidad
    Convidado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Convidad 1/5/2012, 20:52

    Certo Marcos

    Antes de se fazer a atualização, a tabela dest já conter registros?

    Ou primeiro irá fazer a atualização da tabela dest para depois preencher os demais campos.
    Veja que estou trabalhando só com essas duas tabelas infProt e destino para depois verificar as outras duas tabelas.
    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 1/5/2012, 22:00

    Balem

    As tabelas ja contem registros. Porisso preciso que a explosão do campo chNFe da tabela intProt seja somente preenchido nas demais tabelas com o campo chNFe.

    Ou seja, importo, rodo a consulta e os campos ficam preenchidos com a chNFe. Quando importar novamente o campo chNFe vem vazio.Àí explodo e a consulta preenche com o chNFe. E assim sucessivamente. Com esse campo preenchido em todas tabelas eu faço o relacionamento e monto o que for necessário.

    Espero ter explicado de maneira que voce entenda.

    E novamente muito obrigado pelo esforço para me entender e me ajudar a resolver
    avatar
    Convidad
    Convidado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Convidad 1/5/2012, 22:16

    Então

    Existem 2 registros na tabela infProt e 2 na tabela desp

    Quando executo a consulta com essa linha de atualização:

    SeImed(ÉNulo([infProt].[EXPORTA]);[infProt].[chNFe];"")

    Verá que somente o ultimo registro da tabela infProt é enviado para a tabela desp.
    Eu tirei o S do campo EXPORTA da tabela infProt para ver o comportamento da consulta.
    Pelo meu entendimento, deveria ir os dois registros de infPort para a dep.
    É isso que teria que acontecer, uma vez que tirei o S da inPort, to certo?



    avatar
    msilvestri
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 17/10/2010

    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  msilvestri 2/5/2012, 11:31

    Balem

    Da maneira que foi feito, todos chNFe das demais tabelas ficaram com o ultimo numero da tabela infProt.

    O que preciso é que essa informação vá para as demais tabelas mas só dos campos que estiverem em branco. Deverá ser mantido a informação que já esta preenchida com outra chNFe.

    A chave 35120407625067000160550010000344671810000707 deverá ser mantida pois essa foi a primeira importação. Ao importar o 2o. arquivo a chave 35110205550628000850550060000067900035683304 deverá ser explodida para as demais tabelas só naqueles campos que estavam vazios. Deve manter a informação da primeira chave. E assim sucessivamente.

    Valeu pelo esforço

    Conteúdo patrocinado


    Consulta atualizar quando campos vazios Empty Re: Consulta atualizar quando campos vazios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 04:52