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

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Anderson Catarino 7/11/2017, 10:52

    Bom dia. Desde já desculpa pelo tamanho da mensagem, pois é difícil explicar por poucas palavras.
    Tenho um formulário para controlo de testes laboratoriais.
    O meu problema de momento é ao adicionar novo registo, ele duplica e isso deve se (julgo eu) ao ter no botão novo um DoCmd.GoToRecord , , acNewRec e no botão gravar um Insert Into. Coloquei o Insert Into porque quando fazia gravar, gravava os dados e aparecia numa listbox, mas não aparecia todos os valores, só quando saia e entrava no formulário novamente que os dados já apareciam todos.
    Os campos "principais" (Mas todos devem estar preenchidos) são: Denier e Amostras, ao carregar botão calcular, o programa calcula alguns parâmetros (Média, Amplitude, Zona).
    As vezes no primeiro clique no botão calcular aparece  a Amplitude negativa, o que é impossível (só trabalho com números positivos), mas ao fazer duplo clique já fica direito.
    Quando gravo e aparece as duas linhas uma está relacionada com o primeiro clique no calcular, saio e entro do formulário e já fica tudo correcto.
    Vou deixar a minha bd, pois só testando e analisando o código pode ser possível chegar ao erro.
    Formulário - frmCartaControlo
    bd - CartaControlo
    Basicamente o que eu preciso é adicionar registo e aparecer na listbox.
    Anexos
    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO AttachmentCarta Controlo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (759 Kb) Baixado 11 vez(es)
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 12:30

    Olá, o problema da Duplicação ocorre, pois está utilizando formulario vinculado na tabela, ou seja: Quando vai inserindo os dados, ele ja está sendo salvo na tabela... Então, quando clica no Botão Guardar, ele envia novamente o mesmo Registro para a Tabela, o que torna duplicidade.

    O Comando responsável por fazer aparecer o Registro da Caixa de Listagem é: Me.Lista.Requery

    Dessa forma, deve Remover o INSERT... e deixar o Me.Lista.Requery no Botão gravar para fazer aparecer o Item lançado na Caixa de Listagem!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Anderson Catarino 7/11/2017, 14:09

    Boas FabioPaes.
    Eu inicialmente não tinha o Insert Into, depois inclui para ver se ao gravar os dados aparecia toda a informação na listbox, pois utilizando formulário vinculado ao fazer gravar para actualizar a caixa de listagem com o me.lista.requery não aparece. Tenho 26 campos na tabela CartaControlo, mas ao fazer gravar não aparece os últimos 6 campos na caixa de listagem.
    Não estou a compreender o porque, tens alguma ideia/sugestão para resolver isso?
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 15:13

    Olá amigo, nao aparecem todos os 26 campos porque você especificou a Largura de Campo como zero, veja:
    1,297cm;2,448cm;1,704cm;3,508cm;1,657cm;1,704cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;1,623cm;0cm;0cm;0cm;1,68cm;1,678cm;1,748cm;1,916cm;3,812cm;2,498cm;2,817cm

    Removendo essa Especificação (ou adeque os tamanhos), e o Insert, o insere uma vez, e na ListBox aparecem os 26 Campos.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Anderson Catarino 7/11/2017, 15:55

    A parte que referes-te a largura de campo como zero, está correcto.
    Eu no Sub Form_Load faço: Select * From CartaControlo
    Defini na caixa de listagem 26 colunas e carrego as 26 colunas mas não quero mostrar todos os dados, só carrego pq ao fazer duplo click numa linha da caixa de listagem ela carrega nas caixas de texto indicadas, para posteriormente editar ou eliminar.
    Eu só quero mostrar na caixa de listagem as colunas que tem o cabeçalho a cima.

    codregisto 1,297 cm
    nop 2,448 cm
    maquina 1,704 cm
    Produto 3,508 cm
    Cor 1,657 cm
    Denier 1,704 cm
    Tenacidade 0 cm
    Dataop 0 cm
    denier1 0 cm
    denier2 0 cm
    denier3 0 cm
    denier4 0 cm
    denier5 0 cm
    denier6 0 cm
    obs1 0 cm
    Media/x 1,623 cm
    x/den 0 cm
    amplitude/x 0 cm
    r/den 0 cm
    Zona 1,68 cm
    forcarotura 1,678 cm
    Alongamento 1,748 cm
    Tenacidade_real 1,916 cm
    obs2 3,812 cm
    Data 2,498 cm
    Assinatura 2,817 cm
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 15:57

    Certo...
    Se são esses os campos que nao aparecem, aqui no meu aparecem normalmente...
    forcarotura 1,678 cm
    Alongamento 1,748 cm
    Tenacidade_real 1,916 cm
    obs2 3,812 cm
    Data 2,498 cm
    Assinatura 2,817 cm


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Anderson Catarino 7/11/2017, 16:11

    No meu aparece as 8 primeiras colunas, as ultimas 6 não.
    Ao fazer novo registo ou sair e entrar no formulario já aparecem todas mas isso não faz sentido.
    Estas a dizer que quando fazes gravar na caixa de listagem aparece todas as colunas preenchidas?

    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 17:03

    Estas a dizer que quando fazes gravar na caixa de listagem aparece todas as colunas preenchidas?
    SIM
    Aparecem todas as com tamanho maior q 0


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 17:09

    Coloque o Comando SaveRecord Antes do Requery para ver se Resolve:


    DoCmd.RunCommand acCmdSaveRecord
    Me.Lista.Requery


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Anderson Catarino 7/11/2017, 17:40

    Resolveu, agora aparece todos os registos na caixa de listagem.
    Sinceramente esse formulário está a dar me dor de cabeça, mas pronto essa parte está resolvida.
    Obrigado.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  FabioPaes 7/11/2017, 19:20

    Grato pelo Retorno e até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO Empty Re: [Resolvido]DoCmd.GoToRecord , , acNewRec e INSERT INTO

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 00:53