Fórum controle de taloes de passagem #320998

09/05/2006

0

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


Eric.miranda

Eric.miranda

Responder

Posts

10/05/2006

Jonas_giron

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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar