19. oktober 2001 - 14:02Der er
3 kommentarer og 1 løsning
Mere Brevflet med Access - Thomas Jeppesen
Hej! Nedenstående kode er \"lånt\" fra Thomas Jeppesen\'s tidligere svar af 18-5-01 \"Brevflet med Access\" og virker som det skal. Mit problem er bare, at der ikke altid der er data i en de felter som jeg ønsker at \"sende\" til Word. Er det muligt at få Access til checke om feltet indeholder information eller ej. Hvis ikke skal den bare \"løbe\" videre, og eventuelt skrive i Word \"Ikke oplyst\". Jeg får fejlkoden \"Null er brugt ugyldigt\" hvis ikke feltet er udfyldt.
Er der en som har en god idé ?????
Function Brevflet1() Dim objWord As New Word.Application Dim WordDoc As New Word.Document Set WordDoc = objWord.Documents.Add(\"C:\\Skabelon1.dot\") Call InsertAtBookmark(WordDoc, \"Firmanavn\", Forms!deltagerliste![Firmanavn]) Call InsertAtBookmark(WordDoc, \"Adresse_1\", Forms!deltagerliste![Adresse_1]) Call InsertAtBookmark(WordDoc, \"Fornavn\", Forms!deltagerliste![Fornavn])
objWord.Visible = True DoCmd.Hourglass False End Function 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
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.
Function Brevflet1() Dim objWord As New Word.Application Dim WordDoc As New Word.Document Set WordDoc = objWord.Documents.Add(\"C:\\Skabelon1.dot\") if Forms!deltagerliste![Firmanavn] <> \"\" then Call InsertAtBookmark(WordDoc, \"Firmanavn\", Forms!deltagerliste![Firmanavn]) if Forms!deltagerliste![Adresse_1] <> \"\" then Call InsertAtBookmark(WordDoc, \"Adresse_1\", Forms!deltagerliste![Adresse_1]) if Forms!deltagerliste![Fornavn] <> \"\" then Call InsertAtBookmark(WordDoc, \"Fornavn\", Forms!deltagerliste![Fornavn])
objWord.Visible = True DoCmd.Hourglass False End Function
- virker ! - du er genie ! Tak Ikke for at være urimelig, men ville det ikke være enklere at lave en Function som er lig med den for Bookmarks. Så undgår man at skulle Kode for hvert felt ??? Kan det lade sig gøre ?
jo, det kan du godt - nu vidste jeg ikke hvor mange felter vi snakkede om. Hvis det kun var 3-5 felter, så kan det måske ikke betale sig. Men ellers ja.
Du kan også bare fange det vha fejlhåndtering:
Function Brevflet1() on error resume next Dim objWord As New Word.Application Dim WordDoc As New Word.Document Set WordDoc = objWord.Documents.Add(\"C:\\Skabelon1.dot\") Call InsertAtBookmark(WordDoc, \"Firmanavn\", Forms!deltagerliste![Firmanavn]) Call InsertAtBookmark(WordDoc, \"Adresse_1\", Forms!deltagerliste![Adresse_1]) Call InsertAtBookmark(WordDoc, \"Fornavn\", Forms!deltagerliste![Fornavn])
objWord.Visible = True DoCmd.Hourglass False End Function
Det drejer sig om ca. 15-20 felter (Ejendomsoplysninger) hvor ikke alle informationer er tilstede ved indtastningen. Jeg prøver. På forhånd tak. Mvh OMP
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.