Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2005
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Exclamation Como puedo hacer una consulta con un Query y que se actualize en el DBGrid

Hola compañeros de ClubDelphi,

Tengo un problema que me trae de cabeza, estoy realizando una consulta en SQL que es la siguiente:

Select * From Ventas Where IdTicket=78;

Tengo en el formulario un Query, DBGrid, Table, DataSource, todos estan conectado bien entre si, pero el cursor (>) no se mueve de su sito la base de datos esta abierta con todos los registros en pantalla, la base de datos es access.
Responder Con Cita
  #2  
Antiguo 01-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Utiliza un Locate o FindKey con el TTable; Eso buscará el registro y te posicionará en el. Y automáticamente verás como el el DBGrid el puntero (>) va a ese registro.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 01-08-2005
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Exclamation

http://www.clubdelphi.com/foros/imag...ine=1090400110Neftali vbmenu_register("postmenu_99363", true);
Moderador

Gracias NefTali por tan rapida respuesta,
Pero no se puede hacer cun sql , gracias.

Saludos.
Responder Con Cita
  #4  
Antiguo 01-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Exactamente, qué quieres hacer con un SQL?

Puedes hacer la búsqueda con SQL, pero si quieres que en la tabla se te active el registro que has encontrado debes hacer las búsqued en el TTable (Locate o FindKey)

O tal vez te estoy entendiendo mal...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 01-08-2005
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Talking

Ya se la forma de encontrar los registros que es (Locate, Findkey o FindNearest), que quiero hacer con el registro, solo que el DBGrid apunte al registro que he seleccionado, solo eso, pero sino se puede hacer con SQL, pues entonces usare (Locate, Findkey o FindNearest), te voy a mostrar lo que estoy haciendo.

ejemplo:

y el Memo1 Contiene 'Select * Form Ventas Where IdTicket=78;'

Label3.Caption := 'Ejecutando SQL, Espere...';
Label3.Refresh;
DataModule4.Query1.SQL.Clear;
DataModule4.Query1.SQL.Text := Memo1.Text;
DataModule4.Query1.DatabaseName := 'DBTabla1';
DataModule4.Query1.DataSource := DataModule4.DataSource1;
DataModule4.Query1.Prepare;
DataModule4.Query1.ExecSQL;
Label3.Caption := '';

y no quiero utilizar (Locate, Findkey o FindNearest), porque no quiero, porque estoy empezando con SQL y estoy averiguando si con SQL se puede hacer todo o casi todo.
Responder Con Cita
  #6  
Antiguo 01-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Primero: En consultas donde hagas un SELECT, debes abrir la consulta con Query1.Open; Cuando hagas un INSERT, UPDATE o DELETE, entonces si debes usar ExecSql.

Segundo: Si ese query1 tambien lo utilizas para un grid, automaticamente el grid mostrará los nuevos resultados de esa consulta, que para el caso concreto, solo mostrará el registro de ticket 78

Al abrir una consulta con .Open, por defecto se quedará en el primer registro; si quieres moverte de registro por código, no te queda más remedio que usar los métodos propios del Query:
- First
- Prior
- Next
- Last
- Locate, findkey ....

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 01-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tu problema es que muestras los registros en el DBGrid con un DataSet (que es la tabla) y haces una búsqueda sobre la tabla con otro DataSet (Query);
No puedes juntar ambos, puesto que son DataSets distintos, uno devuelve x registros (tabla) y otro te devuelve 1 (el query);

Con SQL puedes obtener DataSets, pero no te puedes realizar recorridos sobre ellos (SQL no es para eso); Para eso debes usar métodos del TDataset, que son los que te han comentado (Firsm Next,... para secuencial y Locate/FindKey para búsquedas).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 01-08-2005
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Talking

Gracias NefTali y Lepe, por Vuestras respuestas, me han ayudado bastante, bastante, bastante.


Gracias, gracias, gracias.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 19:14:11.


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