controle de taloes de passagem
Galera estou com um problema de verificação de consistencia e queria uma idéia de vcs!!
tenho uma tabela taloes.. que tem os seguinte campos..
EX. de cadastro de talões
Serie Numtalao vlPassagem faixaIni faixafin Sit CodMotorista
A1 1 1,20 1 100 ABERTO 1
A1 2 1,20 101 200 ABERTO 2
A1 3 1,20 201 300 ABERTO 5
B1 1 1,70 1 50 ABERTO 1
B1 2 1,70 51 100 ABERTO 2
C1 1 2,20 1 100 ABERTO 1
ou seja, cada motorista pega vários talões de preços(séries) diferentes..
tenho que verificar o seguinte.
na entrada do movimento.eu entro o que foi vendido ex.
Serie ValorPassagem Inicial Final Pagantes Total
A1 1,20 1 15 15 18,00
B1 1,70 1 5 5 8,50
-> se o número que estou entrando já foi usado..
-> qdo usar todos os numeros do talao mudar a situação para fechado
-> Verificar se o numero que estou vendendo é realmente o que está com o motorista..
tô fazendo uma bagunça mto grande aqui..
talvez alguem tenha uma idéia de como fazer..
obrigado
tenho uma tabela taloes.. que tem os seguinte campos..
EX. de cadastro de talões
Serie Numtalao vlPassagem faixaIni faixafin Sit CodMotorista
A1 1 1,20 1 100 ABERTO 1
A1 2 1,20 101 200 ABERTO 2
A1 3 1,20 201 300 ABERTO 5
B1 1 1,70 1 50 ABERTO 1
B1 2 1,70 51 100 ABERTO 2
C1 1 2,20 1 100 ABERTO 1
ou seja, cada motorista pega vários talões de preços(séries) diferentes..
tenho que verificar o seguinte.
na entrada do movimento.eu entro o que foi vendido ex.
Serie ValorPassagem Inicial Final Pagantes Total
A1 1,20 1 15 15 18,00
B1 1,70 1 5 5 8,50
-> se o número que estou entrando já foi usado..
-> qdo usar todos os numeros do talao mudar a situação para fechado
-> Verificar se o numero que estou vendendo é realmente o que está com o motorista..
tô fazendo uma bagunça mto grande aqui..
talvez alguem tenha uma idéia de como fazer..
obrigado
Eric.miranda
Curtidas 0
Respostas
Jonas_giron
09/05/2006
por que vc não passa um select para contar esses registros ex:
// contar os registros
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select count(serie) as quantia_registro from entrada_movimento´);
qr_conta.sql.add(´where serie =:cod_serie´);
qr_conta.parambyname(´cod_serie´).value := ´A1´;
qr_conta.open;
assim ele vai te trazer a quantia de cada serie que vc estiver informando
podendo conferir, se os talões tiverem 100 folhas com a select acima voce pode confrontar os resultados.
//verificar se existe o registro
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select count(serie) as quantia_registro from entrada_movimento´);
qr_conta.sql.add(´where serie =:cod_serie and ValorPassagem =:val_passagem and Inicial =:val_inicial and Final =:val_final and Pagantes =:val_pagantes and Total =:val_total´);
qr_conta.parambyname(´cod_serie´).value := ´A1´;
qr_conta.parambyname(´val_passagem´).value := ´2,30´;
qr_conta.parambyname(´val_inicial´).value := ´1´;
qr_conta.parambyname(´val_final´).value := ´60´;
qr_conta.parambyname(´val_total´).value := ´120´;
qr_conta.open;
if qr_conta.fieldbyname(´quantia_registro´).value > 0 then begin
showmessage(´já Exixte um registro com esses dados´);
exit;
end;
// ver se este talão é do motorista
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select (serie) as id_talao from cadastro_taloes´);
qr_conta.sql.add(´where codmotorista =:cod_motorista´);
qr_conta.parambyname(´cod_motorista´).value := ´1´;
qr_conta.open;
if qr_conta.fieldbyname(´id_talao´).value <> A1 then begin
showmessage(´este Talão não faz parte deste motorista´);
exit;
end;
// contar os registros
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select count(serie) as quantia_registro from entrada_movimento´);
qr_conta.sql.add(´where serie =:cod_serie´);
qr_conta.parambyname(´cod_serie´).value := ´A1´;
qr_conta.open;
assim ele vai te trazer a quantia de cada serie que vc estiver informando
podendo conferir, se os talões tiverem 100 folhas com a select acima voce pode confrontar os resultados.
//verificar se existe o registro
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select count(serie) as quantia_registro from entrada_movimento´);
qr_conta.sql.add(´where serie =:cod_serie and ValorPassagem =:val_passagem and Inicial =:val_inicial and Final =:val_final and Pagantes =:val_pagantes and Total =:val_total´);
qr_conta.parambyname(´cod_serie´).value := ´A1´;
qr_conta.parambyname(´val_passagem´).value := ´2,30´;
qr_conta.parambyname(´val_inicial´).value := ´1´;
qr_conta.parambyname(´val_final´).value := ´60´;
qr_conta.parambyname(´val_total´).value := ´120´;
qr_conta.open;
if qr_conta.fieldbyname(´quantia_registro´).value > 0 then begin
showmessage(´já Exixte um registro com esses dados´);
exit;
end;
// ver se este talão é do motorista
qr_conta.close;
qr_conta.sql.clear;
qr_conta.sql.add(´select (serie) as id_talao from cadastro_taloes´);
qr_conta.sql.add(´where codmotorista =:cod_motorista´);
qr_conta.parambyname(´cod_motorista´).value := ´1´;
qr_conta.open;
if qr_conta.fieldbyname(´id_talao´).value <> A1 then begin
showmessage(´este Talão não faz parte deste motorista´);
exit;
end;
GOSTEI 0