16. september 2008 - 12:14Der er
2 kommentarer og 1 løsning
Brevfletning - nemmeste måde at søge efter post
Jeg bruger brevfletning en del, og bruger access som database.
Jeg synes det er lidt besværligt at finde den rette modtager hver gang, da jeg som regel kun sender til 1 modtager ad gangen.
Jeg plejer at åbne brevet med fletfelter, redigerer modtager liste, klikker ok et par gange, hvorefter jeg kan åbne det flettede dokument.
Det ville være smart om man kunne gøre denne process med kun et enkelt eller to klik istedet for, fx. hvis man havde en form for søgning hvor man kunne bruge et id eller sags nr. og herefter åbne det flettede dokument med et enkelt klik.
Der er ikke noget i vejen for, at du kan søge i din db, og derefter med et enkelt klik overføre udvalgte felter i formularen til Word. Er det det du vil?
Det var en mulighed, men det har jeg prøvet. I så fald bruger man bogmærker frem for fletfelter, og min erfaring er , at det kører en del mere ustabilt.
Men det kan måske kun lade sig gøre ved at lade Access kontakte word istedet for at word kontakter access ?
Han anvendt metoden med bormærker i flere år uden nogen problemer.
Du kan vel lade forespørgslen (der anvendes af Word) referere til formularen's unikke ID således.
[Forms]![FORMULARNAVN]![FELTNAVN]
Eller sinpelthen starte Word opg lade koden referere til formularens unikke id. I flg kode er D:\Opskrifter\ Mappen hvor dokumentet ligger og Me.Nr er formularens unikke felt for posten i Access. Word-dokumentet skal så have det samme navn som Nr, men det kan du selvfølgelig ændre:
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 = "D:\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: If Err.Number = 5981 Then Resume Next End If MsgBox "fejlkode: " & Err.Number & Err.Description End Sub
Synes godt om
Ny brugerNybegynder
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.