Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   DBComboBox - JvDBComboBox XE8 (https://www.clubdelphi.com/foros/showthread.php?t=92846)

BlueSteel 20-02-2018 20:03:24

DBComboBox - JvDBComboBox XE8
 
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

Código Delphi [-]
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
Código Delphi [-]
      ShowMessage(sTip.ListSettings.KeyField);
, pero me nuestra el nombre del Campo y no el contenido

ecfisa 20-02-2018 20:12:39

Hola.
Cita:

Empezado por BlueSteel (Mensaje 524679)
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

Código Delphi [-]
ShowMessage(DM_Datos.DS_Tipo['Id_TipSocio']);


Intenta con:
Código Delphi [-]
  DM_Datos.DS_Tipo.FieldByName('Id_TipSocio').AsInteger ...  // o AsString, Value, etc.

Saludos :)

BlueSteel 21-02-2018 13:49:01

Cita:

Empezado por ecfisa (Mensaje 524680)
Hola.
Intenta con:
Código Delphi [-]
  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 15:46:31

Hola.

¿ Que componente es "DS_Tipo" ?

Saludos :)

BlueSteel 21-02-2018 22:41:18

Cita:

Empezado por ecfisa (Mensaje 524693)
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 23: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.:
Código Delphi [-]
  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 14: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
Código Delphi [-]
       ShowMessage(DM_Datos.AQ_Tipo.FieldByName('Id_TipSocio').Value);
       ShowMessage(DM_Datos.AQ_Tipo.FindField('Id_TipSocio').AsString);

BlueSteel 22-02-2018 14:29:32

Cita:

Empezado por BlueSteel (Mensaje 524710)
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
Código Delphi [-]
       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 15:59:10

Hola.
Cita:

Empezado por BlueSteel (Mensaje 524711)
Cambie el componente a un DBLookupCombo y ahora si funciona...

^\||/^\||/^\||/


La franja horaria es GMT +2. Ahora son las 16:13:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi