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
  #21  
Antiguo 16-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Es que no creo que sea algo fácil. No me atrevo a decir que sea imposible pero velo desde esta perspectiva:

Hacer algo como lo que quieres requiere conocer de una u otra forma la posición exacta de un registro dentro del conjunto de resultados. Cuando conectas el dbgrid a una tabla paradox, la barra de desplazamiento refleja esta posición actual en la tabla. Sin embargo, apenas pones un filtro en la tabla, la barra sólo toma tres posibles posiciones: al principio, en medio y al final. Esto es, los mismos diseñadores de la vcl no encontraron una manera precisa de reflejar la posición dentro de una tabla filtrada.

Así pues, lo único que a mi se me ocurre es insertar un ClientDataSet entre el dbgrid y el table que uses:

Table->DataSetProvider->ClientDataSet->DataSource->DbGrid

aunque esto puede implicar uno que otro cambio en la forma en que actualizas la información en la base pues requieres hacer uso de ClientDataSet.ApplyUpdates además del Post usual.

// Saludos
Responder Con Cita
  #22  
Antiguo 16-05-2006
Avatar de Colgueit
Colgueit Colgueit is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lanzarote, España
Posts: 91
Poder: 19
Colgueit Va por buen camino
Thumbs down

Gracias Roman por responder.

Pues, visto lo visto, mejor dejarlo, que si dices que es dificil o incluso imposible pues será porque es así, que creo que tu eres de los que mas sabe de por aquí.

Y tampoco pasa nada por no hacerlo, solo era por cuestión de estética, no pasa nada si no lo hago, pero ya me daba coraje no poder hacerlo porque pensaba que no era dificil y decia "joder lo tengo que poder hacer!".

Ya solo agradecer a todos los que habeis intantado ayudarme, Muchas Gracias, de verdad!

Saludos
Responder Con Cita
  #23  
Antiguo 17-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Poder: 19
waltergomez Va por buen camino
Hola Colgueit,

Me sorprende que lo ultimo que te pase no funcione dado que a mi si me funciona perfectamente, y lo unico que no ofunciona es cuando en la grilla te moves con las barras de scroll.
La funcion DbiGetExactRecordCount devuelve en forma exacta la cantidad de registros filtrados y al publicar el metodo protegido Scroll podes llevar la cuenta en el ejemplo al hacer doble click en la grilla me muestra de registro de la forma x/XXX.
Y use paradox por las dudas.
salu2,
Responder Con Cita
  #24  
Antiguo 17-05-2006
mariofur mariofur is offline
No confirmado
 
Registrado: ene 2003
Posts: 31
Poder: 0
mariofur Va por buen camino
Si trabajas con la tabla paradox, que tal si añades uun campo incremental a la tabla y luego utilizas el valor de dicho campo con FieldValues por ejemplo?

Yo lo hago habitualmente.

Espero haberte ayudado.
Responder Con Cita
  #25  
Antiguo 17-05-2006
Avatar de Colgueit
Colgueit Colgueit is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lanzarote, España
Posts: 91
Poder: 19
Colgueit Va por buen camino
ya falta poco (espero)

Para waltergomez: ya se porque a tí te a funcionado, y es porque solo funciona bien la primera vez que se hace, la primera vez que se filtra funciona, lo calcula bien, pero si desfiltro o hago otro filtro diferente, ya los calcula mal otra vez. Aunque si lo hace bien la primera vez , se tiene que poder hacer para que siempre funcione, tiene que ser haciendo un pequeño cambio pero he estao probando muchas combinaciones y no hayo como hacerlo, como no entiendo bien el codigo... A ver si me puedes ayudar (otra vez) a resolver cual es el cambio que hay que hacer para que funcione correctamente. Muchas gracias de nuevo, yo seguire probando a ver si hayo con la solucion, que creo que ya esta cerca jeje. Thanks. Un saludo

Para mariofur: Ojala fuera tan facil, no has entendido bien lo que quiero hacer, pero gracias de todas formas.
Responder Con Cita
  #26  
