06. november 2001 - 11:52
Der er
22 kommentarer og 1 løsning
Komprimering af Access-database vha SQL
Det er nemt nok at åbne Access og trykke på \"Komprimer og Reparer\" - men kan man gøre det udefra ved at kalde en \"forespørgsel\"/\"stored procedure\"? Hvis ja - hvordan skal den forespørgsel så se ud. Hvis der skal bruges VBA til det, så smid det ved svaret. Skal der bruges sort magi, så vedlæg en præcis \"opskrift\", så jeg kan afprøve den.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
06. november 2001 - 12:25
#1
Du skal bruge kode til det. På DBEngine er der en metode, som hedder CompactDatabase. Parametrene (krævede) er eksisterende database og ny database.
06. november 2001 - 12:31
#2
Kan du smide et eksempel på koden? Jeg er ikke nogen ørn (ikke engang en gråspuv) til Access.
06. november 2001 - 12:44
#3
Databasen må ikke være åben. DBEngine.CompactDatabase c:\\OldDB.Mbd, c:\\CompressedDB.mdb
06. november 2001 - 12:55
#4
SKAL den have et komplet sti? Endvidere kan jeg ikke finde nogen \"DBEngine\"-funktion i Access\' indbyggede funktioner. Hür fa\'en skal man få det til at virke? Grundig guide tak :-)
06. november 2001 - 12:56
#5
Den skal have komplet sti. Har du en reference til DAO? (Project, References)
06. november 2001 - 13:01
#6
Ingen anelse - hvad er DAO?
06. november 2001 - 13:06
#7
Data Access Objects. Hvis du ser i referencerne, så skal du have hak i en, som hedder Microsoft Data Access Objects 3.5x eller 3.6
06. november 2001 - 13:09
#8
Jeg har dem tilsyneladende (der står ingen MISSING foran dem) - men de er ikke aktiveret i databasens nuværende udformning.
06. november 2001 - 13:10
#9
Arbejder du i Access eller Visual Basic?
06. november 2001 - 13:15
#10
Lidt i Access. Arbejder på at få flyttet det meste af arbejdet væk fra Access, og lige nu er problemet at få komprimeret databasen.
06. november 2001 - 13:16
#11
Du kan ikke bruge dem, hvis du ikke har markering ud for dem i referencelisten. Og du skal bruge dem for at få fat i DBEngine fra Visual Basic.
06. november 2001 - 13:24
#12
Nu er de markeret - Access vil stadig ikke acceptere DBEngine.CompactDatabase c:\\OldDB.Mbd, c:\\CompressedDB.mdb
06. november 2001 - 13:25
#13
Findes c:\\OldDB.mdb?
06. november 2001 - 13:26
#14
Findes c:\\CompressedBD.mdb (må den ikke)
06. november 2001 - 13:26
#15
fejl 40 prøver lige igen ... duh!
06. november 2001 - 13:32
#16
Jeg prøver at gøre det på den forkerte måde - jeg prøver at oprette en forespørgsel. Når jeg indtaster følgende i formularen \"guide\" (eller hvad den hedder): DBEngine.CompactDatabase C:\\Progra~1\\GHEM\\Energy\\Database\\Energy.mdb, C:\\Progra~1\\GHEM\\Energy\\Database\\Energy2.mdb \"Det indtastede udtryk indeholder en ugyldig syntaks Du har måske indtastet et semikolon uden en foranstående værdi eller et foranstående id-navn.\" Skal det indstastes et bestemt sted?
06. november 2001 - 13:34
#17
Ja. Det skal gøres i Visual Basic. Du prøver at gøre det i forespørgselsdesigneren.
06. november 2001 - 13:40
#18
Tillad mig at gentage min kommentar fra tidligere: Grundig guide tak.
06. november 2001 - 13:46
#19
Du er nødt til at lave et Visual Basic projekt til det. Standard EXE. Du skal have reference til Microsoft Data Access Objects 3.5x eller 3.6 i Form1_Load skriver du din linie fra før (evt. med Programmer eller Program Files i stedet for Progra~1) DBEngine.CompactDatabase C:\\Progra~1\\GHEM\\Energy\\Database\\Energy.mdb, C:\\Progra~1\\GHEM\\Energy\\Database\\Energy2.mdb Kør programmet
06. november 2001 - 13:50
#20
Det vil sige, at hvis der ikke er tale om et VB-program, men f.eks. et pearl-script, så kan det ikke lade sig gøre at komprimere databasen udefra?
06. november 2001 - 13:51
#21
Det kan lade sig gøre i de script-sprog, som håndterer COM objekter.
13. november 2001 - 08:59
#22
Ikke for at blande mig, men hvad er der i vejen med at åbne databasen med kommandolinieargumentet \"Compact\" således:
C:\\Programmer\\Office\\MSAccess.exe C:\\Dokumenter\\MinDatabase.mdb /compact C:\\Dokumenter\\NyDatabase.mdb
Dette er altså blot en genvej/shortcut man kan kalde for at komprimere databasen.
Det sidste argument (C:\\Dokumenter\\NyDatabase.mdb) kan udelades for at komprimere i den samme fil.
/Thomas
www.makeiteasy.dk
13. november 2001 - 09:01
#23
Hvis Access ikke er installeret på run time maskinen, så er dette \"not an option\"
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser