Ver Mensaje Individual
  #1  
Antiguo 17-09-2021
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
DataSet de FormA para mostrar datos en FormB

Hola amigos...

Trabajo con Delphi6, Win10, FB 2.0, IBX.

Estoy desarrollando un sistema de comandas, en el cual se desea registrar MODIFICADORES a los platillos seleccionados, estos modificadores están registrados en un tabla. El Formulario "A" se registra el detalle de la comanda y desde aqui estoy llamando a otro fomulario "B" q muestra los modificadores exclusivos para el platillo seleccionado.

Dentro del Formulario "A" (frmRegComanda) tengo un DataSource enlazado a un DataSet (dsModifComandas) el cual me ayudará a registrar los modificadores que se hayan seleccionado, donde estos se deberán de mostrar en un DBgrid que esta colocado en el Formulario "B" (frmModificador2)....en este formulario hago todo la chamba para registrar los modificadores en el DataSet del Formulario "A".

Aqui el código del formulario "B"
Código Delphi [-]
procedure TfrmModificador2.OnButtonClick1(Sender: TObject);
begin

    frmRegComanda.dsModifComandas.Open;
    frmRegComanda.dsModifComandas.Append;
    frmRegComanda.dsModifComandas.FieldByName('COMANDA_ID').AsInteger     :=frmMeseroMain.nRegID;
    frmRegComanda.dsModifComandas.FieldByName('COMANDA_D_CONSEC').AsString:=frmRegComanda.SG.Cells[0,frmRegComanda.nLin2];
    frmRegComanda.dsModifComandas.FieldByName('CATEGORIA_ID').AsInteger   :=frmEditar.qryProducto.FieldByName('CATEGORIA_ID').AsInteger;
    frmRegComanda.dsModifComandas.FieldByName('MODIFICADOR_ID').AsInteger :=(Sender as tButton).Tag;
    frmRegComanda.dsModifComandas.FieldByName('PRODUCTO_ID').AsString     :=frmEditar.qryProducto.FieldByName('PRODUCTO_ID').AsString;
    frmRegComanda.dsModifComandas.FieldByName('COMANDA_MESERO_MODIF_DESCR').AsString:=TRIMLEFT(qryDescri  p.FieldByName('MODIFICADOR_DESCRIP').AsString );
    frmRegComanda.dsModifComandas.Post;
    frmEditar.Memo1.Lines.Add(TRIM(qryDescrip.FieldByName('MODIFICADOR_DESCRIP').AsString)+#13);
end;

Ahora se preguntarán porq lo hago asi? y porque no mejor el DataSet lo dejo en el Formulario "B"...y ya me dejo de cosas, pero es algo largo de explicarles...

Bueno el caso es que, los datos cuando los estoy agregando con el código anterior, no se me reflejan en el DBGrid del formulario "B" este es el principal problema...porque no se muestran??...tengo bien enlazado el DBgrid al DataSource que esta en el formulario "A", que por cierto coloque otro DBGrid en el formulario "A" y lo enlace al mismo DataSource...y ahí si se muestran los datos....pero no el DBGrid del formulario "B".

Todo esto es porque quiero, desde el Formulario "A" grabar la transacción, ya que el formulario "B" se cierra o bien puede no abrirse nunca durante el registro del detalle de la comanda.

(No sé si tenga algo que ver....pero los formularios los muestro con ShowModal)

Algo cantinflesco verdad?, espero haberme explicado bien.

Los leo y gracias por su tiempo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 17-09-2021 a las 23:11:36.
Responder Con Cita