Fórum Inserir dados em tabela atraves do DBGrid #356583
04/04/2008
0
o id da tabela mestre eu armazeno numa variavel global chamada idAmostra
eu gostaria que quando o usuário estivesse inserindo um novo dado nessa tabela detalhe por meio do DBGrid, que automaticamente fosse atribuido a variavel idAmostra no campo idAmostra da tabela...
estou usando o delphi 2007 + dbExpress + firebird 2.0
alguem saberia como fazer isso?
abraços a todos!
Mahdak
Curtir tópico
+ 0Posts
04/04/2008
Mahdak
if DM.cdsAmostras01.State = dsInsert then begin DM.cdsAmostras01ID_AMOSTRA.AsInteger := StrToInt(idAmostra); end;
nao sei se esse é o melhor procedimento a ser usado, por isso se alguem tiver alguma sugestão, por favor poste aqui.
obrigado a todos!
Gostei + 0
04/04/2008
Catunda
Lá não precisa testar se está em modo de inclusão. Apenas coloque a linha abaixo dentro do evento.
DM.cdsAmostras01ID_AMOSTRA.AsInteger := StrToInt(idAmostra);
Da maneira que está no colenter do dbgrid, ele vai atribuir o valor cada vez que vc mudar de coluna durante a inclusão do registro.
Gostei + 0
14/04/2008
Mahdak
se eu fizer isso no evento OnNewRecord do ClientDataSet, o valor que foi inserido no ultimo registro, se repete no proximo. eu precisaria que ao escolher o registro no combobox do dbgrid, seja inserido no mesmo o valor recuperado da tabela relacionada ao lookup. nao sei qual o evento mais apropriado para fazer isso...
atualmente fasso assim:
procedure TDM.cdsClassf02NewRecord(DataSet: TDataSet); begin cdsClassf02ID_CLASSF01.AsInteger := StrToInt(frmCadClassificacao.idClassificacao); // insere o ID cdsClassf02LIMITE.AsString := DM.cdsRAnF_LIMITE_MAXIMO.AsString; //aqui os valores se repetem quando insiro um novo registro end; end;
obrigado pela atençao!
um forte abraço!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)