DUVIDA PAGAMENTOS DE PARCELAS
Boa Noite amigos,
estou com um bomba...
pois bem fiz meu projeto de faturamento com parcelas, tenho 2 Tabelas, funciona perfertinho.
Faturas, Parecela
quando eu faço uma venda parcelada ela grava nas tabelas os seguintes itens;
(na tabela Fatura)
Fatura 01 - Total = 10,00 - Parcelas 02
(na tabela Parcela)
Fatura 01 - Valor = 5,00 - Parcelas 1/1
Fatura 01 - Valor = 5,00 - Parcelas 1/2
aqui vem a dor de cabeça;
CnSql.Execute [Ô]UPDATE Cad_Parcela SET PGSN = [ô][Ô] & LBPago.Caption & [Ô][ô], DtaPago = [ô][Ô] & txtDtaPgto.Text _
& [Ô][ô], ValPago = [ô][Ô] & txtValPgto.Text & [Ô][ô], Motivo = [ô][Ô] & txtMotivo.Text & [Ô][ô] WHERE Fatura = [Ô] & txtFaturaID.Text
Ele considera as duas faturas pois o ID repete por ser Parcelas
ja tentei colocar outros campos (Parcelas 1/1) mas não aceita ??
se alguem tiver um luz eu agradeço
Abraços
Nilton
estou com um bomba...
pois bem fiz meu projeto de faturamento com parcelas, tenho 2 Tabelas, funciona perfertinho.
Faturas, Parecela
quando eu faço uma venda parcelada ela grava nas tabelas os seguintes itens;
(na tabela Fatura)
Fatura 01 - Total = 10,00 - Parcelas 02
(na tabela Parcela)
Fatura 01 - Valor = 5,00 - Parcelas 1/1
Fatura 01 - Valor = 5,00 - Parcelas 1/2
aqui vem a dor de cabeça;
CnSql.Execute [Ô]UPDATE Cad_Parcela SET PGSN = [ô][Ô] & LBPago.Caption & [Ô][ô], DtaPago = [ô][Ô] & txtDtaPgto.Text _
& [Ô][ô], ValPago = [ô][Ô] & txtValPgto.Text & [Ô][ô], Motivo = [ô][Ô] & txtMotivo.Text & [Ô][ô] WHERE Fatura = [Ô] & txtFaturaID.Text
Ele considera as duas faturas pois o ID repete por ser Parcelas
ja tentei colocar outros campos (Parcelas 1/1) mas não aceita ??
se alguem tiver um luz eu agradeço
Abraços
Nilton
Bom dia Nilton,
é por esses casos que a normalização de banco de dados, diz que você precisa incluir um campo primario em todas as tabelas, se não tiver um campo que possa ser primário, vc deve incluir um campo autonumerado. Dessa forma sua tabela Cad_Parcela seria assim:
ID Fatura Valor Parcela
1 1 5,00 1/2
2 1 5,00 2/2
Para vc atualizar um valor, vc primeiro carrega as parcelas num grid, seleciona a parcela que irá pagar e utiliza o ID para dar um UPDATE.
[c]
CnSql.Execute [Ô]UPDATE Cad_Parcela SET PGSN = [ô][Ô] & LBPago.Caption & [Ô][ô], DtaPago = [ô][Ô] & txtDtaPgto.Text _
& [Ô][ô], ValPago = [ô][Ô] & txtValPgto.Text & [Ô][ô], Motivo = [ô][Ô] & txtMotivo.Text & [Ô][ô] WHERE ID = [Ô] & txtID.Text
[c]
DIca, esta tabela não estaria faltando mais alguns campos, como DataVencto, DataPgto, ValorPago, JuroPago, etc ??
é por esses casos que a normalização de banco de dados, diz que você precisa incluir um campo primario em todas as tabelas, se não tiver um campo que possa ser primário, vc deve incluir um campo autonumerado. Dessa forma sua tabela Cad_Parcela seria assim:
ID Fatura Valor Parcela
1 1 5,00 1/2
2 1 5,00 2/2
Para vc atualizar um valor, vc primeiro carrega as parcelas num grid, seleciona a parcela que irá pagar e utiliza o ID para dar um UPDATE.
[c]
CnSql.Execute [Ô]UPDATE Cad_Parcela SET PGSN = [ô][Ô] & LBPago.Caption & [Ô][ô], DtaPago = [ô][Ô] & txtDtaPgto.Text _
& [Ô][ô], ValPago = [ô][Ô] & txtValPgto.Text & [Ô][ô], Motivo = [ô][Ô] & txtMotivo.Text & [Ô][ô] WHERE ID = [Ô] & txtID.Text
[c]
DIca, esta tabela não estaria faltando mais alguns campos, como DataVencto, DataPgto, ValorPago, JuroPago, etc ??
Tem mais itens sim
tb pensei nisso sobre auto numerar, vou ter que ver melhor pois as parcelas sao geradas automaticamente
apos o valor da campra...
tb pensei nisso sobre auto numerar, vou ter que ver melhor pois as parcelas sao geradas automaticamente
apos o valor da campra...
Certo, são geradas automaticamente,mas são com vencimentos diferentes afinal são parcelas.
Ponha a data de vencimento como fator diferencial (yyyymmdd).
Ponha a data de vencimento como fator diferencial (yyyymmdd).
VELDRAME, para colocar a data de vencimento como diferencial, ela poderia coincidir com os vencimentos de outra fatura, nesse caso vc precisaria fazer um WHERE com dois campos. Utilizando um ID autonumerado, vc só fará um WHERE mais simples.
Bem o Projeto esta funcionando normal com os vencimentos tudo OK
a unica duvida é na baixa de uma parcela que esta pegando todas que contem o mesmo numero
Vou fazer um teste pra ver sew funciona do amigo
WHERE Fatura = [Ô] & txtFaturaID.Text and [Ô]PARCEA[Ô] = XXXXXXX
Teria que ficar assim:
FaturaID 01 Pararcela 1/1 = 30,00 <-- Alterar apenes essa
FaturaID 01 Pararcela 1/2 = 30,00
FaturaID 01 Pararcela 1/3 = 30,00
Grato
a unica duvida é na baixa de uma parcela que esta pegando todas que contem o mesmo numero
Vou fazer um teste pra ver sew funciona do amigo
WHERE Fatura = [Ô] & txtFaturaID.Text and [Ô]PARCEA[Ô] = XXXXXXX
Teria que ficar assim:
FaturaID 01 Pararcela 1/1 = 30,00 <-- Alterar apenes essa
FaturaID 01 Pararcela 1/2 = 30,00
FaturaID 01 Pararcela 1/3 = 30,00
Grato
Tópico encerrado , respostas não são mais permitidas