Avatar billede tida Juniormester
02. juni 2004 - 09:22 Der er 32 kommentarer og
1 løsning

Makro til åbning af Access database

Jeg har brug for en makro i Excel der udfører følgende :

Åbner Access, hvis  programmet da ikke allerede er åbent
og
Åbner specifik database, hvis denne da ikke allerede er åben.
og går til databasen.

Kan nogen evt. hjælpe med at levere en sådan.
På forhånd tak
Avatar billede jkrons Professor
02. juni 2004 - 11:59 #1
Denne kode åbner en database og viser en formular:

Sub OpenDatabase()

    strdb = "c:\demo.mdb"
    Set appAccess = CreateObject("Access.Application")
    appAccess.Visible = True
    appAccess.OpenCurrentDatabase strdb
    appAccess.DoCmd.OpenForm "frmsysteminformation"
    Set appAccess = Nothing

End Sub
Avatar billede tida Juniormester
02. juni 2004 - 12:32 #2
Jeg er ikke helt med på hvad jeg skal med den formular....makroen giver mig iøvrigt en fejl p.g.a. manglende formular ??
Avatar billede jkrons Professor
02. juni 2004 - 13:09 #3
Du skal selvfølgelig rette stien til databasen til din egen database, og navnet på formularen til navnet på en formular, der findes i din database.
Avatar billede tida Juniormester
02. juni 2004 - 14:09 #4
okay....er jo ikke nogen Access ekspert....faktisk er mit kendskab hertil lig nul....men jeg har da fået makroen til at virke ved indsættelse af et sti- og dertilhørende formularnavn......MEN....nogengange åbner makroen en base men lukker den igen i samme sekund ??
Avatar billede jkrons Professor
02. juni 2004 - 14:28 #5
Hvis du ikke åbner en formular, eller hvis formularen ikke eksiterer, lukker databasen ned igen med det samme.
Avatar billede tida Juniormester
02. juni 2004 - 14:34 #6
Det syntes jeg ikke helt holder stik.....nogengange virker makroen, andre gange får jeg en fejl a la "formularnavn findes ikke", hvilket har været korrekt....og så den her sidste variant...åbn/lukke uden fejlmeddelelse.

Jeg har også nogle baser der skal åbens uden formular...hvordan kringler jeg den ?
Avatar billede jkrons Professor
02. juni 2004 - 14:38 #7
Hvad skal du bruge de åbne databaser til? Langt de fleste databasekald fra andre programmer er indrettet på at virke uden at databasen gøres synlig.
Avatar billede tida Juniormester
02. juni 2004 - 14:59 #8
Jeg er i færd med at oprette en form for dokumentationsfil i Excel, der dels beskriver alle vore databaser og som er tilknyttet en knap der åbner den aktuelle database....det er sådan set det !
Avatar billede jkrons Professor
02. juni 2004 - 15:23 #9
Ok!  Jeg troede at du skulle hente data ud af databaserne. Jeg arbejder videre med sagen :-)
Avatar billede eyvind Seniormester
02. juni 2004 - 19:46 #10
Acces hjælp> skriv autoexec > nu for du en rigtig god forklaring på automatisk åbning af en database og du kan bestemme hvor den skal stille sig efter åbning og om den skal maximeres.
Husk når du har lavet den at gemme med navnet autoexec
Avatar billede jkrons Professor
02. juni 2004 - 20:46 #11
eyvind-> Koden skal ikke køre i Access men i Excel
Avatar billede eyvind Seniormester
02. juni 2004 - 20:51 #12
Nåe ja - det overså jeg lige.
Avatar billede jkrons Professor
02. juni 2004 - 23:21 #13
Tilsyneladende kan man ikke åbne en database, hvis ikke den indeholder en formular. Jeg har dog ikke opgivet endnu. Denne kode åbner dog databasen uden at vise formularen:

Sub OpenDatabase()

    strdb = "c:\demo.mdb"
    Set appAccess = CreateObject("Access.Application")
    appAccess.Visible = True
    appAccess.OpenCurrentDatabase strdb
    appaccess.DoCmd.OpenForm "frmsysteminformation", , , , , 1
    Set appAccess = Nothing

