![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
La fila no la sé, ya que por ejemplo una inserción que he hecho, en el dbgrid aparece por la mitad. Gracias por tu paciencia y por ayudarme Saludos ![]() |
|
#2
|
||||
|
||||
|
Que operaciones haces despues de hacer el Tabla.post? no tienes algo en el evento afterpost?
|
|
#3
|
|||
|
|||
|
No he puesto nada, la verdad. Tengo que poner alguna cosa???
|
|
#4
|
||||
|
||||
|
Pregunto : Estarás utilizando dos DataSet's (TTable o TQuery ...) diferentes, y/o dos DataSource's diferentes, uno para la visualización del DBGrid, y otro(s) diferentes para la adición/edición del registro en cuestión ??
__________________
Piensa siempre en positivo ! |
|
#5
|
||||
|
||||
|
Nereida:
Revisando la sección de Acceso a bases de datos encontre este post tuyo Me parece que usas un grid para mostrar tus datos mediante un IBQuery y luego lo añades o editas en otra pantalla usando un IBTable (estoy en lo correcto?). En caso de ser asi seguramente al terminar la operación de adición/edicion haces un refresh y eso hace que pierdas el puntero del registro adicionado/editado. Por favor corrigeme si estoy equivocado. En caso de que fuera asi te sugiero hacer lo siguiente: Usa un TIBQuery para acceder a los datos, puedes colocar un datasource que relacione el grid y el TIBQuery en la pantalla de navegación y otro datasource que relacione el mismo TIBQuery (deberas usar File|Use unit para referenciar a la pantalla del grid) con los componentes dbEdits. Es decir 3 componentes: IBQuery1 -> apunta a tus datos Datasource1.Dataset = IBQuery1 dbgrid1.datasource = datasource1 Datasource2.dataset = Pantallagrid.ibquery1 dbedit1.datasource = datasource2 ... dbeditn.datasource = datasource2 Espero que te solucione el problema (si es que entendi bien tu diseño). Saludos |
|
#6
|
|||
|
|||
|
Cita:
En mi primer formulario, tengo un dbgrid (entre otros componentes, pero este es el que nos interesa). Mi dbgrid está relacionado con un ibtable (podría haber usado un query pero preferí el table pq como soy una novata, asi distingo entre las consultas y lo que es la tabla en sí). Por otra parte, cuando doy un alta, se abre un nuevo formulario cuyos registros están relacionados con un ibquery. Una vez los guardo, actualizo el ibtable. Es decir, en el dbgrid, una vez he dado un alta o hecho una modificación si que me la muestra correctamente. El problema es que me selecciona el registro del dbgrid que "quiere" (la programación de los objetos me cuesta entender como se ha hexo). Muchisimas gracias, de veras |
|
#7
|
||||
|
||||
|
Nereida, ahora si entendi tu problema:
1. Usas un IBTable para mostrarlo en el grid 2. Usas una forma aparte para añadir un registro mediante un IBQuery 3. Al añadir un nuevo registro...mocos!!!, el grid muestra lo que quiere. Solución: 1. Añade la unidad de laforma donde esta el grid a la pantalla de adición. 2. En tu forma de adición debes tener un datasource haz que apunte al IBTable de la forma del grid. 3. En la forma del grid pon lo siguiente en el boton Adición (o en el contro lque uses para llamar a tu forma de adicion):
Al tener 2 datasets diferente apuntando al mismo dato, nunca lograras coordinar la información. Por eso usa uno solo (IbTable en tu caso) para que al actualizar en un lado, se actualize automaticamente en el otro. Ahora si espero haberte ayudado. Saludos. |
|
#8
|
|||
|
|||
|
Cita:
Me parece que te estoy mareando un poco, asi que lo siento. |
|
#9
|
||||
|
||||
|
Si no quieres realmente modificar tu diseño (lo cual te recomiendo), lo que deberás de hacer es lo siguiente :
1. Antes de refrescar tu IBTable, grabas la clave de referencia en una variable auxiliar. 2. Refrescas tu IBTable (que no sé como lo harás...), porque si utilizas el IBTable.Refresh, deberás estar colocado sobre el registro en cuestión, y no haría falta toda esta discusión (creo yo). 3. Con un IBTable.Locate de la clave guardada, te vuelves a posicionar en el registro correcto. ![]() Lo suyo, por supuesto, es trabajar con un diseño correcto, por eso te aconsejo lo que se está debatiendo.
__________________
Piensa siempre en positivo ! |
|
#10
|
|||
|
|||
|
Cita:
![]() Estoy por dejarlo por caso perdido pq esto parece que no se vaya a solucionar y aún como me ayudais. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problemas con un DBGrid | CFPA86 | Varios | 3 | 18-02-2008 16:59:38 |
| Problemas Con Dbgrid | nikotina | Conexión con bases de datos | 4 | 13-10-2006 17:43:16 |
| Problemas con el DBGrid | Shidalis | Conexión con bases de datos | 8 | 07-12-2005 15:53:50 |
| Problemas con un dbgrid | majosf | Conexión con bases de datos | 2 | 08-09-2005 13:27:14 |
|