Jeg er ved at lave en makro i en Wordskabelon (Word 2003) der bl.a. skal hente data fra en SQL-server på baggrund af en query. Hvordan gør jeg lettest det? Wordskabelonen skal kunne distribueres ud til flere brugere, så jeg vil helst undgå noget der kræver opsætning på klient-PC'en.
Jeg har tidligere lavet et VB.NET program der benytter ADODB, men jeg kan ikke rigtig få det til at virke i Word.
Jo - jeg har en autonew-makro som er sat op med felter - den del er på plads. Det er kun det med at indhente værdier fra SQL-serveren jeg er i tvivl om.
Skal vi ikke bare kalde det "Felt1" fra "Tabel1"? og SQL-serveren kan så hedde "SQLserver", med "brugernavn" og "password" som logon. Queryen: "SELECT FELT1 FROM TABEL1 WHERE FELT2='A'"
Rem Referencen Microsoft DAO 3.6 Object Library Tilføjet Rem Eksemplet hidrører fra Opkald til C5-SQL-database - søgning af OrdreNr i et Word-dokument
Public xsti Rem C5_SQL-def. Public C5qdfTemp As QueryDef, C5xRec As Recordset Public ordreFundet As Boolean
Public C5sqlDB As Database Public Sub åbnDatabase() 'Intet password pwd="" Dim dbSti, xpW As String, brugerID As String
brugerID = "SUPERVISOR" dbSti = xsti + "C5Spejl.mdb" Set C5sqlDB = OpenDatabase(dbSti, dbDriverNoPrompt, False, ";database=" + dbSti + ";uid=" + brugerID + ";pwd="";dsn=") End Sub Public Sub sqlFindOrdre(Onr) Dim sfelt As String ordreFundet = False åbnDatabase
Set C5qdfTemp = C5sqlDB.CreateQueryDef("") sfelt = Chr(39) + Onr + Chr(39) SQL_1 sfelt End Sub Private Sub SQL_1(sfelt As String) 'find Ordre SQLOutput1 "SELECT * FROM OrdkartArkiv " & _ "WHERE" & "(nummer = " & sfelt & ")", C5qdfTemp End Sub Private Sub SQLOutput1(strSQL As String, qdfTemp As QueryDef) Dim nFelt, count qdfTemp.SQL = strSQL Set C5xRec = qdfTemp.OpenRecordset
If C5xRec.RecordCount > 0 Then ordreFundet = True Else ordreFundet = False End If 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.