Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Question Busqueda usando un DBLookupComboBox

Saludo para todos los del foro.

estoy tratando de hacer una busqueda usando un DBLookupComboBox, para mostral el resultado de esta busqueda en un DBGrisd, acontinuacion pongo las forma como lo hago.

este es el codigo del Query
Código:
SELECT * FROM Informacion_Convenio
WHERE Descripcion_Pais = :pPais
ORDER BY Descripcion_Pais

y este es el codigo del Boton
Código:
   Qry_Consulta_TipoAcuerdo.Close;
   Qry_Consulta_TipoAcuerdo.Parameters.ParamByName('pPais').VAlue := DBLokupComboBox1.Text;
   Qry_Consulta_TipoAcuerdo.Open;


Última edición por esimon fecha: 06-10-2006 a las 17:34:04.
Responder Con Cita
  #2  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Y tu duda es? Algún problema? Algún error?

Si no especificas exactamente cual es el problema, duda y/o error, no te podemos ayudar... a menos claro, que alguién en estos foros sea psiquico...



Saludos...
Responder Con Cita
  #3  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
jajajajaja, gracias marcos por tu repuesta disculpame tiene razon,
el problema es que cuando preciono el boton del cual habla, en el DBGrisd no me prsenta nada.
Responder Con Cita
  #4  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Acabo de consultar mi bolita magica y con un poco de incienzo (Del bueno), me parece extraño que en la consulta Sql pongas esto:

Código SQL [-]
SELECT * FROM Informacion_Convenio
WHERE Descripcion_Pais = Pais
ORDER BY Descripcion_Pais




Veo (En La Bolita) dos puntos extraños ? Que son ?
Creo deberia ser:

Código SQL [-]
SELECT * FROM Informacion_Convenio
WHERE Descripcion_Pais = pPais
ORDER BY Descripcion_Pais




o

Código SQL [-]
SELECT * FROM Informacion_Convenio
WHERE Descripcion_Pais = 'pPais'
ORDER BY Descripcion_Pais




Salvo que los dos puntos esten en el campo.
No se creo yo.
Saludos
Responder Con Cita
  #5  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
La consulta está bien...

Cuando en una consulta SQL pones algo como :Variable, le estás diciendo que ahí vas a pasar un parámetro:

Código Delphi [-]
Query1.SQL.Add('select * from Tabla where Campo1 = :Valor');
Query1.Prepare:
Query1.ParamByName('Valor').AsString := 'México'; //  Aquí estoy poniendo un valor al parámetro "Valor"
Query1.Open;


Saludos...
Responder Con Cita
  #6  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Ves Siempre he dicho que esta bolita hay que cambiarla, se le escapan muchas cosas, la verdad si es asi, no veo en donde este el fallo, tendria que devolver el valor, lo que pasa es que se quiere el valor en un DBGrid, si no me equivoco, Donde esta este ? (Qry_Consulta_TipoAcuerdo) es el nombre de este ?, me parece que no. o falta informacion ?.
No se aqui aprendiendo, maestro
Saludos
Responder Con Cita
  #7  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por esimon
jajajajaja, gracias marcos por tu repuesta disculpame tiene razon,
el problema es que cuando preciono el boton del cual habla, en el DBGrisd no me prsenta nada.
Solo para verificar...

El TQuery está conectado con un TDataSource y este conectado al TDBGrid?



Saludos...
Responder Con Cita
  #8  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Exacto Maeyanes.
El Query (Qry_Consulta_TipoAcuerdo) contiene la consulta sql, envia los parametros (Ya aprendi), los recibe y los traslada al dbgrid, que tiene que estar conectado al datasource (Conetado al query) que a su vez tiene que estar conectado al dbgrid, de lo contrario nunca vera nada el dbgrid.
Hay que verificar la conexion si la sentencia es la correcta.
Saludos
Responder Con Cita
  #9  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Gracias Caral por la sugerencia hice una consulta en Access y funciona de las dos formas, el problema esta en el codigo que pongo en el boton, el cual no veo que tiene de estraño para que no funciones.
Responder Con Cita
  #10  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Una de las cosas que te tienes que preguntar es si el campo pPais es String o compatible con el text del DBLokupComboBox1, osea campo tipo texto, porque de lo contrario deverias cambiar la sentencia del boton, en esa parte.
Saludos
Responder Con Cita
  #11  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
si ese parametro es string y el DBLookupComboBox1.Text tambien maneja el campo string.

que diferencia hay entre el DBLookupComboBox1 y ComboBox, si uso el ComboBox, funciona.

lo que quiero hacer es, tengo una tabla de Pais en Access y como el ComboBox no me permite relacionarlo con la base de tados utilizo el DBLookupComboBox1, entoce lo que seleccion en este componente lu muestre en un DBGrisd y para esto utiliso el boton.
Responder Con Cita
  #12  
Antiguo 06-10-2006
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Prueba con este código:



Código Delphi [-]
 
Qry_Consulta_TipoAcuerdo.Parameters.ParamByName('pPais').VAlue := Table1Campo.AsString;

Table1 debe ser la tabla que tiene el dato asignado al DBLookup y campo el dato asignado al DBLookup, por ejemplo si la tabla se llama PAISES y el campo PAIS entonces sería:


