Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:00 Der er 22 kommentarer og
1 løsning

Kald fil fra hændeses knap

Jeg har en access data base som jeg har en mainform med nogle knapper på, jeg har en knap til at skrive på en drev som gerne skulle mountes via en batch fil ? kan man kalde en fil som i vb eller hvordan ?
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:10 #1
Det skulle gerne være noget alla dette : Call Shell(App.Path & "unixdrive.bat", vbNormalFocus)
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:10 #2
Jeps - med Shell-kommandoen.
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:11 #3
Hov, jeg er ikke sikker på du bare kan kalde bat-filen direkte. Det er meget muligt den skal kaldes med command og med parametre.

Alternativt burde du kunne køre en net use direkte fra app'en.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:16 #4
Det bedste ville helt klar være vis jeg kunne fyre net use'en af direkte i koden men hvordan ?
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:21 #5
Også med shell. Men igen skal du nok bruge command med parametre, vil jeg tro.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:22 #6
måske : Dim X
    X = Shell ?
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:27 #7
Nej, nærmere:

dim kommando as string

  kommando = "command net use \\..."
  shell command, vbnormalfocus

Det er indholdet af kommando jeg er mest usikker på.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:31 #8
Den den ikke kan finde filen (Command) ?
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:41 #9
Shell "C:\Windows\system32\Cmd.exe /c net use L: \\navn\share kode /user:bruger /PERSISTENT:NO", vbNormalFocus ... sådan :D
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:43 #10
Cool - tillykke med det. Jeg tænkte nok det ville kunne lade sig gøre.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 09:50 #11
Nu sker der bare det at den prøvet at skrive til destinationen før den har opretten net use'ed :( kan man gøre sådan den skal vente til cmd processen er kørt inden den går ned til næste kommando ? jeg kan ikke engang finde en form load jeg kan smide den i :( :S
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 09:55 #12
Sorry - jeg ved ikke hvordan. Jeg tror der findes call back muligheder og da Shell er en function vil jeg tro at du får en process-id retur og det skulle kunne lade sig gøre at tjekke på om processen er kørt.

Alternativt kan du lavet noget beskidt busy wait hvor du spørger på om drevet findes.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 10:02 #13
hvordan laver jeg en busy wait ?
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 10:15 #14
Du laver et loop der bare står og kigger på om L:-drevet findes og som først stopper når det gør.

Sørg for at fyre en doevents af i loopet, ellers tager den 100% af din cpu-tid.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 10:25 #15
Kan du ikke lige stille det op engang ... jeg kan ikke lige se mig ud af det :?
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 10:32 #16
Dim fso as filesystemobject

  set fso = new filesystemobject

  do until fso.driveexists("L:")
    doevents
  loop

Det har selvfølgelig den svaghed at loopet aldrig stopper hvis der går noget galt, så det vil være klogt at sætte en timer på så den højst kører et vist tidsrum.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 10:35 #17
okai super ... hvordan skal jeg sætte det time out ? kan man ikke bare sætte den til at gøre det f.eks. 10 gange ?
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 10:38 #18
den melder bare user type not difined ?
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 10:49 #19
User type not defined skyldes formodentlig at du ikke har en reference til Microsoft Scripting Runtime - det skal du lige have krydset af i Tools | References.

For at måle tiden skal du laven variabel af typen date som du sætter = now når du starter loopet og så tjekker du for hvert gennemløb hvor lang tid der er gået. Antal gennemløb synes jeg det er uklogt at måle på...det vil være for tilfældigt hvor mange gennemløb man kan forvente der skal til.
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 11:12 #20
nu siger den Object Variable or With block not set ? og jeg kan ikke lige se mig ud af hvorfor ...
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 11:13 #21
fat lige ud af jeg havde skrevet forker ... my bad :(
Avatar billede xcc.dk Nybegynder
14. juni 2006 - 11:27 #22
Endnu engang tak du er løst alle mine problemer Super ... har givet dig god karma :D
Avatar billede jesperthomsen Nybegynder
14. juni 2006 - 12:01 #23
Super - hvem kan ikke bruge lidt god karma ;)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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