End Sub
Avatar billede eyvind Seniormester
03. juni 2004 - 15:59 #14
Et forslag:
Database står til autoexec.
I excel lav din knap og tilføj hyperlink
peg på databasefilen
og nu kan du åbne din database fra excel
Jeg har lige prøvet og det virker.
Avatar billede tida Juniormester
04. juni 2004 - 09:00 #15
Da jeg ikke er hjemme i Access må du forklare hvordan
jeg sætter en database til autoexec.....ellers lyder det rimelig nemt.
Avatar billede tida Juniormester
04. juni 2004 - 09:11 #16
eyvind> Har prøvet den seneste makro....men jeg syntes mest af alt det virker somom makroen "lukker" ned midt i det hele, og dermed fjerner Access....den åbner Access fint...makroen lukker...og trækker Access med ned.
Avatar billede jkrons Professor
04. juni 2004 - 09:21 #17
Ideen med hyperlinks er nu god nok. Men du behøver ikke at gøre noget ved databasen. Du kan simpelhen indsætte et hyperlink i dit regneark, der peger på den pågældende database.
Avatar billede tida Juniormester
04. juni 2004 - 09:29 #18
Undskyld forrige kommentar var jo til jkrons...beklager
Avatar billede tida Juniormester
04. juni 2004 - 09:32 #19
eyvind> Har faktisk netop prøvet at indsætte en simpel hyperlink i Excel...det åbner basen uden problemer....der er bare en lille bi-ting....der åbnes også en Web værktøjslinie ind over databasen som man må skyde ned hver gang...kan den komme væk permanent?
Avatar billede tida Juniormester
04. juni 2004 - 09:33 #20
Kan man knytte en hyperlink til en knap ?
Avatar billede jkrons Professor
04. juni 2004 - 09:33 #21
tida-> makroen virker fint hos mig - men kun hvis der er en formular i databasen. Ellers har du helt ret i at Access lukker ned igen. Jeg har nu spurgt flere steder (blandt andet i de internationale nyhedsgrupper), og ingen har kunnet give mig et svar på, hvordan man ved hjælp af VBA kan åbne en Access fil, og vise den på skærmen, hvis ikke den indeholder en formular.
Avatar billede jkrons Professor
04. juni 2004 - 09:36 #22
Du kan knytte et hyperlink til en kommandoknap. Lav knappen, makrer den. Indsæt hyperlink - men der er den lille skavank, at regenarket sjkal være i designvisning, for at knappen virker.
Avatar billede bak Forsker
04. juni 2004 - 09:58 #23
prøv lige at se om ikke det her kan gøre det

Sub GetObjectACC()
    Dim acApp          As Object
    On Error Resume Next
    Set acApp = GetObject("c:\db1.mdb")
    acApp.Visible = True
    acApp.UserControl = True
End Sub
Avatar billede jkrons Professor
04. juni 2004 - 10:01 #24
Det ser faktisk ud som om det gør det - mn sæt lige acApp = Nothing til sidst for god ordens skyld :-)
Avatar billede tida Juniormester
04. juni 2004 - 10:12 #25
Hmmm....jeg kan kun sige et....ren og skær....konge !!!
Send mig et svar bak......og tak til jer andre to også.
Avatar billede tida Juniormester
04. juni 2004 - 10:42 #26
Nu har jeg indsat alle makroer....kørt en test....alt virkede okay....men pludselig åbner den kun en bjælke af Access i Excel...det er jeg jo ikke helt tilfreds med...
Avatar billede jkrons Professor
04. juni 2004 - 10:46 #27
Jeg har prøvet min egen løsning (med formular) over 100 gange og bka's løsning 10-15 gange uden problemer, så jeg begynder at tro, at det måske er dine Access indstillinger, der er noget galt med. Jeg ved bare ikke hvilke.
Avatar billede tida Juniormester
07. juni 2004 - 09:55 #28
Vil det sige at vi nu er gået i stå...er der ikke mere hjælp at hente ?
Avatar billede jkrons Professor
07. juni 2004 - 10:00 #29
Når det virker hos mig, og formodentlig også hos bak, men ikke virker hos dig, ved jeg faktisk ikke, hvad jeg skal foreslå.
Avatar billede bak Forsker
07. juni 2004 - 10:32 #30
Kan du slet ikke få bjælken op i fuld størrelse ?
Avatar billede jkrons Professor
07. juni 2004 - 10:38 #31
Su kunne evt prøve at lægge denne kode ind lige før accApp.UserControl

acApp.DoCmd.Maximize
Avatar billede tida Juniormester
07. juni 2004 - 14:44 #32
Ja det hjalp tilsyneladende...takker.
Så er der points.....det ligner vist en deler....bak sender du lige et svar
Avatar billede bak Forsker
07. juni 2004 - 15:05 #33
Fint, godt det blev løst .
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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