Código Delphi [-]
 
Qry_Consulta_TipoAcuerdo.Parameters.ParamByName('pPais').VAlue := PAISESPAIS.AsString;

Espero haberme explicado.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Y en haciendo un seguimiento de tu programa (F7 o F8), la propiedad Text del TDBLookupComboBox tiene algún valor?

No recuerdo bien como funciona el TDBLookupComboBox, pero al ser un control de datos, este se supone que sirve para modificar un cambo usando los datos de otra tabla...

Ahora, para usa un TComboBox, puedes hacer lo siguiente:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with TQuery.Create(nil) do
    try
      Database := TDatabase1;
      SQL.Text := 'select PaisNombre from Paises'; // Estoy suponiendo el nombre de la tabla y sus campos
      Prepare;
      Open;
      First;
      while not Eof do
      begin
        ComboBox1.Items.Add(Fields[0].AsString);
        Next
      end
    finally
      Free
    end
end;

Con esto llenas el TComboBox con los valores de la tabla paises y lo puedes usar como deseas...


Saludos...

Última edición por maeyanes fecha: 06-10-2006 a las 21:00:07.
Responder Con Cita
  #14  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
gracias marcos.

la sentencia me esta dando el siguiente error.

[Error] Un_Con_Pais.pas(317): Undeclared identifier: 'Prepare'
Responder Con Cita
  #15  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Que componentes estás usando para el acceso a los datos?

La verdad que yo supuse que fueran los basados en BDE, pero podrían ser otros. Si es así, solo elimina la línea donde dice Prepare y debería funcionar...



Saludos...

Última edición por maeyanes fecha: 06-10-2006 a las 21:29:06.
Responder Con Cita
  #16  
Antiguo 06-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
estoy usando un ComboBox, para llenarlo con los campos q tiene la base de datos pais.
Responder Con Cita
  #17  
Antiguo 06-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Me refiero a los componentes para conectarte a la base de datos, así como las tablas, queries...

Por ejemplo, existen los basados en BDE, los cuales son TDatabase, TTable, TQuery, etc... los basados en Interbase: TIBDatabase, TIBDataSet, TIBQuery, etc...



Saludos...
Responder Con Cita
  #18  
Antiguo 08-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Marcos te agradesco muchisimo tu ayuda.

Lo que estoy usando es ADOQuery y ADOTable, este momento esoy usando una tabla por que como te dige anteriormente uso un DBLookCombBox, para llenarlo con la tabla pais y aparentemente no puedo usar este componente para seleccionar un campo y hacer una consulta por dicho campo, aparentemente.

pero si yo uso un comboBox me funciona perfectamente, pero que sucede cuando se agrege un nuevo campor a la tabla pais, voy a tener que agregarlo manualmente al ComboBoxy eso no es logico.

Pregunto, Puedo llenar el ComboBox, con los datos de una tabla Automaticamente?

como puedo hacerlo.

gracias
Responder Con Cita
  #19  
Antiguo 08-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por esimon

como te dige anteriormente uso un DBLookCombBox, para llenarlo con la tabla pais y aparentemente no puedo usar este componente para seleccionar un campo y hacer una consulta por dicho campo, aparentemente.
En un DBLookComboBox, cuando seleccionas un elemento, tienes la propiedad KeyValue que se actualiza, y te dará el valor del campo que tenga en su propiedad KeyField.

Ejemplo:
KeyField = idpais
DisplayField = nombrePais

Cuando seleccionas un pais, la propiedad Dblookupcombobox1.KeyValue tendrá el código de ese pais. Normalmente el código del pais suele ser clave primaria, por lo que tiene un índice y su acceso en búsquedas es muy rápido; además será un Integer o Autoincrement, por lo que no se tiene problemas con mayúsculas, acentos, etc.

Espero te sirva.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #20  
Antiguo 08-10-2006
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Ok. Lepe mucha gracias por tu comentario, lo que quiero hacer es lo siguiente.

yo estoy usando el DbLookCombBox y compilo, corro el programa y no me da error, cuando llamo la aplicacion me da el siguiente error

el nombre del proyecto "Missing connetion or connetionstring"

yo quiere hacer una consulta por pais, el resultado lo muestro en un DBGrisd, pero que sucede como tengo una tabla de pais, no puedo usar el ComboBox porque cadabes q instroduca un pais tengo q hacerlo manualmente en el ComboBox, el DBLookComboBox si me permite llenarlo con con tabla como tu me explica, pero no me funciona con este componente.

gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usando Delphi... ixMike La Taberna 8 17-09-2006 18:07:40
Usando TUpdateSQL @ngeluz Conexión con bases de datos 1 11-02-2006 20:25:30
Búsqueda usando un índice con ADO. vpepen Conexión con bases de datos 9 03-02-2005 14:32:32
usando el registro redlyon13 API de Windows 2 01-12-2003 10:47:07
BDE usando ODBC !!! vpepen Conexión con bases de datos 2 27-11-2003 13:27:57


La franja horaria es GMT +2. Ahora son las 06:19:17.


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
Copyright 1996-2007 Club Delphi