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)
-   -   Copiar tabla Access (https://www.clubdelphi.com/foros/showthread.php?t=8201)

Tangela 12-03-2004 00:03:00

Copiar tabla Access
 
:confused: Hola a todos: mi problema consiste en que quiero hacer una copia de seguridad de una tabla *.mdb desde un menú de la aplicación.
Bien, libero el DataModule en que se encuentra la Adotable y la AdoQuery con Datos.Free; y cierro también un formulario en el que hay activa otra tabla. No hay, en principio ningún componente de acceso a datos que no sea visual (un dbGrid y unos DBEdit a los que se les ajusta la propiedad Data Source en tiempo de ejecución.
Intento copiar con la función siguiente:
function CopiaTodo(Origen,Destino : String) :
LongInt;
var
F : TShFileOpStruct;
sOrigen, sDestino : String;
begin
Result := 0;
sOrigen := Origen + #0;
sDestino := Destino + #0;

with F do
begin
Wnd := Application.Handle;
wFunc := FO_COPY;
pFrom := @sOrigen[1];
pTo := @sDestino[1];
fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION
end;

Result := ShFileOperation(F);
end;


Invariablemente me aparece el mensaje de "Error al copiar archivo. No se pudo leer del disco o fichero". ¿Qué puedo hacer?

delphi.com.ar 12-03-2004 14:00:20

¿Quieres hacer un Backup de una tabla o de toda la base de datos? ¿No te convence hacerlo por SQL?

Tangela 17-03-2004 21:54:02

Bueno, la verdad es que ya encontré un modo de hacerlo mediante el comando CopyFile...
Pero ¿a qué te refieres con lo de hacerlo por SQL?

marcoszorrilla 17-03-2004 22:32:33

Con CopyFile lo que copias es todo el archivo .Mdb, en este caso no te explicaste bien, porque se había entendido que querías respaldar una tabla no la base de datos entera.

Un Saludo.

delphi.com.ar 18-03-2004 14:13:10

Claro, si se trata de una tabla puedes compiarla haciendo un SELECT INTO de la misma, y si quieres que este respaldo esté en otra MDB podrías agregar la instrucción IN al la sentencia.

Saludos!


La franja horaria es GMT +2. Ahora son las 13:36:34.

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