Ver Mensaje Individual
  #18  
Antiguo 26-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Vamos a tratar de resumir un poco.

El método de usar un query tiene que ajustarse un poco ya que tal como está tendrías que ejecutar la consulta cada vez que cambies el NIF. En su lugar usa consultas parametrizadas:

Código:
select * from clientes
where nif = :nif
Los dos puntos (:) indican que se trata de un parámetro cuyo valor se puede sustituir así:

Código:
Query.ParamByName('nif').AsString := valor del nif
Pero aquí el problema persiste en cuanto a que debes hacer la sustitución cada vez. Para llenar automáticamente este parámetro puedes usar la propiedad DataSource del Query asignándola al DataSource de donde estés listando los NIFs- el mismo que el que alimenta tu DBLookupComboBox. Al hacer esto, cuando cambies la selección en el combo automáticamente se mostrarán en el grid únicamente los registros asociados al nif escogido. Claro está que tu grid deberá estar ligado al Query via un DataSource.

Otra forma de hacer lo mismo, sin utilizar un Query es usando dos tablas, una para los clientes y otra para los nifs. La primera la enlazas al grid y la segunda al combo via sendos datasource y estableces la de nifs como tabla maestra de la de clientes (propiedades MasterSource y MasterFields).

De cualquier forma no están de más las observaciones de mis compañeros en cuanto a una lectura de los conceptos básicos de las componentes de bases de datos y yo añadiría el uso de SQL y relación entre tablas.

// Saludos
Responder Con Cita