Avatar billede mugs Novice
07. november 2001 - 21:45 Der er 8 kommentarer og
1 løsning

Hent Word dokument

Access 97:

Når jeg har oprettet en ny post i en db, trykker jeg på en kommandoknap, hvorefter Word åbnes, og overfører udvalgte datafelter til Word. Dette fungerer perfekt.
Men når jeg efterfølgende søger i min db, og finder en post som jeg vil se mine Word-kommentarer til, kan jeg ikke finde ud af at åbne Word i den post som Access står i.
Flg. kode fungerer:
On Error GoTo err_open
Dim objword As Word.Application
Dim objdoc As Word.Document
On Error Resume Next
Set objword = GetObject(, \"Word.Application\")
Err.Clear
On Error GoTo err_open
If objword Is Nothing Then
Set objword = GetObject(\"\", \"Word.Application\")
End If
objword.Visible = True
AppActivate \"Microsoft Word\"
objword.Documents.Open \"C:\\Opskrifter\\4.doc\"
Exit Sub
err_open:
MsgBox \"fejlkode: \" & Err.Number

Stien til mit Word-dokument er:
C:\\Opskrifter\\4.doc
hvor 4.doc refererer til Access formularens.

Men det er jo ikke særlig smart, hvis jeg står i post 237 vil Word altid vise post 4.

Så hvordan indsætter jeg en variabel i koden, så Word altid viser den aktuelle post i Access formularen?

Jeg har på fornemmelsen, at det er ganske simpelt, men jeg er \"gået død\".
 

 
Avatar billede nih Novice
07. november 2001 - 22:18 #1
Vil det sige at HVIS du står i post 237 skal Word åbne \"C:\\Opskrifter\\237.doc\"  ?????

Niels
Avatar billede mugs Novice
07. november 2001 - 22:29 #2
Yes - og hvis jeg står i post 178, skal word åbne post \"C:\\Opskrifter\\178.doc
Avatar billede nih Novice
07. november 2001 - 22:32 #3
Indsæt denne lille function:
Function docName() As String
    Const dir As String = \"C\\opskrifter\\\"
    Const ext As String = \".doc\"
    docName = dir & Me.opskriftId & ext
End Function
Me.opskriftId er selvfølgelig feltet i din form

linjen: objword.Documents.Open \"C:\\Opskrifter\\4.doc\" ændres til:
objword.Documents.Open docName

Er det det du mener

Niels
Avatar billede nih Novice
07. november 2001 - 22:45 #4
Jeg går udfra at du har en opskriftId..

Ellers skal funktionen se sådan ud:
Function docName() As String
    Const dir As String = \"C\\dokumenter\\\"
    Const ext As String = \".doc\"
    docName = dir & (Me.Recordset.AbsolutePosition + 1) & ext
End Function

MEN den er ikke holdbar postNumret ændrer sig, når du sletter en post!!

Niels
Avatar billede mugs Novice
07. november 2001 - 22:51 #5
Nu er jeg helt derude hvor jeg river mig i håret, efter dit første svar ser min kode såæledes ud:
On Error GoTo err_open
Dim docname As String
Dim objword As Word.Application
Dim objdoc As Word.Document
Const dir As String = \"C\\opskrifter\\\"
Const ext As String = \".doc\"
docname = dir & Me.Nr & ext
On Error Resume Next
Set objword = GetObject(, \"Word.Application\")
Err.Clear
On Error GoTo err_open
If objword Is Nothing Then
Set objword = GetObject(\"\", \"Word.Application\")
End If
objword.Visible = True
AppActivate \"Microsoft Word\"
objword.Documents.Open docname
Exit Sub
err_open:
MsgBox \"fejlkode: \" & Err.Number

men jeg får fejmeldingen: Fejlkode 5273 
Jeg er overbevist om at du er inde på rette spor - men fejlen ligger nok foran min skærm - Jeg er fuldstændig blank på det her.
Avatar billede mugs Novice
07. november 2001 - 22:52 #6
Ja - jeg har en opskriftsID - den hedder Nr og er af typen langt heltal
Avatar billede nih Novice
07. november 2001 - 23:10 #7
Const dir As String = \"C:\\opskrifter\\\"

HUSK :

Det tog lidt tid at få øje på den ;)

Hvordan går det med dit hår, er der mere tilbage???

Niels
Avatar billede mugs Novice
07. november 2001 - 23:17 #8
Ja - det er sgu da utroligt hvad et \":\" kan gøre. Men det fungerer perfekt.
Tak for hjælpen.
Lidt hår er der tilbage - men den her \"puter\" gør det altså ikke nemmere at bevare pragten.
Avatar billede nih Novice
07. november 2001 - 23:21 #9
selvtak
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