Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Initialisierung einer Combobox mit SQL-Statement

Initialisierung einer Combobox mit SQL-Statement
25.07.2002 15:07:29
Karl
Hallo Freaks,

ich möchte die Initialisierung einer
Combobox durchführen.
Dazu sollen die Daten einer Abfrage
verwendet werden, die mit SQL
durchgeführt wird.
Wie ist dies möglich ?

Danke im voraus.

Gruß Karl

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Initialisierung einer Combobox mit SQL-Statement
25.07.2002 15:21:19
wope
Ich hab da mal was gemacht mit ODBC
die Daten kommen zwar in eine Tabelle
aber wie sie in die Combobox kommen wirst
du schon irgenwie rauskriegen (hab ich noch nie gebraucht)


Public Sub test()
GetData "select * from stamm", "MYODBC", "MyDatabase"

End Sub


Public Sub GetData(SqlString As String, _
Optional strODBCName As String = "SQLHausDB", _
Optional strDatbaseName As String = "HausDb", _
Optional StartZeilePos As Integer = 1, _
Optional StartSpaltePos As Integer = 1, _
Optional VorAktuTabDelAll As Integer = 1, _
Optional KopfZeileHolen As Integer = 1)
'VorAktuTabDelAll ... 1 gesamte Tabelle löschen
' 2 Ab Startzeile löschen
' 3 Aktuelle Zeile Rechts von Startpos löschen
Dim db As Database
Dim qu As QueryDef
Dim rs As Recordset
Dim maxRows, r, c As Long
Dim FeldVerz As Fields
Dim AktuFeld As Field
Dim strConnect As String
Dim rangHlp As Range

If KopfZeileHolen > 1 Then
MsgBox "Parameterfehler KopfZeileHolen darf nur 0 oder 1 sein"
End If


strConnect = "ODBC;DSN=" & strODBCName & ";DATABASE=" & strDatbaseName

maxRows = 65000


On Error Resume Next
Set db = CreateDatabase("c:\temp\Temp.mdb", dbLangGeneral)
On Error GoTo 0

Set db = OpenDatabase("c:\temp\Temp.mdb")


Set qu = db.CreateQueryDef("")

'Debug.Print strConnect
qu.Connect = strConnect
qu.ODBCTimeout = 300
qu.ReturnsRecords = True

Application.StatusBar = Left(SqlString, 80) + "...." + IIf(Len(SqlString) > 60, Right(SqlString, 20), "")
Debug.Print SqlString

qu.Sql = SqlString

'Datensätze holen
Set rs = qu.OpenRecordset()

Set FeldVerz = rs.Fields

'Arbeitsblatt löschen
If VorAktuTabDelAll = 1 Then 'Gesamte Tabelle Löschen
Cells.Clear
Else
If VorAktuTabDelAll = 2 Then 'Ab aktueller Zeile bis Tabellenende löschen
Cells.Range(Cells(StartZeilePos, 1), _
Cells(Cells.Rows.Count, Cells.Columns.Count) _
).ClearContents
Else
If VorAktuTabDelAll = 3 Then 'Aktuelle Position bis Zeilenende löschen
Cells.Range(Cells(StartZeilePos, StartSpaltePos), _
Cells(StartZeilePos + KopfZeileHolen, Cells.Columns.Count) _
).ClearContents
End If
End If

End If


'Datensätze in Arbeitsblatt Schreiben

If KopfZeileHolen = 1 Then
c = StartSpaltePos
For Each AktuFeld In FeldVerz ' Feldname in 1.Zeile Schreiben

ActiveSheet.Cells(StartZeilePos, c).Value = AktuFeld.Name
c = c + 1
Next AktuFeld
End If

r = StartZeilePos + KopfZeileHolen ' Mit Daten in 2. Zeile beginnen
Do While Not rs.EOF And i < maxRows

c = StartSpaltePos
For Each AktuFeld In FeldVerz
On Error Resume Next
ActiveSheet.Cells(r, c).Value = AktuFeld.Value
On Error GoTo 0

c = c + 1
Next AktuFeld

r = r + 1
rs.MoveNext
Loop

db.Close
Set db = Nothing
Application.StatusBar = False
End Sub



Anzeige
Re: Initialisierung einer Combobox mit SQL-Statement
25.07.2002 17:42:00
" & RS.RecordCountEnd Subgruss andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige