Ver Mensaje Individual
  #7  
Antiguo 01-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 23
AzidRain Va camino a la fama
checa esto:
folio=NewFolio
que es el filtro que usas para las tablas de detalle de cada papeleta (notas)

Al usar la primera papeleta supongamos que newFolio es igual a 1, ok?, entonces el grid solo mostrara las notas del folio 1, hasta aqui ok. Pero que pasa cuando abrimos una nueva papeleta, NewFolio ahora vale 2, por ejemplo, y el de esta nueva ventana muestra solo las papeletas del folio 2. Todo bien hasta aqui...ahora volvamos a la primera papeleta...

Sorpresa! Como la tabla filtra por NewFolio que en este momento vale 2, adivina que notas te muestra e inserta?? las de la última papeleta!!!

Solución:
Quick & Dirty:
folio=Caption
(veo que usas caption para guardar el folio)

MAs Decente:
Crea una propiedad que llamaremos Folio para la frmNew y un método como esto:

Código Delphi [-]
 Procedure frmNew.AsignaFolio(unFolio:Integer);
 Begin
   Folio := unFolio; // Folio es una propiedad integer de frmNew
  Caption := Format('Papeleta num %d',[NewFolio]); //Ponemos el título
   // Aqui colocas la asignación del filtro de la tabla de manera
  // que quede filtro=Folio 
 end;

Tu código para crear las notas quedaria así:
Código Delphi [-]

frmNew.tblDetalles.Insert;
frmNew.tblDetallesFOLIO.AsINTEGER:=Folio;  // Aqui cambió
frmNew.tblDetallesOPERADOR.Value:=Operador;
frmNew.tblDetallesNOTA.AsString:=NotasMemo.Lines.Text;
frmNew.tblDetallesHORA.Value:=Now;
frmNew.tblDetallesDIA.Value:=Now;
frmNew.tblDetalles.Post;


En tu form principal harias esto:
Código Delphi [-]
frmNew:=TfrmNew.Create(Self);
frmNew.AsignaFolio(NewFolio); //Aqui cambió
frmNew.Show;

Con esto debe funcionar, ahora cuando creas una papeleta ésta guarda su propio folio devuelto por NewFolio y filtro de la tabla muestra y añade solo notas correspondientes.

Ojala te funcione
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita