Avatar billede woolbox Nybegynder
03. april 2003 - 04:05 Der er 7 kommentarer og
1 løsning

Åben form/brev på bestemt record

Hej

Det er lidt en dobbelt:

Jeg har brug for ved at trykke på en knap, at åbne et brevfletdoc som jeg har lavet, men det skal være med den samme record som jeg pt. er aktiv i min form.

Nummer 2, hvis jeg vælger en kunde fra en liste over kunder på en sag, så har jeg brug for at kunne åbne formen hvor alle felter er på mine kunder, hvor den kunde jeg har valgt er aktiv i den form der popper op.

Jeg kan simpelthen ikke lige huske/greje hvordan det er man gør det...
Avatar billede woolbox Nybegynder
03. april 2003 - 04:07 #1
Glemte lige, pt ser min kode til at åbne dokumentet (men ikke navigere til rigtig record), sådan ud ...

Dim doc As Word.Document, wrdApp As Word.Application
On Error Resume Next
Set wrdApp = GetObject(, "word.application")
If Err.Number <> 0 Then
  Set wrdApp = CreateObject("word.application")
End If
wrdApp.Visible = True
Set doc = wrdApp.Documents.Open("document.doc")
Avatar billede mugs Novice
03. april 2003 - 06:48 #2
I den forespørgsel der ligger til grund for dit brevfletningsdokument, kan du indsætte et kriterie der refererer til formularen:

=[Forms]![Formularnavn]![Feltnavn]

Hvis du indtaster kriteriet i f.eks et unikt felt (f.eks kundeid), skal du sikre, at feltet eksisterer både i forespørgslen og formularen. Når du åbner dit Word-dokument vil brevfletningen kun omfatte de poster, der matcher kriterierne.
Avatar billede mugs Novice
03. april 2003 - 06:57 #3
En anden mulighed er, at overføre formularens data til Word uden brevfletning. nedenstående 2 procedürer åbner et word-dokument, og indsætter udvalgte felter fra formularen på de steder i word, hvor du har sat bogmærker. Det er naturligvis også en form for brevfletning, blot uden den tradiotinelle forespørgsel:

Private Sub Kommandoknap21_Click()
Dim objword As New Word.Application
Dim WordDoc As New Word.Document
Set WordDoc = objword.Documents.Add("C:\document.doc")
Call InsertAtBookmark(WordDoc, "Bogmærke i Word", Me!Feltnavn i formularen)
objword.Visible = True
DoCmd.Hourglass False
End Sub


Function InsertAtBookmark(objWordDoc As Word.Document, strBookmark As String, strText As String) As Boolean
With objWordDoc.Bookmarks
If .Exists(strBookmark) Then
.Item(strBookmark).Range.Text = strText
InsertAtBookmark = True
End If
End With
End Function
Avatar billede mugs Novice
17. april 2003 - 06:52 #4
woolbox > Hvordan går det, er dit problem blevet løsr?
Avatar billede woolbox Nybegynder
24. april 2003 - 00:21 #5
Sorry mugs, den var forsvundet :)

Jeg har ærlig talkt ikke fået kigget på det, men så faktisk hellere at jeg bruger et færdiglavet dokument hvor alle fields er sat ind. Da jeg også får brug for at begrænse antallet af records til netop den "jeg står på" på forms og rapporter, vil jeg klart foretrække at løse det med en query.

Help? :)
Avatar billede mugs Novice
24. april 2003 - 08:25 #6
woolbox > Som jeg skrev 3/4, indsæt et kriterie i din forespørgsel, der ligger til grund for fletningen:

=[Forms]![Formularnavn]![Feltnavn]
Avatar billede woolbox Nybegynder
29. august 2003 - 17:11 #7
Virker ikke ...
Avatar billede mugs Novice
29. august 2003 - 17:43 #8
Det fungerer - Du har lavet en fejl!
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