PDA

Ver la Versión Completa : Dudas Edit y TDBLooUpComboBox


silviodp
18-09-2003, 17:16:58
Hola a todos!!!
Mis consultas son:

1) En el evento OnChange de un Edit escribo el siguiente código: ModeloDatos.TblRubro.Locate('NOMBRE',Edit.Text,[loPartialKey]), para que me busque en la tabla Rubro el nombre que introduzco en el Edit.
Pero cuando ejecuto mi programa me da error, desconoce el 'loPartialKey'.
Esto sucede cuando uso tablas en un Modulo de Datos ya que cuando uso la tabla sobre el form funciona bien, que puede ser?

2) En un TDBLookUpComboBox, como se hace para que me aparezcan dos campos de una determinada tabla en dicho componente. Ya que he probado poner en su propiedad ListField por ejemplo CODIGO,NOMBRE y sólo aparece el primero.

Espero que me puedan ayudar,saludos.

Silviodp

marcoszorrilla
18-09-2003, 21:17:08
En el módulo automáticamente está incluida la Unit Db, por lo tanto en formulario al no tener ningún Ttable, no se incluye automáticamente.

Solución incluye dicha Unit, y arreglado.

Un Saludo.

Ruben_Cu
18-09-2003, 22:44:12
Hola silviodp, ya tienes una respuesta en cuanto a la segunda debes hacer lo siguiente:

A la propiedad ListSource le asignas el datasource que le corresponde.

A la propiedad KeyField le asignas el campo que quedará visible en el TDBLookUpComboBox en tu caso pudiera ser CODIGO.

A la propiedad ListField le asignas la cadena CODIGO;NOMBRE, observa que el separador es ';'.

Dado el ancho de tu DBLookUpComboBox es posible que no veas el segundo campo en ese caso asignas a la propiedad DropDownWidth el valor que te convenga para una mejor visualización.
Y ya te debe funcionar.
Saludos

silviodp
19-09-2003, 01:40:55
Ruben_Cu:
te comento que incluí el mod. de datos en ésta unit, pero tampoco funciona.
Saludos.-

delphi.com.ar
19-09-2003, 02:08:36
¿Qué versión de Delphi Utilizas?... Por lo que puedo comprobar desde delphi 3 en adelante, te aseguro que TLocateOption está definido en la unit DB.pas.
¿No tendrás otra unit con el mismo nombre?

Ruben_Cu
19-09-2003, 02:13:14
Hola silviodp
Posteado originalmente por silviodp

1) En el evento OnChange de un Edit escribo el siguiente código: ModeloDatos.TblRubro.Locate('NOMBRE',Edit.Text,[loPartialKey]), para que me busque en la tabla Rubro el nombre que introduzco en el Edit.
Pero cuando ejecuto mi programa me da error, desconoce el 'loPartialKey'.
Esto sucede cuando uso tablas en un Modulo de Datos ya que cuando uso la tabla sobre el form funciona bien, que puede ser?
Yo no fuí quien te contesto esta pregunta, da igual, la solución que te propuso Marcos es la habitual en estos casos; si algún elemento de una Unit te da error de identificador no declarado normalmente es por que falta la Unit o sea el fichero .pas que la contiene sea una función, un procedimiento, una variable, etc.
En tu caso el loPartialKey esta contenido en la Unit DB por lo que al ser declarada en el módulo de interfase de la unit donde estas declarando loPartialKey debe funcionar si no lo hace por favor dinos que error te da en compilación.


2) En un TDBLookUpComboBox, como se hace para que me aparezcan dos campos de una determinada tabla en dicho componente. Ya que he probado poner en su propiedad ListField por ejemplo CODIGO,NOMBRE y sólo aparece el primero.

Con relación a esta pregunta fue mi respuesta que quedo pendiente por Marcos, es la que quisiera que probaras y después comentaras si era lo que querías.
Saludos

silviodp
19-09-2003, 13:39:43
Perdón:
como puedo hacer para ver las Unit disponibles en el mi versión de Delphi?. Estoy utilizando Delphi 5.
Saludos.

Ruben_Cu
20-09-2003, 00:50:13
Hola silviodp, los fuentes de delphi están ubicados en el directorio C:\Archivos de programa\Borland\Delphi5\Source
Saludos