Pois bem meus amigos, a dúvida é exatamente essa do título!
Quando vou gravar dados que envolva mais de uma tabela, uso transações para
garantir a integridade dos dados gravados.
Mas trabalhando com formulários acoplados e contendo subformulários, vejamos a situação a seguir:
Tenho um formulário A e nesse formulário, tenho um subformulário B.
Preciso garantir que os dados do formulário A só sejam gravados caso
existam dados no subformulário B.
Imagine que o usuário inicie um novo registro no formulário A e quando ele
entrar no subformulário B, os dados do formulário A já serão gravados no
banco (padrão do Access). Pois bem, o usuário não inclui os dados no subformulário B e simplesmente
fecha o formulário ficando assim um registro pai sem seus registros filhos. Como contornar essa situação?
Para tentar resolver, pensei em usar transações, mas não consegui faze-las funcionar em registros acoplados.
Tentei algo do tipo:
Me.CurrentRecord.BeginTrans
Mas sem sucesso...
Alguma sugestão sem que tenha que recorrer ao desacoplamento para resolver esse impasse?
Grato.
Quando vou gravar dados que envolva mais de uma tabela, uso transações para
garantir a integridade dos dados gravados.
Mas trabalhando com formulários acoplados e contendo subformulários, vejamos a situação a seguir:
Tenho um formulário A e nesse formulário, tenho um subformulário B.
Preciso garantir que os dados do formulário A só sejam gravados caso
existam dados no subformulário B.
Imagine que o usuário inicie um novo registro no formulário A e quando ele
entrar no subformulário B, os dados do formulário A já serão gravados no
banco (padrão do Access). Pois bem, o usuário não inclui os dados no subformulário B e simplesmente
fecha o formulário ficando assim um registro pai sem seus registros filhos. Como contornar essa situação?
Para tentar resolver, pensei em usar transações, mas não consegui faze-las funcionar em registros acoplados.
Tentei algo do tipo:
Me.CurrentRecord.BeginTrans
Mas sem sucesso...
Alguma sugestão sem que tenha que recorrer ao desacoplamento para resolver esse impasse?
Grato.