25. marts 2007 - 13:19Der er
17 kommentarer og 1 løsning
Problemer med OpenDataSource
Hej jeg har lavet en funktion, hvis job skulle være at åbne et worddokument og brevflette dette. Brevfletningen fungerer upåklageligt første gang jeg trykker på knappen og kalder funktionen, men hvis jeg trykke igen, så åbnes min 'skabelon' (.doc, da jeg ikke kunne få det til at virke med .dot), men i access får jeg fejlen: Run-time error '462': The remote server machine does not exist or is unavaible Hvis jeg går ind i debug, så er koden der starter med 'ActiveDocument.MailMerge.OpenDataSource...' markeret. Jeg har fundet lidt om fejlmeldingen hos microsoft, men har ikke kunnet forstå eller få løsningen til at fungere. For mig lyder det til at en eller anden DataSource stadig er åben og derfor ikke er tilgængelig - skal denne lukkes eller hvad er løsningen?
Min funktions kode er som følger og bygger bl.a. på en makrooptagelse i word: Public Function studentplan_mailmerge(mydoc As String) As Boolean Dim myword As Word.Application Set myword = New Word.Application myword.Documents.Open filename:=CurrentProject.Path & "\" & mydoc myword.Visible = True myword.Activate ActiveDocument.MailMerge.OpenDataSource name:=CurrentDb.name, _ ConfirmConversions:=False, ReadOnly:=False, _ LinkToSource:=True, _ AddToRecentFiles:=False, _ PasswordDocument:="", _ PasswordTemplate:="", _ WritePasswordDocument:="", _ WritePasswordTemplate:="", _ Revert:=False, _ Format:=wdOpenFormatAuto, _ Connection:="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=CurrentDb.Name;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je", _ SQLStatement:="SELECT * FROM `student_plan`", _ SQLStatement1:="", _ SubType:=wdMergeSubTypeAccess With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:=False End With
Windows(mydoc).Activate ActiveWindow.Close Set myword = Nothing
Jeg vil brevflette med word. Jeg vil at den automatisk skal lukke kildefilen(min wordskabelon). Jeg vil at den automatisk skal vise den brevflettede wordfil med alle poster i forlængelse efter hinanden.
Bruger 2003 versionen af office.
Eksempel er meget velkomment på alexander(snabelting)bogstav.dk
Tjoeh måske, men koden afvikles jo fra Access og på den måde vil jeg mene at det er Access der er problemet. Jeg burde lægge spørgsmålet begge steder vil jeg tro.
Kan jeg med en komplet brevfletning i word bestemme at filen kun skal vise den brevflettede del og med posterne i forlængelse af hinanden? For så er det fint med mig - jeg vil bare gerne at brugerne af min database blot skal trykke på én knap og så vupti åbnes et worddokument med samtlige poster i forlængelse af hinanden.
Når du brevfletter, har du jo en datakilde i dette tilfælde fra Access. Denne datakilde kan jo være en forespørgsel med eller uden kriterier og vil vise de poster, der matcher kriterierne hvis du har indsat nogle.
Du kan i word vælge forskellige måder at vise posterne på. Der er vist noget der hedder katalog og viser alle poster. Men prøv at eksperimentere lidt ad den vej. Jeg synes din kode er at skyde gråspurve med kanoner. Det burde ikke være nådvendigt med en sådan kode, når Word tilbyder en guide til brevfletning.
Hmm, så skal mine brugere jo gennemgå guiden til brevfletning hver gang - det var det jeg ville undgå. Det var derofr jeg optog en makro, mens jeg brevflettede, som jeg så overførte koden fra til access for at det skulle ske automatisk.
Har du een gang lavet brevfletningen virker den hver gang du åbner Word dokumentet. Fletningen ligger jo "begravet" i Word filen og vil fungere hver gsng du åbner det hvad enten det er fra Access eller stifinderen eller hvad du nu måtte finde på.
Ja den del har jeg gennemskuet, men kan jeg få den til automatisk at vise der hvor man går ud i de enkelte flettede breve? For jeg synes kun jeg kan få den til at vise grundsiden for brevfletningen og så skal man bagefter vælge 'flet til nyt dokument' <- denne del ville jeg gerne skete automatisk.
Det er formodentlig blot denne her del af koden jeg gerne ville have skete automatisk når wordfilen blev åbnet: With ActiveDocument.MailMerge .Destination = wdSendToNewDocument
Hej alexander, jeg er bestemt ikke ekspert her, på www.makeiteasy.dk/Download liger der et eks. du kan downloade. Eks demonstrere hvordan man kan brevflette med word, eks. hedder "Brevflet forespørgsel til word automatisk".
Jeg har dog ikke selv prøvet det, men måske det kan hjælpe dig videre, måske et kuk værd :o)
Hmmm det er der vist ingen rigtig løsning på desværre.
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.