Fórum Controlar Inserção #260537
30/11/2004
0
Tenho uma tabela T_Oservico e outra T_Parcelas.
a tabela T_Oservico tem um campo ´NumParcelas´.
O que eu quero saber é como fazer para que quando fosse inserir as parcelas na tabela T_Parcelas ela so aceitasse a inserção do numero de
parcelas correspondende ao que foi gravado na tabela T_OservicoNumParcelas.
Tipo: T_OservicoNumParcelas = 2
T_Parcela so gravasse 2 registros. Na tentativa de gravar um terceiro registro seria exibida uma menssagem de erro.
Agradeço a quem puder ajudar-me.
a tabela T_Oservico tem um campo ´NumParcelas´.
O que eu quero saber é como fazer para que quando fosse inserir as parcelas na tabela T_Parcelas ela so aceitasse a inserção do numero de
parcelas correspondende ao que foi gravado na tabela T_OservicoNumParcelas.
Tipo: T_OservicoNumParcelas = 2
T_Parcela so gravasse 2 registros. Na tentativa de gravar um terceiro registro seria exibida uma menssagem de erro.
Agradeço a quem puder ajudar-me.
Jose
Curtir tópico
+ 0
Responder
Posts
01/12/2004
Objetivacreator
Caro amigo
Eu naum entendi muito a sua pergunta, pois fiz a algum tempo um sistema de emissão de carne com vendas e escrevi este pequeno código para gravar as parcelas geradas no banco de dados das parcelas.
var
i : Integer
begin
For i := 1 to Dm.TbOrdemServico[NumParcelas].value do
Begin
Dm.TbParcelas.Insert;
Dm.TbParcelas.FieldByName(´CodCliente´´).asInteger := DblookupComboBox1.KeyValue;
Dm.TbParcelas.FieldByName(´Nome´).AsString := DbEdit1.Text;
Dm.TbParcelas.FieldByName(´Parcela´).AsInteger := i;
Dm.TbParcelas.FieldByName(´Valor´).AsFloat := StrToFloat(DbEdit2.text);
Dm.TbParcelas.Post;
End;
end;
Não costumo usar mais tipo paradox, hoje só utilizo Firebird, caso esteja utilizando-o algumas pequenas mudanças são necessárias.
Espero ter ajudado.
´O conhecimento humando pertence ao mundo !´
Objetiva Creator
Eu naum entendi muito a sua pergunta, pois fiz a algum tempo um sistema de emissão de carne com vendas e escrevi este pequeno código para gravar as parcelas geradas no banco de dados das parcelas.
var
i : Integer
begin
For i := 1 to Dm.TbOrdemServico[NumParcelas].value do
Begin
Dm.TbParcelas.Insert;
Dm.TbParcelas.FieldByName(´CodCliente´´).asInteger := DblookupComboBox1.KeyValue;
Dm.TbParcelas.FieldByName(´Nome´).AsString := DbEdit1.Text;
Dm.TbParcelas.FieldByName(´Parcela´).AsInteger := i;
Dm.TbParcelas.FieldByName(´Valor´).AsFloat := StrToFloat(DbEdit2.text);
Dm.TbParcelas.Post;
End;
end;
Não costumo usar mais tipo paradox, hoje só utilizo Firebird, caso esteja utilizando-o algumas pequenas mudanças são necessárias.
Espero ter ajudado.
´O conhecimento humando pertence ao mundo !´
Objetiva Creator
Responder
Gostei + 0
01/12/2004
Rômulo Barros
Tenho uma tabela T_Oservico e outra T_Parcelas.
a tabela T_Oservico tem um campo ´NumParcelas´.
O que eu quero saber é como fazer para que quando fosse inserir as parcelas na tabela T_Parcelas ela so aceitasse a inserção do numero de
parcelas correspondende ao que foi gravado na tabela T_OservicoNumParcelas.
Tipo: T_OservicoNumParcelas = 2
T_Parcela so gravasse 2 registros. Na tentativa de gravar um terceiro registro seria exibida uma menssagem de erro.
Agradeço a quem puder ajudar-me.
Neste caso, colega, eu deixaria o usuário inserir a quantidade de parcelas que ele queira, entretanto, ao final da inserção das parcelas, eu executaria um Update na tabela TO_Servico. Ex:
[color=green:1911424ba4][b:1911424ba4]Vamos supor que ele inseriu 10 parcelas. Então:[/b:1911424ba4][/color:1911424ba4]
Update TO_Servico Set NumParcelas = QuantidadeDeParcelasInseridas Where CodigoServico = CodigoDaTabelaTO_Servico
Deu pra entender? :wink: :wink:
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)