08. april 2003 - 10:09Der er
3 kommentarer og 1 løsning
Databasefelter til Word-formular
Jeg har lavet et certifikat i Word, som starter med en indtastningsformular, og efter tryk på "OK" udfylder felter i Word-dokumentet.
Men inden jeg kommer hertil, vil jeg gerne kunne fremsøge oplysninger fra en tabel i en database (et register), som ligger på en server. Jeg bruger en SQL-query i Visual Basic for Applications til dette:
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldDatabase, Text:="DATABASE \c DSN=<DSN-NAVN>;UID=<uid-navn>;PWD=<kodeord>;SERVER=<servernavn>; \s ""SELECT SEARCH.NAVN FROM MT.SEARCH SEARCH WHERE (SEARCH.KENDBOG='PLN')"" \t 1", PreserveFormatting:=True
(navne er ændret)
Jeg er TOTAL amatør, så jeg skriver jo bare "TextBox4.SetFocus" for at indsætte den forespurgte værdi i textbox4. Men den indsætter ikke noget. Den melder på den anden side heller ikke fejl. Til gengæld går den bag om indtastningsformularen og indsætter værdien et eller andet sted i dokumentet.
Altså: Værdier fra en database ind i et formularfelt (UserForm i VBA). Er jeg på rette spor? Hvad gør jeg galt?
Dette er et svar til hvordan du indsætter variable (f.eks. resultatet fra din database) ind i en tekstboks i et dokument:
Indsæt et bogmærke i tekstboksen (for at komme ind i tekstboksen) Optag en makro med makrooptageren, hvor du går til bogmærket og indsætter en tekst Erstat den indsatte tekst (i kodelinien) med din variabel fra databasen
Det kunne se således ud:
Sub GåTilBogmærke() ActiveDocument.Bookmarks("Bogmærkenavn").Select Selection.TypeText Text:=VariabelFraDatabase End Sub
Ja, jeg er ikke VBA haj, men i hvert fald måske "delfin" :)
Jeg har prøvet i VBA at lave en variabel fra databasen, men det vil ikke. Den melder i hvert fald fejl. Kan du lige grifle et eksempel ned, hvor man definerer en variabel (jeg er f.eks. et fjols til at bruge Dim)
Hvis du har lyst kan du sende din wordskabelon til mig - så kikker jeg lidt på koden *S* rvejemad@csc.com
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.