Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Trabajar Access desde Delphi (https://www.clubdelphi.com/foros/showthread.php?t=34593)

JoAnCa 14-08-2006 23:59:01

Trabajar Access desde Delphi
 
Tengo dos preguntas:
1. Como se pueden ejecutar comandos de Access desde mi aplicacion Delphi, por ejemplo para compactar el MDB. :confused:

2. Quisiera restaurar una base de datos desde una salva, pero cuando voy a sustituir el mdb actual por la salva, no me deja porque está bloqueado. Como puedo desbloquearlo para poder sustituirlo. :confused:

Enan0 15-08-2006 00:51:37

Con este codigo tenes como hacerlo. solo tenes que importar una DLL

tenes que hacerlo mediante el menu
Projects|import Type library|Microsoft Jet 2.6 o la version mas nueva.
y entonces despues agregas en los uses JRO_TLB

Código Delphi [-]

var
 engine: IJetEngine;
 src, dst, path: WideString;
begin
   // Directio donde se encuentra
   path :=ruta;
   //src: Base de Datos existente con password antiguo
   src := 'Provider= Microsoft.Jet.OLEDB.4.0;Data Source=' + path +
 'base.mdb' +
//Suponemos que la base de datos se llama BASE.mdb
   ';Jet OLEDB: Database Password=mypsw';
   //dst: Base de Datos nueva con password cambiado
   dst := 'Provider= Microsoft.Jet.OLEDB.4.0;Data Source=' + path + 'basenueva.mdb' +
   ';Jet OLEDB: Database Password=mypsw2';
 engine := CoJetEngine.Create();
 engine.CompactDatabase(src, dst);
end;

Saludos

Enan0 15-08-2006 00:56:15

Cita:

Empezado por Jose Caceres
Tengo dos preguntas:
2. Quisiera restaurar una base de datos desde una salva, pero cuando voy a sustituir el mdb actual por la salva, no me deja porque está bloqueado. Como puedo desbloquearlo para poder sustituirlo. :confused:

Con respecto a esta.. Primero que nada Tenes que Tenerla Cerrada (sin ninguna aplicacion accesando) y despues abrirla en modo exclusivo

menu Archivo|abrir, seleccionas tu base (y en el boton abrir click sobre la flechita) modo exclusivo

JoAnCa 16-08-2006 00:32:20

Trabajar Access desde Delphi
 
En la segunda pregunta, lo que quiero hacer es desde el mismo programa delphi restaurar la bases de datos, es decir:
Tengo un menú con dos opciones: Salvar y Restaurar
Salvar hace una copia del mdb en una ubicación seleccionada y
Restaurar me debia restaurar esa salva en su ubicacion original, pero a pesar de cerrar la Base de Datos y desconectar el ADOConection, me sigue bloqueada y no me la deja sustituir.

Hay alguna forma de desbloquearla desde delphi.
El objetivo es facilitarle las cosas al usuario final, que no tenga que hacer la copia a mano, sino que sea el mismo programa quien lo haga

Enan0 16-08-2006 12:39:49

Mira para restaurarla solo tendrias que cambiar EL Origen por el DESTINO y listo :D, no se si estas de acuerdo.

probaste abrir la base de datos desde access como te comente?
saludos


La franja horaria es GMT +2. Ahora son las 22:35:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi