Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ODBC-Verbindung in VBA

581 views
Skip to first unread message

Stefan Theobald

unread,
Oct 28, 2009, 4:20:01 PM10/28/09
to
Hallo,

ich würde gerne eine ODBC Verbindung in VBA machen und eine Abfrage
ausführen für eine ComboBox zu füllen. Wie muss ich das machen im VBA Word /
EXCEL????

Meine Sysntax so wie ich es unter .NET versuchen würde kennt er wohl nicht.

Dim DB_Verbindung As New Odbc.Connection
DB_Verbindung.Open =
"ODBC;DSN=PA;HOST=192.168.68.111;PORT=15102;DB=basis;UID=sqldiv;PWD=sql"

Dim Tabelle_Mandanten As New DataTable
Dim Datenzeile As DataRow

Dim Abfrage As String
Abfrage = "Select S_Artikel_0.Firma from PUB_S_Artikel Group By
S_Artikel_0.Firma"

Tabelle_Mandanten.Fill (Abfrage)

For Each Datenzeile In Tabelle_Mandanten.Rows
ComboBoxFirma.Item.Add ("Firma")
Next

Thomas Gahler

unread,
Oct 29, 2009, 2:24:30 AM10/29/09
to
Hallo Stefan

> ich w�rde gerne eine ODBC Verbindung in VBA machen und eine Abfrage
> ausf�hren f�r eine ComboBox zu f�llen. Wie muss ich das machen im VBA Word
> /
> EXCEL????
Ich kann dir eigentlich auch nicht gross weiter helfen. In den nachstehenden
Zeilen habe ich eine Verbindung mit dem Makro-Rekorder aufgezeichnet.
Vielleicht kannst du damit eteas anfangen.
Ansonsten ein wenig Google durchforsten, wenn du das Stichwort 'Cindy'
zus�tzlich aufnimmst, dann bist du mal in der N�he einer guten Quelle.
Vielleicht hast sie auch was auf http://homepage.hispeed.ch/cindymeister/
ver�ffentlicht.

Und hier hat es ein paar Beispiele
http://groups.google.ch/group/microsoft.public.word.vba.userforms/search?group=microsoft.public.word.vba.userforms&q=odbc+excel ActiveDocument.MailMerge.OpenDataSource Name:= _ "C:\Dokumente und Einstellungen\Gahler\Desktop\AdressenPrivat.xls", _ ConfirmConversions:=True, ReadOnly:=False, LinkToSource:=True, _ AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _ WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _ Format:=wdOpenFormatAuto, Connection:= _ "DSN=Excel-Dateien;DBQ=C:\Dokumente undEinstellungen\Gahler\Desktop\AdressenPrivat.xls;DriverId=790;MaxBufferSize=2048;PageTimeout=5;" _ , SQLStatement:="SELECT * FROM `Adressen`", SQLStatement1:="",SubType:= _ wdMergeSubTypeOther--Thomas GahlerCo-Autor von �Microsoft Word-Programmierung.Das Handbuch� (MS Press)- Windows XP (SP3), Office XP (SP3)

C. Sekulla

unread,
Oct 29, 2009, 7:58:55 AM10/29/09
to
Hi Stefan,

- hier ist die Word-VBA-Gruppe
- VBA und VB.Net sind grundverschieden
- in VBA gibt es keine DataTable, du musst also synchron auf der DB arbeiten
(kein .Fill)
- Was m�chtes du mit den ODBC-Daten?
Serienbrief oder weiter bearbeiten?


Datenzugriff:
Private Sub TestODBC()
Dim cnCkis As Object ' ADODB.Connection
Dim rsPers As Object ' ADODB.Recordset
Dim v As Variant

Set cnCkis = CreateObject("ADODB.Connection") ' New ADODB.Connection
cnCkis.Provider = "msdasql"
cnCkis.Properties("Data Source") = "DSN"
cnCkis.Properties("User ID") = "User"
cnCkis.Properties("Password") = "PWD"
cnCkis.CommandTimeout = 1200
cnCkis.Open

Set rsPers = CreateObject("ADODB.Recordset") ' New ADODB.Recordset
Set rsPers.ActiveConnection = cnCkis
rsPers.CursorLocation = adUseClient
rsPers.CursorType = adOpenStatic
rsPers.LockType = adLockReadOnly
rsPers.Source = "select * from dual"
rsPers.Open
' Recordset offen
'z.B.
v = rsPers.GetRows()
Debug.Print v(0, 0)

rsPers.Close
cnCkis.Close
Set rsPers = Nothing
Set cnCkis = Nothing


End Sub

cu CS

"Stefan Theobald" <StefanT...@discussions.microsoft.com> schrieb im
Newsbeitrag news:8AA06388-7F43-4A3C...@microsoft.com...
> Hallo,


>
> ich w�rde gerne eine ODBC Verbindung in VBA machen und eine Abfrage

> ausf�hren f�r eine ComboBox zu f�llen. Wie muss ich das machen im VBA Word
> /
> EXCEL????
>
> Meine Sysntax so wie ich es unter .NET versuchen w�rde kennt er wohl

0 new messages