Ir al contenido


Foto

Problema con Absolute Database


  • Por favor identifícate para responder
5 respuestas en este tema

#1 jacobo2000

jacobo2000

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 23 octubre 2014 - 02:05

Hola, estoy haciendo un programa de base de datos portable con Absolute Database y no se como abrir la base de datos y sus tablas en tiempo de ejecución.
La idea es abrir una base de datos desde una aplicación portable. O sea, desde una ventana del programa seleccionar la ruta a la base de datos y entonces abrir la base de datos y sus tablas en tiempo de ejecución.
Abriendo la base y las tablas en tiempo de diseño ningún problema, pero a querer hacerlo como indico arriba no abre la base. La base y las tablas están en un módulo de datos.
El código que uso es el siguiente:


delphi
  1. //abrir base
  2.   DM.nutri1.DatabaseFileName :=  nombrebase; (nombrebase es la ruta al archivo de base de datos)
  3.   DM.nutri1.Open;
  4. //abrir tablas
  5.   DM.ABSTable1.Open;
  6.   ....


¿Alguna idea?
  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 23 octubre 2014 - 02:10

Y te genera algún tipo de error, mensaje, o algo parecido ?  *-)

Saludox ! :)
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 23 octubre 2014 - 02:10

Por cierto, bienvenido a DelphiAccess  (y), ojalá te sientas agusto por aquí...  (b)

Saludox ! :)
  • 0

#4 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 23 octubre 2014 - 03:18

Bienvenido al foro amigo.

Concuerdo con Fenareth, en que nos des a conocer el error que te está apareciendo.  De momento puedo decirte que cierres la conexión en tiempo de diseño y borra lo que tengas en la propiedad DatabaseFileName , deja eso en blanco, entonces el componente intentará conectarse con lo que le pases dinámicamente.

Saludos.


  • 0

#5 jacobo2000

jacobo2000

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 27 octubre 2014 - 09:37

Hola, ante todo muchas gracias por la bienvenida.

Bueno, parece ser que AbsoluteDatabase no se entiende muy bien con los modulos de datos y las referencias a componentes situados en otras ventanas.

Experimentando un poco, he creado una ventana de bienvenida y la he aprovechado como módulo de datos, (haciéndola ventana principal del proyecto y colocando todas la tablas y el database en ella), y desde esta ventana le doy la ruta del archivo de base de datos y abro todas las tablas despues. Dejando en las ventanas hijas y diálogos, (la aplicación es MDI), sólo los DataSources referenciados a las tablas de la ventana de bienvenida.

Algo parecido a la demo MastApp de Delphi7.

Mediante un botón para iniciar abro la que antes era la ventana principal del programa y oculto la ventana de bienvenida hasta que cierro esta ventana,( la que era antes la ventana principal del programa ), y vuelvo a mostrar la ventana de bienvenida para cerrar la base de datos y salir al sistema.

Así funciona perfectamente.

Otra forma puede ser colacar el database en la ventana principal, pero todas las llamadas del tipo:

FormPrincipal.ABSTable.Open;

o

FormPrincipal.ABSTable.Active:=True;

rompen la aplicación.

Ya os iré contando qué tal me va.
Se aceptan sugerencias.
Saludos.
  • 0

#6 jacobo2000

jacobo2000

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 24 abril 2015 - 09:22

Bueno, parece que creando el módulo de datos al arrancar la aplicación, o sea, colocando la creación del DataModule en la unit del proyecto, (antes de que se cree el formulario principal), tambien puede usarse el módulo de datos con esta base de datos.


  • 0




IP.Board spam blocked by CleanTalk.