Ver Mensaje Individual
  #5  
Antiguo 10-03-2026
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En el primero estás asignando un DataSet a un DataSource. Son cosas distintas y no funciona.
En el segundo estás asignando el DataSource de Query al DataSource del Grid... eso son dos DataSources distintos.

Debes pensar que el DataSource de un componente es por donde entra el dato.
  • En el caso de un DBEdit es por donde entra el valor de un campo
  • En el caso de un DBGrid es por donde entra una lista de registros a mostrar.
  • En el caso de un DataSet es por donde entran valores de campos para rellenar parámetros en el SELECT.

Por lo tanto la estructura debería ser

Código Delphi [-]
DSFiltro : TDataSource;

// El DataSource mostrará los datos que contenga el DataSet QryFiltro
DSFiltro.DataSet := QryFiltro;

// El dataset no necesita DataSource a menos que sea un maestro/detalle
QryFiltro.DataSource := null

// El DBEdit recibe los datos de DSFiltro. En concreo el campo "CAMPO1"
DBEdit.DataSource := DSFiltro;
DBEdit.FieldName := 'CAMPO1';

// El DBGrid recibe los datos de DSFiltro.
DBGrid.DataSource := DSFiltro;

Código:
DataSet_Cabecera --> DataSource --+---> DBGrid
                                  |
                                  +---> DBEdit
                                  |
	                          +---> DataSet_Detalle

Última edición por duilioisola fecha: 10-03-2026 a las 08:28:01.
Responder Con Cita