06. januar 2003 - 00:30Der er
5 kommentarer og 1 løsning
rapport udskrift
hey
jeg vil gerne have min database til at udskrife sådan en rapport ud fra min formular. jeg kunne imidlertid godt tænke mig at den "rapport" der kom kun omhandlede den aktuelle post som ser i formularen.
kan dette lade sig gøre eller kan man lave noget med at eksportere den aktuelle post til word?
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.
lav en forspørgsel og den bliver datakilden for din raport. Så på din formular har du en tekstboks for fx ID værdi fra din tabel, her er et ex for forspørgsel for raporten som har kritere: =[forms]![formular1]![AreaID]:
SELECT tblArea.AreaID, tblArea.LocalAuth, tblArea.FirstName, tblArea.LastName, tblArea.MiddleName, tblArea.Position FROM tblArea WHERE (((tblArea.AreaID)=[forms]![formular1]![AreaID]));
Hvis det du ønsker er at udskrive en rapport der viser din indtastningsformular med den aktuelle post, så kan du bruge wizarden til at oprette en knap til 'Record operations' 'print record'
Du kan eksportere formularens aktuelle post til Word med disse VBA-koder. I din Word skabelon, laver du bogmærker hvor de enkelte data skal placeres. Derefter indsætter di denne kode i en kommandoknaps OnClick event:
Private Sub Kommandoknap21_Click() Dim objword As New Word.Application Dim WordDoc As New Word.Document Set WordDoc = objword.Documents.Add("D:\VBA_ Funktioner\VBA\Opskrifter\Opskrift.doc") Call InsertAtBookmark(WordDoc, "Opskrift", Me!Opskrift) Call InsertAtBookmark(WordDoc, "Nr", Me!Nr) objword.Visible = True DoCmd.Hourglass False End Sub
Hvor "Opskrift" og "Nr" er navnene på dine bogmærker og Me!Opskift og Me!Nr er navnene på formularens datafelter, der skal eksporteres.
("D:\VBA_ Funktioner\VBA\Opskrifter\Opskrift.doc")er placering og navn på det dokument der indeholder dine bogmærker. Derefter indsætter du nedenstående funktion i formularen:
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 kan sende et eksempel i Access (fungerer også i XP). Blot læg din e-mail. Husk at sætte et checkmærke i Referencen til Word.
Hvis du senere vil læse det Word dokument der hører til Access aktuelle post i en formular, kan du søge efter posten i Access og benytte denne kode til at hente dokumentet. I eksemplet er dokumentet lagret i "C:\opskrifter\", og Me.Nr er navnet på Dokumentet. Me.Nr er samtidig Access primære nøgle, og dokumentet skal have dette navn:
Private Sub Kommandoknap24_Click() 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 End Sub
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.