Cita:
Empezado por mRoman
Entonces ese objeto no tiene esa propiedad. En realidad desconozco el objeto que usas, pensé que era algo similar al TDBLookUpComboBox, (que si lo tiene)...Independientemente de eso, el objeto que estas usando debe tener alguna otra propiedad donde puedas obtener el valor del campo del ID del proyecto y si no pues, del DataSet asociado, que debería funcionar también.
Pero bueno, entonces, creo q necesitamos mas referencias para poder ayudar. Veo que tienes 2 DataModulos....porque?.
En que momento abres el otro Query, del DataModulo2 (dmMain2)? o que es dmMain?
Asumo que "dm" = DataModulo, o estoy equivocado?.
Envía mejor todo el código donde se ejecuta -lo que ya enviaste- para ver con mas claridad que es lo que hace y como lo hace.
Realice una prueba y en ambos casos, me da el resultado que quiero, el ID de un Estatus en especifico.
Código Delphi [-]ShowMessage( Variant(cbxEstatus.KeyValue) ); ShowMessage( qryEstatus.FieldByName('id_estatus_posible').AsString );
cbxEstatus lo tengo asociado a una DataSource, el cual a su vez lo tengo asociado a un TIBQuery, donde en su propiedad "SQL", tengo esta consulta:
Código SQL [-]select ep.id_estatus_posible, e.descripcion from estatus_posible ep, estatus_pedido e where ep.id_estatus_posible=e.id_estatus and ep.habilitado='S'
Saludos.
|
hola, si tengo dos data mudule pero fui yo el que escribio mal solo uso el dmMain2 que es donde esta mi query para llenar los productos del grid
DataModule = dmMain2
TMSquery = qryProductosProyecto
TdataSourse = dsProductosProyecto
TcxLookupComboBox = cblProyectos
este es el inicio del form
Código Delphi
[-]
procedure TfrmRequisicion.FormCreate(Sender: TObject);
begin
dmMain2.tblRequisicionHdr.Filtered := False;
ActNewExecute(nil);
dmMain2.qryRequisicionDtl.OnNewRecord := qryRequisicionDtlNewRecord;
dmMain2.qryProductosProyecto.Close;
dmMain2.qryProductosProyecto.Open;
Rows := 0;
Cliente := dmMain.tblClientes.FieldByName('COD_CLIENTE').AsString;
end;
lo demas seria en el combobox a mi parecer para capturar el id y mandarlo como parametroal query
Código Delphi
[-]
SELECT --P1.ID_PROYECTO,
--P1.NOMBRE,
I1.COD_PRODUCTO,
NOMBRE = case
WHEN dbo.ObtenerDeConfiguracion(216) = '0' then
I1.nombre
else
I1.COD_UPC_PROPIO + ' - ' + I1.nombre
end,
I2.CANTIDAD_STOCK
FROM PR_PROYECTOS P1
INNER JOIN PR_FICHA_HDR F1
ON F1.ID_PROYECTO = P1.ID_PROYECTO
INNER JOIN PR_FICHA_DTL_MAT F2
ON F1.ID_FICHA = F2.ID_FICHA
INNER JOIN INV_PRODUCTOS I1
ON F2.COD_PRODUCTO = I1.COD_PRODUCTO
INNER JOIN INV_EXISTENCIAS I2
ON I1.COD_PRODUCTO = I2.COD_PRODUCTO
LEFT JOIN OT_ORDEN_TRABAJO_PROYECTO_HDR T1
ON P1.ID_PROYECTO = T1.ID_PROYECTO
INNER JOIN PR_TIPOPROYECTO P2
ON P1.ID_TIPO_PROYECTO = P2.ID_TIPO_PROYECTO
WHERE I1.STATUS = '1' AND P2.REQUISA_SIN_ORDEN_TRABAJO = 1 AND
ID_PROYECTO = :ID_PROYECTO
que al query le doy click derecho, field editor en el cual añado un new field para agregar el id_proyecto de tipo integer
espero sirva mas esta informacion