03. april 2003 - 04:05Der 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...
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.
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")
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.
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
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.
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.