Antiguo 17-05-2006
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Colgueit, una pregunta es solo para hacer consultas?
Si la respuesta es correcta y la memoria no me falla, podras crear una tabla temporal, copiada de la original, añadiendo un campo, supongamos que lo llamamos "posiscion", leemos registro por registro y en cada registro añadimos un numero que iremos cogiendo de un contador incremental. Si tabla esta filtrada hacemos lo mismo una vez la original este filtrada. ahora deberia funcionarte.

EJjemplo teorico

tabla original 100 registros/ tabla temporal 100 registros
Resultado del filtro 10 de 100 registros / tabla temporal de los filtrados 10 de 10 registros (sólo) los filtrados

Comentarte que recuerdo haber hecho algo parecido, pero hace tiempo que no trabajo programando y estoy volviendo a casí empezar. Ten encuenta que si la tabla es muy grande puede tardar un rato en mostrar el resultado.

Espero te sirva y un saludo desde Canarias

Última edición por José Luis Garcí fecha: 17-05-2006 a las 16:04:21.
Responder Con Cita
  #27  
Antiguo 17-05-2006
Avatar de Colgueit
Colgueit Colgueit is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lanzarote, España
Posts: 91
Poder: 19
Colgueit Va por buen camino
Gracias Jose Luis pero ya habia pensado algo parecido y no me sirve al igual que tampoco me sirve hacer consultas sql ya que utilizo el grid para modificar, eliminar y añadir, pero gracias.

Saludos desde Malaga, aunque pronto te saludaré tambien de Canarias (en concreto de Lanzarote)
Responder Con Cita
  #28  
Antiguo 18-05-2006
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Te puede servir, con un poco mas de trabajo, una vez tienes el registro selecionado, supongo que tendra un código especifico, buscas en la tabla original y modificas, eliminas,editas, etc, lo único que no recuerdo bien pero creo que en las paradox podias coocar un nuevo registro en una posicion intermedia de la base de datos, pudiendo agregar antes o despues del registro.

Me alegro que vengas a Canarias, Lanzarote es una Isla Preciosa, misteriosa, desertica, pero Maravillosa, yo te escribo desde Gran Canaria, Un saludo y que lo pases bien.
Responder Con Cita
  #29  
Antiguo 16-03-2007
PINO72 PINO72 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Málaga - España
Posts: 40
Poder: 0
PINO72 Va por buen camino
Smile Posible solución

Hola,
Después de lo que habeis dicho anteriormente, creo tener la solución...
Tuve el mismo problema utilizando un DBGrid para controlar el detalle de las facturas en la aplicación que estoy desarrollando, aunque lo mio fué problema de controlar la actualización del nº de linea de cada una de las partidas en caso de que se suprimieran, añadieran o actualizaran.

Terminé por utilizar un ClientDataSet y un DataSetProvider asociado a la tabla de lineas. Controlé la actualización de los números de linea mediante la indexación del clientdataset por este campo y todo empezó a ir bien.

Todo este rollo es para comentaros que la actualización fué bien porque en todo momento el valor del campo Recno tomaba el de la linea real dentro del cuerpo de la factura, esto es, cuando se insertaba una linea en la fila dos del DBGrid(Asociado al DataSet del ClientDataSet) la fila actual pasaba a ser la tres y así sucesivamente. En cuando a la supresión, ocurría de manera correcta.

Por tanto, en teoría deberías poder conseguir el nº de registros actual del DBGrid, consultando despues de un Last a la tabla ClientDataSet el valor Recno que te devuelva. No sé si me entiendes... ya que este valor se actualiza automáticamente cada vez que añades o suprimes registros en la tabla.

Espero haber entendido tu problema ...


Saludos.
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
Mostrar numero de fila DBGrid danielcordovahe Varios 2 20-09-2005 01:00:21
Fila del DbGrid Rabata Varios 3 08-11-2004 22:18:13
Número de Fila en Report Manager KayserSoze Impresión 1 20-02-2004 20:57:11
numero de fila en dbgrid manu Varios 5 18-12-2003 21:06:14
Numero de fila en TSQLDataSet andre Conexión con bases de datos 2 26-06-2003 16:52:42


La franja horaria es GMT +2. Ahora son las 07:47:47.


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