MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Gravação de dados em tabelas através de um formulário

    Compartilhe

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Dom 21 Fev 2016, 20:48

    Pessoal, gostaria de ajuda com um banco de dados que estou criando.

    Tenho uma tabela com alguns cadastros que já importei de uma planilha em excel, mas criei um formulário que será utilizado para cadastrar os dadoes nesta mesma tabela, conforme os dados forem sendo atualizados. Mas o botão de salvar dados não consegue enxergar que já cadastrei os dados na tabela. Sempre que incluo um dados novo pelo formulário ele apenas substitui os dados que já havia gravado na primeira linha da tabela e caso cadastre um outro novo dado, ele substitui novamente e não passando para a segunda linha.
    Já tentei colocar uma programação em vba que vi no youtube, mas está dando erro.

    Alguém poderia me ajudar?
    Caso não tenha sido clara, me falem

    Nogaro513
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 455
    Registrado : 12/08/2013

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Nogaro513 em Dom 21 Fev 2016, 20:58

    boa tarde Amanda, poste seu aplicativo ( Bd ) para que possamos te ajudar!
    Nogaro !

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Seg 22 Fev 2016, 11:23

    Nogaro513, obrigada por me responder!!
    Mas, posso explicar como está funcionando meu sistema, mas não posso enviar o arquivo, infelizmente! Pois é um banco de dados do trabalho e já tem todas as informações dos funcionários lá.

    Mas será que poderia explicar para ver se vc pode me ajudar??

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Seg 22 Fev 2016, 12:29

    Olá,

    Ao criar botões em formulários, o assistente de botão de comando facilita bastante o processo.
    Sugiro criar os botões disponíveis na categoria "Operações de registro", exceto talvez "Duplicar" e "Imprimir registro".

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Ter 23 Fev 2016, 14:13

    Bom dia Cláudio Más,

    Então, foi o que eu fiz, inclui o botão no formulário para salvar os dados e não está atualizando as informações na tabela.
    O que o programa está fazendo é incluindo apenas na primeira linha da tabela, se cadastro novos dados ele apenas substitui os dados em cima do que já havia cadastrado, não passando para a linha 2.

    Vi uma programação em vba para o Access no youtube para que o programa pegasse o último número cadastrado e somente somasse mais 1 para cadastrar na linha abaixo, mas não está funcionando. E não sei como fazer dessa forma.

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Ter 23 Fev 2016, 14:29

    Bom dia Amanda,

    Você incluiu o botão "Adicionar novo registro"?
    Este botão força a entrada de dados em uma nova linha, preservando o registro atual.

    Então, sempre antes de começar a entrar novos dados, deve clicar nesse botão.
    Tentou assim?

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Ter 23 Fev 2016, 14:53

    Cláudio,

    Incluí sim...e mesmo clicando neste botão antes de inserir novos dados, os dados não são registrados na tabela.

    Se eu te enviar a programação em vba, você acha que consegue me ajudar a identificar o erro?

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Ter 23 Fev 2016, 14:59

    Talvez sim, pode enviar.
    Mas o problema pode não estar relacionado à programação vba.

    Já que não pode enviar o arquivo, uma opção é o acesso remoto (teamviewer), se não conseguir resolver pela programação.

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Ter 23 Fev 2016, 16:25

    Claudio, a programação é essa:

    Modulo

    Option Compare Database

    Public Comando As String 'variável onde serão colocados os comandos em SQL, como insert, update e select
    Public banco As Database 'variável que irá fazer a conexão entre a aplicação e o banco de dados
    Public dataset As Recordset 'variável onde serão passados comandos em SQL do tipo select, que vão preencher e colocar os dados em uma tabela específica na memória ram

    Function Conecta()
    Set banco = CurrentDb 'currentDb significa que o banco de dados utilizado é o do próprio access

    End Function

    Function valida_selecao()
    Set dataset = banco.OpenRecordset(Comando, dbOpenDynaset)

    End Function

    Formulário

    Option Compare Database
    Public NumCog As Integer 'variável que irá guardar o código gerado no método GerarCod
    Private Sub CmdCadastrar_Click()
    GerarCod 'chama a função criada
    Comando = "INSERT INTO TreinamentosRealizados (ID, Treinamento, Data Realizada, Matrícula, Validade) VALUES (" & NumCod & ", " & CmdTreinamento & ", " & CmdDataRealizada & ", " & CmdMatricula & ", " & CmdValidade & ")"
    banco.Execute (Comando) 'executar a função criada acima
    MsgBox ("Os dados foram cadastrados com sucesso!"), vbInformation + vbOKOnly, "Cadastro"
    End Sub

    Private Sub Form_Load()
    Conecta 'chama a função de conexão, já criada. Esta função precisa ser criada sempre que abre um formulário para realizar o cadastro de dados
    End Sub

    Sub GerarCod()
    Comando = "Select * from TreinamentosRealizados order by [ID]" 'seleciona os campos em ordem decrescente
    valida_selecao 'chama a função criada para executar o código acima
    If dataset.BOF = True Then
    NumCod = 1 'o primeiro código criado será igual a 1
    Else
    NumCod = dataset("ID") + 1 'pega o último código e adicona 1
    End If

    End Sub

    Sub Limpar()
    CmdTreinamento = Empty
    CmdDataRealizada = Empty
    CmdMatricula = Empty
    CmdValidade = Empty
    End Sub


    Cada hora que consigo ajustar um erro, aparece outro
    principalmente na função : NumCod = dataset("ID") + 1

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Ter 23 Fev 2016, 17:26

    Essa programação é a que você achou no youtube?
    Parece que se aplica a formulários não acoplados.

    Já tentou utilizar o assistente de formulário para criar um formulário baseado na tabela que importou do excel?
    Nesse caso, os botões que sugeri anteriormente deverão funcionar nesse novo formulário, sem necessidade da programação que enviou.

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Ter 23 Fev 2016, 17:45

    Já sim!
    Até criei um novo agora depois que você falou só para ter certeza.
    Mas continua dando o mesmo problema. O sistema atualiza somente na primeira linha e não na linha abaixo dos registros já feitos.

    Essa programação está associada ao botão de salvar registro, dentro do primeiro formulário que criei, pois queria que ele entendesse que era para pegar a última linha e acrescentar mais 1 e salvar na última msm.

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Ter 23 Fev 2016, 18:12

    Amanda, desculpe mas chegou num ponto que só tendo acesso ao arquivo para tentar resolver.
    Pode ser algo até simples, mas sem ver o programa, pode levar muito tempo e não chegar a uma solução.

    Amandalmeida
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/12/2015

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Amandalmeida em Qui 25 Fev 2016, 16:05

    Claudio, de qualquer forma, obrigada!
    Estou vendo uma forma de conseguir enviar o sistema sem que tenham os dados cadastrados do jeito que está.

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1095
    Registrado : 21/01/2012

    Re: Gravação de dados em tabelas através de um formulário

    Mensagem  Cláudio Más em Sex 26 Fev 2016, 12:08

    Amanda,

    Faz uma cópia do sistema, e nessa cópia exclui todos os registros de todas as tabelas.

      Data/hora atual: Ter 06 Dez 2016, 05:46