Ver Mensaje Individual
  #1  
Antiguo 24-07-2012
CoCaInE CoCaInE is offline
Miembro
 
Registrado: nov 2005
Posts: 66
Reputación: 19
CoCaInE Va por buen camino
Consulta dinamica

Buenas estoy trabajando en un sistema de loteria estoy tratando de hacer una consulta dinamica para saber la cantidad disponible para una jugada determinada por eso hice un procedimiento donde entro la jugada y luego pues paso la consulta, el tema es que tengo el procedimiento en el evento onexit del edit y si salgo una vez no me presenta bien el resultado y si vuelvo y salgo si me lo presenta estara bien implementada mi rutina?

Código Delphi [-]

Procedure Disponibilidad( Jugada:String);
var
Chd:Integer; //Variable para el for
var_max,Disponible_jugar:String;
begin
case AnsiIndexStr(FormTicket.TxtTipojugada.Text,['Centena','Suelto','Tripleta','Pale','Bolita-1','Bolita-2','Bolita-3','#1','#2','#3','#4'])of
0:var_max:='maximo_centena';   //Definiendo en el campo de limtaciones que va a buscar
1:var_max:='maximo_sueltos';
2:var_max:='maximo_tripletas';
3:var_max:='maximo_pale';
4:var_max:='maximo_bolitas';
5:var_max:='maximo_pulitos';
end;

With FormTicket do begin
MemoDisponibilidad.Clear;
For ChD:=0 to chkloteria.Items.Count-1 do
begin

QuerySumDisp.Close;
QuerySumDisp.SQL.Clear;
QuerySumDisp.SQL.Add('Select Sum(Valor) as Total from Detalle_Real where jugada=:TxtJugada and loteria_Detalle=:Lot and CONVERT(varchar(10),fecha,111)=CONVERT(varchar(10),getdate(),111)');
QuerySumDisp.Parameters.ParamByName('Lot').Value:=chkloteria.Items[Chd];
QuerySumDisp.Parameters.ParamByName('TxtJugada').Value:=FormTicket.Txtjugada.Text;
QuerySumDisp.Open;

QueryMaximoJugada.Close;
QueryMaximoJugada.SQL.Clear;
QueryMaximoJugada.SQL.Add('Select '+var_max+' from limitaciones');
QueryMaximoJugada.Open;

Disponible_jugar:=VarToStr(QueryMaximoJugada.Fields[0].Value-QuerySumDisp.Fields[0].Value);
MemoDisponibilidad.Lines.Add(chkloteria.Items.Strings[Chd]+'-----'+Disponible_jugar);






end;
end;
end;
Responder Con Cita