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

    [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Compartilhe

    Killerz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Mensagem  Killerz em Sex 07 Fev 2014, 11:28

    Pessoal, bom dia, tudo bem?

    Estou com o seguinte problema dessa vez, acho que é probleminha bobo... Mas aquele que nós nunca enxerga... Vamos lá.

    Quero guardar um histórico do que acontece com um aluno. Quando falta, quando está presente, porque faltou, etc. Para isso criei uma tabela simples, chamada Historico, contendo os campos Historico_Cod como chave primária. Historico_Cod_Aluno como chave estrangeira (essa vem da tabela "Alunos", o relacionamento foi feito entre as duas tabelas)  Historico_Data para guardar a data da falta. Historico_Situacao Para guardar o motivo da falta e, por fim, Historico_Observacao que seu nome já diz sua função.

    Sendo assim, criei um botão apenas para teste, fazendo a primeira entrada de dados na tabela.

    Código:

    Dim parametroCodigo as Integer
    parametroCodigo = 130 'Na tabela aluno existe um aluno com o codigo 130

    Dim dataFalta as Date
    dataFalta = "17/01/2014" 'inventei uma data só para teste

    Dim TBPrimeiroHistorico As Recordset
            Set TBPrimeiroHistorico = CurrentDb.OpenRecordset("SELECT Historico_Cod_Aluno, Historico_Data, Historico_Situacao, Historico_Observacao FROM Historico", dbOpenDynaset)
            
            TBPrimeiroHistorico.AddNew
            
            TBPrimeiroHistorico("Historico_Cod_Afast") = parametroCodigo
            TBPrimeiroHistorico("Historico_Data") = dataFalta
            TBPrimeiroHistorico("Historico_Situacao") = "Falta"
            TBPrimeiroHistorico("Historico_Observacao") = Empty
            TBPrimeiroHistorico.Update
            TBPrimeiroHistorico.Close

    Porém na linha do "TBPrimeiroHistorico.Update", da um erro dizendo que não é possível a inclusão porque precisa de um registro relacionado na tabela Aluno... E não faço idéia de como identificar que o "parametroCodigo" é um registro da tabela aluno... Alguém? Agradeço desde já.

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Mensagem  Cláudio Más em Sex 07 Fev 2014, 12:45

    Bom dia,

    Você indica que parametroCodigo = 130 se refere ao código de um aluno, mas depois atribui esse valor ao campo Historico_Cod_Afast.
    O erro não estaria aí? Ou Historico_Cod_Afast também se refere ao código de aluno?

    Killerz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    Re: [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Mensagem  Killerz em Sex 07 Fev 2014, 13:19

    Bom dia Cláudio.

    Essa parte esta correta. parametroCodigo é uma variável global que uso para pegar o código de um campo de texto de outro formulário. E nesse botão quero inserir esse valor (de parametroCodigo) em minha tabela Histórico (visto que esse campo de texto já puxa o valor da tabela aluno). Historico_Cod_Afast se refere ao código do aluno, como uma chave estrangeira.

    Consegui resolver esse problema usando o código direto da tabela... ou seja

    Código:
    TBPrimeiroHistorico("Historico_Cod_Afast") = TBAluno("cod_aluno")

    Mas não entendo porque utilizando a variável dá problema... Dependendo do procedimento, posso acabar mudando a TBAluno("cod_aluno") para um próximo registro e etc, por isso queria que puxasse dessa variável que usei só pra isso, sem riscos de mudar.

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Mensagem  Cláudio Más em Sex 07 Fev 2014, 13:32

    da um erro dizendo que não é possível a inclusão porque precisa de um registro relacionado na tabela Aluno

    Tem certeza que existe o código 130 na tabela Aluno?

    Nesse caso, só com uma cópia do banco de dados para análise, se puder enviar.

    Killerz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    Re: [Resolvido]Erro 3201 (registro relacionado em outra tabela)

    Mensagem  Killerz em Sex 14 Fev 2014, 12:06

    Bom dia Cláudio! Peço desculpas pela demora, tive vários problemas em outros sistemas e deixei afastado esse. Por fim para Solucionar estou pegando de um outro recordset como já exemplifiquei no post acima, acabei desistindo de puxar da variável, só não entendi porque dela não puxou... Enfim, caso resolvido digamos que a força bruta, mas resolvido. Obrigado!

      Data/hora atual: Sab 10 Dez 2016, 06:51