Avatar billede desi-mus Nybegynder
28. oktober 2004 - 16:03 Der er 18 kommentarer og
1 løsning

Komprimer en Access databasse

Jeg har en databasse som fylder godt 40 mb. Jeg kunne godt tænke mig at lave et program som kan komprimere databassen.
Jeg bruger ADO-Connection til db.

Jeg bruger (Borland Builder 6 C++)

//Rasmus
Avatar billede arne_v Ekspert
28. oktober 2004 - 20:02 #1
Jeg har svært ved at tro at du kan det via ADO.

Men du kan prøve noget a la:

system("\"C:\\Program Files\\Microsoft Office\\Office11\\msaccess.exe\" /Compact C:\\foobar.mdb");
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:17 #2
system("\"C:\\Program Files\\Microsoft Office\\Office11\\msaccess.exe\" C:\\foobar.mdb /Compact ");
er den rigtige kommando.

Men kan man ikke undgå at den åbner et dos vindue.
Avatar billede arne_v Ekspert
28. oktober 2004 - 21:19 #3
Hm. Ved ikke.

Måske med ShellExecute fremfor system.
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:21 #4
jeg får en fejl, når jeg bruger ShellExecute
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:22 #5
[C++ Error] Main.cpp(363): E2193 Too few parameters in call to '__stdcall ShellExecuteA(void *,const char *,const char *,const char *,const char *,int)'
  [C++ Error] Main.cpp(873): E2085 Invalid pointer addition
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:33 #6
Kan du ikke prøve at skrive en ShellExecute op.
Jeg ved ikke helt hvordan den er.
Avatar billede arne_v Ekspert
28. oktober 2004 - 21:34 #7
Den skal have en masse argumenter.

Jeg prøver lige.
Avatar billede arne_v Ekspert
28. oktober 2004 - 21:39 #8
Det her starter notepad skjult:

#include <windows.h>

int main()
{
  ShellExecute(NULL, "open", "notepad", "exec.c", NULL, SW_HIDE);
  return 0;
}
Avatar billede arne_v Ekspert
28. oktober 2004 - 21:40 #9
Så prøv:

ShellExecute(NULL, "open", "\"C:\\Program Files\\Microsoft Office\\Office11\\msaccess.exe\"", "C:\\foobar.mdb /Compact ", NULL, SW_HIDE);
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:51 #10
Det virker OK.  Men det bliver vist at "access starter op" (Start op billede). Hvis du ikke har en god ide kan du bare smide et svar, og du får point.
Avatar billede arne_v Ekspert
28. oktober 2004 - 21:56 #11
Ingen ideer
Avatar billede desi-mus Nybegynder
28. oktober 2004 - 21:58 #12
Arne v du har redet mig får en nats arbejde!

Tak!!!
Avatar billede rbj_fp Nybegynder
29. oktober 2004 - 08:30 #13
Avatar billede arne_v Ekspert
29. oktober 2004 - 20:03 #14
Ah. Så kunne man faktisk med ADO.
Avatar billede desi-mus Nybegynder
29. oktober 2004 - 21:07 #15
Meget interessant artikel!

Jeg har bare ikke de to filer som man skal importere.
Vi I hvor man kan finde dem?
Avatar billede arne_v Ekspert
29. oktober 2004 - 21:12 #16
Jeg har dem faktisk:

Directory of C:\Program Files\Common Files\System\ado

10/07/2002  09:22              61.440 msado20.tlb
10/07/2002  09:22              61.440 msado21.tlb
10/07/2002  09:22              81.920 msado25.tlb
10/07/2002  09:22              81.920 msado26.tlb


Directory of C:\Program Files\Common Files\System\ado

10/07/2002  09:33              90.112 msjro.dll

Så det ville undre mig om du ikke også havde dem.

Men jeg ved ikke om C++Builder understøtter #import
Avatar billede desi-mus Nybegynder
29. oktober 2004 - 22:11 #17
Er der en af jer der kan lave et eksempel i C++Builder. Får jeg kan ikke få det til at virke.
(Hvis der skal flere point til, så ordner vi det også)
Avatar billede arne_v Ekspert
29. oktober 2004 - 22:14 #18
Jeg har ikke C++Builder
Avatar billede rbj_fp Nybegynder
31. oktober 2004 - 11:39 #19
Desværre har jeg først været i nærheden af min arbejdsmaskine nu.

Men et lille hint:
På en dansk windows version bør de ligger her:
C:\Programmer\Fælles filer\System\ado

Ellers kan man oxo hente ado fra microsofts hjemmeside.
søg efter MDAC(Nuværende versions nummer er 2.8)

Hvis det ikke lige kan hjælpe, så bare skriv igen, kan dog først kigge på det tirsdag eller onsdag
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester