Ver Mensaje Individual
  #9  
Antiguo 25-04-2008
Nereida Nereida is offline
Miembro
 
Registrado: abr 2008
Posts: 34
Reputación: 0
Nereida Va por buen camino
Cita:
Empezado por jcarteagaf Ver Mensaje
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
Mejor te explico el diseño otra vez, ya que cambié algunas cosas debido a lo que me recomendaron:
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
Responder Con Cita