Avatar billede dylan Nybegynder
19. september 2004 - 14:17 Der er 8 kommentarer og
1 løsning

Ajourføring af database vha VBscript

Jeg har fået hjælp til vedlagte program herinde som kører som en vbs fil!
Jeg har 2 spørgsmål til det
1.  kan man ligge en msgbox ind der siger at programmet udføres mens det kører....
2. Kan programmet ikke køre hvis access ikke er installeret og så fald..er der andre muligheder?

Dim appACC
Set appACC = GetObject("c:\kartoteker.mdb")
appACC.DoCmd.DeleteObject acTable, "varekartotek"
appACC.DoCmd.TransferDatabase acImport, "Microsoft Access", "L:\faelles\kartoteker.mdb", acTable, "varekartotek","varekartotek",  False
set appACC = Nothing

msgbox "Kopiering udført"
Avatar billede tofte Juniormester
19. september 2004 - 15:35 #1
1) Du kan godt lægge en msgbox ind inden udførelsen af programmet. Problemet er bare, afviklingen af scriptet afventer, at der bliver trykket ok, inden resten af koden afvikles.
Så svaret må nok være nej. Du kan få en før, og en efter.

2) Ja, access skal være installeret for at kunne køre ovenstående. Man kan skrive det om, således at det kun er databasemotoren(mdac) som skal være installeret.

Er der da andre tabeller i databasen som skal bevares, siden du ikke bare flytter hele databasen? Eller er det fordi der er brugere som benytter databasen i det øjeblik der skal kopieres?
Avatar billede dylan Nybegynder
19. september 2004 - 16:08 #2
Der er ikke brugere der benytter den database der bliver hentet fra...den mdac du nævner..ligger den automatisk i officeprogrammet, så alle har den? Hvad skal så ændres i programmet?
Avatar billede tofte Juniormester
19. september 2004 - 16:29 #3
Spørgsmålet går faktisk på, hvorfor du bare kopiere hele database i stedet for at kopiere en enkelt tabel?

Hvis brugerne bruger XP, så ligger mdac der automatisk, tror også den bliver installeret med office, men er ikke sikker. Den kan hentes gratis.
Avatar billede dylan Nybegynder
19. september 2004 - 16:41 #4
jeg troede bare at det ville gå hurtigere, hvis jeg importerede den enkelte tabel
Avatar billede tofte Juniormester
19. september 2004 - 16:49 #5
det kommer an på, hvor mange andre data der ligger i databasen, men den skal være ret stor database, hvis det skal gå hurtigere.
Avatar billede dylan Nybegynder
19. september 2004 - 16:53 #6
ok...hvordan skal koden være hvis det skal ske via kopiering
Avatar billede tofte Juniormester
19. september 2004 - 17:11 #7
du kan bare lave en alm bat fil.

opret en fil som hedder copy.bat
med følgende indhold:

del C:\kartoteker.mdb
copy L:\faelles\kartoteker.mdb C:\kartoteker.mdb

gem filen, og når du trykker kører filen, sletter den først HELE databasen C:\kartoteker, efterfølgende kopier den HELE databasen fra fællesdrevet til C:

Ovenstående burde virke.
Avatar billede tofte Juniormester
19. september 2004 - 17:12 #8
hmm, du må hellere kalde den noget andet end copy.bat, eks db_copy.bat eller lign.
Avatar billede dylan Nybegynder
19. september 2004 - 17:36 #9
fint tak for hjælpen!
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