Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Question mover indicador de un dbgrid a un registro especifico

Hola amigos tengo una pequeña duda espero me puedan ayudar,
tengo un DBGrid1 conectado a una tabla(ttable) y veran lo que hago con este codigo es que en una caja de texto tengo un numero, entonces con el while recorro toda la tabla hasta que el numero se iguala con el que tengo en la caja de texto,

Código Delphi [-]
while (not formconecciones.tablesemanas.eof) and not (a_grid=semanacaja.text) do
begin
formconecciones.tablesemanas.next;
a_grid:=formconecciones.tablesemanas.FieldByName('numero_semana').AsString;
end;

hago esto para que el indicador o apuntador o la flechita que tiene el grid se posicione en el renglon o fila donde esta situado ese valor.

mi pregunta es, hay una manera mas facil de hacerlo, es decir en ves de recorrer la tabla hasta el fin, hay una manera de poner una linea de codigo que no haga el barrido y sea como un select,? por decir, haber si me explico con esto, digamos, seleccioname el registro que se encuentra en la tabla x donde el registro "numero de semana" es iguala a "caja de texto" . espero explicarme bien, es decir lo unico que quiero es que el indicador que tiene el grid o la flechita se posicione en el mismo registro que coincide con la caja de texto espero haberme explicado bien, si no por favor pregunten por que cre que ni yo me entendi jeje
__________________
En movimiento...
Responder Con Cita
  #2  
Antiguo 05-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si tienes un índice sobre el campo que pretendes buscar:
Código Delphi [-]
Table1.IndexName:='ElQueProceda';
Table1.FindKey([LoQueSEa]);



Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 05-11-2007 a las 22:06:33.
Responder Con Cita
  #3  
Antiguo 05-11-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
O si no tienes índice por el campo
Código Delphi [-]
  Table1.Locate('nombreCampo', valorBuscado, []);
__________________
Saludos.
Responder Con Cita
  #4  
Antiguo 06-11-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Les agradesco su ayuda amigos, lo que yo quiero hacer es el equivalente de esta instruccion pero para el grid osea que el indicador del grid se posicione en donde coincide con esas clausulas o ese query

creo que el equivalente de lo que quiero hacer es esto
Código Delphi [-]
//formconecciones.Querycatalogosemanas.sql.add('select * from catalogo_semanas where (fecha_inicio='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+' or fecha_fin='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+')');

quiero que en el grid me señale o indique el resultado de ese query, como podria adaptarlo?

agradesco su ayuda
__________________
En movimiento...
Responder Con Cita
  #5  
Antiguo 06-11-2007
jlchiodo jlchiodo is offline
Registrado
 
Registrado: oct 2006
Ubicación: Ciudad de Buenos Aires
Posts: 8
Poder: 0
jlchiodo Va por buen camino
Wink Posicionar cursor en un componente de bd

Como te indicaran en otro msg.:

con el Locate('nombre_cpo', var, [TLocateOptions]) el cursor de la grilla (grid)
se posiciona solo en el registro que cumpla la condición buscada.

Pero si lo que necesitas es ver el resultado de un conjunto de registros que cumplan con determindas condiciones, luego de efectuar el "filtro" en tu Table1, debes "refrescar" tu grilla:

with formconecciones.Querycatalogosemanas do
begin
sql.add('select * from catalogo_semanas where (fecha_inicio='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+' or fecha_fin='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+')');[FONT=verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif]
end;
DBGrid1.Refresh;

Espero que te sirva de ayuda.
[/font]
Responder Con Cita
  #6  
Antiguo 06-11-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
ok, haber para entender un poco mas, si el locate hace lo que yo busco, podrias ayudarme un poco con la sintaxis, creo q ese seria mi problema ahorita quedaria algo asi supongo , a menos que me corrijas,
Código Delphi [-]
 
Table1.Locate('nombreCampo', valorBuscado, []);
 
Table1.Locate('numero_semana',(fecha_inicio='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+' or fecha_fin='+formatdatetime('yyyy-mm-dd',strtodate(Editagregarfecha.text))+')', []);

mi duda es esa, como quedaria la sintaxys ocupando locate si quisiera hacer lo que hace el query.
__________________
En movimiento...
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
Clausula SQL para mover un registro karlaoax SQL 1 17-08-2007 21:49:25
Posicionarme en un registro especifico de un record Carliviris Varios 1 20-11-2006 18:35:41
Mover el cursor de DBGrid.... armadillo OOP 1 05-04-2006 13:42:48
Mover columnas en un dbgrid jzginez Conexión con bases de datos 2 11-07-2004 15:47:25
cambiar color al indicador del DBGrid jorge_mosquera OOP 1 07-04-2004 00:27:44


La franja horaria es GMT +2. Ahora son las 10:18: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