Avatar billede nissetec Nybegynder
08. april 2003 - 10:09 Der 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?
Avatar billede rvm Nybegynder
20. april 2003 - 01:02 #1
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
Avatar billede rvm Nybegynder
20. april 2003 - 01:10 #2
Nu læste jeg lige dit spørgmsål igen... Du ville jo have svaret fra databasen ind i en userform

Det gøres således idet jeg går ud fra svaret skal stå i tekstboksen, når formularen åbnes:

Denne makro skal placeres i det kodevindue der fremkommer, når du dobbeltklikker på userformen i VBA miljøet

Sub UserForm_Activate()

TextBox4.Text = SvarFraDatabasen

End Sub
Avatar billede nissetec Nybegynder
22. april 2003 - 09:28 #3
Hey rvm,

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)

MVH
Per
Avatar billede rvm Nybegynder
22. april 2003 - 09:37 #4
Hvis du har lyst kan du sende din wordskabelon til mig - så kikker jeg lidt på koden *S* rvejemad@csc.com
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester