Ver la Versión Completa : DBComboBox - JvDBComboBox XE8
BlueSteel
20-02-2018, 19:03:24
Hola amigos,
tengo un problema con un viejo codigo.
Resulta que ya sea a un ComboBox o JVDBComboBox le paso el contenido de una tabla desde SQL en la cual hay 2 campos:
- Id_TipoSocio
- TSoc_Detalle
En el Sistema me muestra lo que contiene el campo TSoc_Detalle.
Necesito capturar el dato que tiene el campo Id_TipoSocio
en D7 lo realizaba de la siguiente forma
ShowMessage(DM_Datos.DS_Tipo['Id_TipSocio']);
En XE8 me genera un error,
[dcc32 Error] frmCreaActSocios.pas(142): E2010 Incompatible types: 'Integer' and 'string'
prove con ShowMessage(sTip.ListSettings.KeyField);, pero me nuestra el nombre del Campo y no el contenido
ecfisa
20-02-2018, 19:12:39
Hola.
Hola amigos,
tengo un problema con un viejo codigo.
Resulta que ya sea a un ComboBox o JVDBComboBox le paso el contenido de una tabla desde SQL en la cual hay 2 campos:
- Id_TipoSocio
- TSoc_Detalle
En el Sistema me muestra lo que contiene el campo TSoc_Detalle.
Necesito capturar el dato que tiene el campo Id_TipoSocio
en D7 lo realizaba de la siguiente forma
ShowMessage(DM_Datos.DS_Tipo['Id_TipSocio']);
Intenta con:
DM_Datos.DS_Tipo.FieldByName('Id_TipSocio').AsInteger ... // o AsString, Value, etc.
Saludos :)
BlueSteel
21-02-2018, 12:49:01
Hola.
Intenta con:
DM_Datos.DS_Tipo.FieldByName('Id_TipSocio').AsInteger ... // o AsString, Value, etc.
Saludos :)
Hola, probé lo que indicaste, pero tampoco funciona... es mas, ni siquira permite agregar el tipo de dato despues del parentesis... :confused:
ecfisa
21-02-2018, 14:46:31
Hola.
¿ Que componente es "DS_Tipo" ?
Saludos :)
BlueSteel
21-02-2018, 21:41:18
Hola.
¿ Que componente es "DS_Tipo" ?
Saludos :)
es de tipo DataSource -
MD_Datos : Formulario de tipo DataModule
DS_Tipo : Componente DataSource
AQ_Tipo: Componente AdoQuerry (enlazado a DS_Tipo)
Lo raro, es que así lo realizaba con D7
Salu2
ecfisa
21-02-2018, 22:02:02
Hola.
Ah...es que para acceder al campo 'Id_TipSocio' necesitas usar el descendiente de TDataSet (AQ_Tipo), y no el TDataSource, v. gr.:
DM_Datos.AQ_Tipo.FieldByName('Id_TipSocio').Value;
// o también
DM_Datos.AQ_Tipo[0].AsString; // si la posición del campo en la tabla es '0'
// o también
DM_Datos.AQ_Tipo.FindField('Id_TipSocio').AsString;
// o por el nombre del campo persistente (si lo creaste)
DM_Datos.AQ_TipoId_TipSocio.Value; //
Saludos :)
BlueSteel
22-02-2018, 13:20:19
Hola...
gracias por tu ayuda...
solo estos 2 codigos fueron validos y funcionan, pero aqui tengo otro problema
En el DBComboBox existen 4 registros... independiente de cualquier registro que selecciones, ambas sentencias me devuelven 1
ShowMessage(DM_Datos.AQ_Tipo.FieldByName('Id_TipSocio').Value);
ShowMessage(DM_Datos.AQ_Tipo.FindField('Id_TipSocio').AsString);
BlueSteel
22-02-2018, 13:29:32
Hola...
gracias por tu ayuda...
solo estos 2 codigos fueron validos y funcionan, pero aqui tengo otro problema
En el DBComboBox existen 4 registros... independiente de cualquier registro que selecciones, ambas sentencias me devuelven 1
ShowMessage(DM_Datos.AQ_Tipo.FieldByName('Id_TipSocio').Value);
ShowMessage(DM_Datos.AQ_Tipo.FindField('Id_TipSocio').AsString);
Cambie el componente a un DBLookupCombo y ahora si funciona...
ecfisa
22-02-2018, 14:59:10
Hola.
Cambie el componente a un DBLookupCombo y ahora si funciona...
^\||/^\||/^\||/
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.