VRO
26-09-2005, 10:08:06
Hola, foreros del club Delphi, vereis estoy utilizando un DBGrid editable con un campo LookUp.
El DBGrid tiene por campos:
FECHA, ARTICULO,DESCRIPCION, CANTIDAD, PRECIO, TIPOIVA
que toma de uan tabla dataset lfact que corresponde a una tabla lfactura, que corresponde a las líneas de una factura.
En dicho dbgrid podemos intriducir manualmente datos ó artículos correspondientes a una tabla artículo ó que no corresponden a ninguna tabla.
Aquí viene cuando interviene el campo lookup, que se refiere al campo DESCRIPCION del DBGrid y se conecta con el campo descripcion de la tabla artículo. He conseguido que se despliegue el combo con la descripcion de los artículos, de la siguiente manera:
Esta funcionalidad ya viene por defecto en el DBGrid. Lo que tienes que hacer es:
1. Agregar los campos de la tabla en el editor de campos del dataset (doble click sobre la componente)
2. Agregar (con el mismo editor) un nuevo campo. Ajusta las propiedades de este nuevo campo así:
Name - el que quieras, p. ej. "Descripcion"
Type - String
Size - La longitud máxima de la descripción
FieldType - Lookup
DataSet - el dataset que apunte a la tabla de artículos -> (articulo)
ResultField - el campo de la tabla de artículos que quieras mostrar (supongo que será 'descripcion') -> descripcion
Lookup Keys - campo código del artículo ->cod_art
Key Fields - campo en la tabla de facturas que apunte a la tabla de artículos.
-> cod_art
Con esto, al momento de entrar a la columna "Descripción" del DBGrid, podrás desplegar el combo. Cualquier actualización que hagas del combo se verá automáticamente reflejada.
Tal y como indica Roman en un hilo.
pero lo que me falta es que una vez seleccionada una descripcion de la tabla artículo, es que rellene en los campos del dbgrid lo siguiente:
en articulo -> que rellene el codigo de artículo de la tabla artículo.
en precio -> el precio del artículo de la tabla artículo.
en tipoiva-> el iva del artículo de la tabla artículo.
y se situe en la casilla cantidad del dbgrid.
Espero su ayuda y le doy las gracias de antemano
El DBGrid tiene por campos:
FECHA, ARTICULO,DESCRIPCION, CANTIDAD, PRECIO, TIPOIVA
que toma de uan tabla dataset lfact que corresponde a una tabla lfactura, que corresponde a las líneas de una factura.
En dicho dbgrid podemos intriducir manualmente datos ó artículos correspondientes a una tabla artículo ó que no corresponden a ninguna tabla.
Aquí viene cuando interviene el campo lookup, que se refiere al campo DESCRIPCION del DBGrid y se conecta con el campo descripcion de la tabla artículo. He conseguido que se despliegue el combo con la descripcion de los artículos, de la siguiente manera:
Esta funcionalidad ya viene por defecto en el DBGrid. Lo que tienes que hacer es:
1. Agregar los campos de la tabla en el editor de campos del dataset (doble click sobre la componente)
2. Agregar (con el mismo editor) un nuevo campo. Ajusta las propiedades de este nuevo campo así:
Name - el que quieras, p. ej. "Descripcion"
Type - String
Size - La longitud máxima de la descripción
FieldType - Lookup
DataSet - el dataset que apunte a la tabla de artículos -> (articulo)
ResultField - el campo de la tabla de artículos que quieras mostrar (supongo que será 'descripcion') -> descripcion
Lookup Keys - campo código del artículo ->cod_art
Key Fields - campo en la tabla de facturas que apunte a la tabla de artículos.
-> cod_art
Con esto, al momento de entrar a la columna "Descripción" del DBGrid, podrás desplegar el combo. Cualquier actualización que hagas del combo se verá automáticamente reflejada.
Tal y como indica Roman en un hilo.
pero lo que me falta es que una vez seleccionada una descripcion de la tabla artículo, es que rellene en los campos del dbgrid lo siguiente:
en articulo -> que rellene el codigo de artículo de la tabla artículo.
en precio -> el precio del artículo de la tabla artículo.
en tipoiva-> el iva del artículo de la tabla artículo.
y se situe en la casilla cantidad del dbgrid.
Espero su ayuda y le doy las gracias de antemano