Ver Mensaje Individual
  #1  
Antiguo 01-08-2016
cristian22 cristian22 is offline
Miembro
NULL
 
Registrado: jun 2014
Posts: 18
Reputación: 0
cristian22 Va por buen camino
Ayuda con apertura de Caja

Hola buenas tardes estoy trabajando con un formulario que realiza la apertura de caja lo estoy desarrollando usando componentes query de zeos en delphi 2010 y para la base de datos utilizo mysql-5.En cual dicha base de datos tengo 2 tablas una que se llama Caja y la otra apertura las cuales estan conformadas por los siguientes datos

Código SQL [-]
caja:
idcaja
monto_total
estado

Código SQL [-]
apertura
idcaja
monto_inicial
fecha

En el Formulario tengo los siguientes componentes. Un dblookupcombobox1 para seleccionar la caja que deseo abrir. Un Tedit para ingresar el monto de inicial, un tdatetimepicker para registrar la fecha de apertura dicha fecha se toma por medio de un query que contiene una consulta a la base de datos.Y 2 botones uno aceptar y otro cancelar.

Bien a la hora de realizar el post en el boton aceptar no tengo prolema realizo con el siguiente codigo.
Código Delphi [-]
qApertura.Active:=true;
qApertura.Insert;
qFecha.Open;
qApertura['Fecha_Apertura']:=qFecha['fecha'];
qApertura['Hora_Apertura']:= qFecha['hora'];
qApertura['Monto_Inicial']:=StrToInt(self.Edit2.Text);
qFecha.Close;
qApertura.Post;

Hasta aqui no tengo ningun prolema. Resulta que ahora quiero realizar la siguiente comprobación. Quiero verificar si la caja que seleccione en el dblookupCombobox. Tiene el estado en 0 si es así le cambio el valor a 1 y realizo el post. De lo contrario muestro un mensaje que diga que la caja ya fue abierta. Realice el siguiente código. resulta que no me verifica si el estado de la caja que ya seleccione esta en 0 o en 1. Tal vez estoy realizando algo mal si pudieran ayudarme desde ya se los agradezco

Código Delphi [-]
procedure TfApertura.bAceptarClick(Sender: TObject);
begin

qCaja.Open;
qApertura.Active:=true;
while not qCaja.Eof do
    begin
        if qCaja.FieldByName('estado_caja').AsInteger = 0 then
               begin
                qCaja.Edit;
                qApertura.Insert;
                qFecha.Open;
                qApertura['Fecha_Apertura']:=qFecha['fecha'];
                qApertura['Hora_Apertura']:= qFecha['hora'];
                qApertura['Monto_Inicial']:=StrToInt(self.Edit2.Text);
                qFecha.Close;
                qCaja.FieldByName('estado_caja').AsInteger:=1
               end
                else
                showmessage('Caja Abierta');
    end;
        qApertura.Post;
        self.Close;

 end;
Responder Con Cita