Ir para conteúdo
Fórum Script Brasil
  • 0

Não Aceita Dois Registros


Vivendo&Aprendendo

Pergunta

Galera tenho duas tabelas uma de membros e a outra de cursos todas ligadas ao mesmo form, onde devo cadastrar o membro e todos os cursos q esse determinado membro já fez... o erro é o seguinte se eu adicionar somente um curso ele aceita beleza mas se tento adicionar mais de um curso ele da erro.

o erro é o seguinte:

Não é possível adicionar ou alterar registros, pois é preciso que eles tenham um registro ralacionado na tabela membros.
Estou usando o comando APPEND e POST. E para aidicionar mais de um cursos estou usando os seguintes comandos:
 If Application.MessageBox('Deseja adicionar mais registros?','Alerta',MB_YESNO)=6 then
 begin
   DmDados.Cursos.Post;
   DmDados.Cursos.Append;
   DmDados.CursosRgMembro.Value := DmDados.MembrosRg.Value;
   EdtCursos.SetFocus;
 end
 else
   DmDados.Cursos.Post;

Por favor me ajudem...

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O relacionamento estabelecido está dizendo que registros da tabela Cursos devem, obrigatoriamente, ter registros referentes na tabela Membros. Dê uma verificada se o relacionamento é mesmo este. E, "post" não deveria ser usado *depois* de "append"? Você pode estar recebendo esse erro só da segunda vez porque é justamente nessa hora que ele efetiva a gravação (com o "post", se não estou enganado).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

cara eu entendi o que você quis dizer, mas nesse caso a estrutura não esta correta? esses comandos estão no OnExit do edit, ou seja, quando o usuário tirar o foco do edit ele pergunta se deseja incluir mais cursos, caso sim ele salva o que já esta no edit e abre outro registro se não ele só salva o que já esta no edit.

Na sua opinião qual seria a melhor forma de fazer essa estrutura?

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, tá. Então está correto mesmo o jeito que você fez. É só que eu não estava conseguindo visualizar isso dessa maneira. Todavia, como está a multiplicidade do relacionamento que você fez entre Cursos e Membros? Acho que o problema pode estar aí.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

O relacionamente q fiz no access esta um para muitos de membros para cursos e no delphi estou usando um adoquery para membros e outro para cusos e um ado conecta via master source para mostrar no grid somente os cursos do determinado membro.

a sql esta normal Select * from membros.

select * From cursos

....

Me da uma idéia de como posso fazer isso de outra forma.

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Já experimentou cadastrar manualmente (sem ser pelo seu programa) com esse relacionamento e viu se dá realmente certo?

Num esquema assim eu faria dessa maneira: o usuário preencheria os dados do membro e então haveria uma listbox (ou até um grid) para incluir os cursos do sujeito. Daí, enquanto o usuário estivesse definindo os cursos eu não deixaria que ocorressem alterações em nenhuma tabela (sim, seria tudo desconectado de datasources). Ao final de tudo, estando todas os cursos definidos para aquele membro, haveria um botão de confirmação. Nesse botão é que ocorreriam todas as gravações nas tabelas: o membro seria cadastrado e logo em seguida todos os cursos referentes a ele seriam cadastrados. Ou seja, seria uma operação atômica: tudo de uma vez só. Sacou? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
beleza entendi o que você disse, mas como faço para o usuário digitar os cursos no grid e quando chegar no final, ou seja, no ultimo campo e tiver mais cursos ele der um enter e o grid criar outra linha em baixo já com o foco nela?

Em geral eu não permito a edição direta na grid, mas sim via textboxes (edits) sendo os valores destas incluídas na grid (através de um botão). Você usa a StringGrid?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...