Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
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
Inhaltsverzeichnis

combobox mit recordset befüllen die 800ste

combobox mit recordset befüllen die 800ste
10.04.2015 01:26:38
Wusel
Hallo zusammen!
Es tut mir Leid, ich geh am Stock. Nach mehreren Stunden Recherche (hier und auch in anderen Foren) und x-fachem Rumprobieren bin ich immer noch nicht in der Lage diesen %&(/$§-Code zum Laufen zu bringen. Obwohl es wahrscheinlich alles sehr einfach ist. Ich glaube es fehlt nicht mehr viel :) Eigentlich ist alles was ich möchte eine Funktion(hier "testfunktion"), der ich einen SQL-Select als String füttere und die mir ein Recordset zurück gibt, mit dem ich dann nach Belieben verfahren kann.
Die Hauptfrage ist: Warum läuft das hier nicht?
    'Set rtest = ThisWorkbook.Worksheets("Ziel").Range("b2")
selectstr = "Select [STADT] from [Stadtinformationen_allgemein$] where PLZ =4626"
Set rs = testfunktion(selectstr)
'Call rscopy(rs, rtest)
Do While Not rs.EOF
Objektanzeige.STADT.AddItem rs.Fields("STADT")
rs.MoveNext
Loop
Das Recordset rs habe ich mit rscopy mal in ein Tabellenblatt geschrieben. Der Inhalt ist wie gewünscht eine Liste mit um die 10 Städtenamen. Diese hätte ich gerne im Dropdown meiner Combobox STADT auf dem Userform Objektanzeige, aber Excel möchte nicht wie ich will. Kann mich vielleicht hier jemand entwirren und mir sagen, warum das so ist? :)
Bonusfrage: Ich habe mir von Peter Haserodt von online-excel.de die folgende Funktion geborgt und etwas verändert. Im unteren Teil habe ich die close und = Nothing Zeilen auskommentiert, damit die Funktion auch tatsächlich mit dem Recordset des SQL-Querys rausrückt - ich muss gestehen ohne zu wissen warum. Ich bin über diverse Artikel gestolpert. Mal soll das Recordset nicht geschlossen werden, mal die Connection. Wenn man alles weglässt funktioniert's besonders gut :) NUr clever ist das wohl nicht... Kann mir das vielleicht jemand erläutern? Muss das evtl. zwingend an anderer Stelle nachgeholt werden?
Function testfunktion(strsqlselect As String) As ADODB.Recordset
Dim oAdoConnection As New ADODB.Connection
Dim oAdoRecordset As New ADODB.Recordset
Dim sAdoConnectString As String, sPfad As String
On Error GoTo Fehler
sPfad = ThisWorkbook.FullName
sAdoConnectString = "Provider=Microsoft.ACE.OLEDB.12.0; Extended      Properties='Excel 12. _
0 Xml;HDR=YES';Data Source=" & sPfad
Set oZielStartRange = ThisWorkbook.Worksheets("Ziel").Range("b2")
oAdoConnection.Open sAdoConnectString
With oAdoRecordset
.Source = strsqlselect
.ActiveConnection = oAdoConnection
.Open
End With
Set testfunktion = oAdoRecordset
Aufraeumen:
On Error Resume Next
'oAdoRecordset.Close
'oAdoConnection.Close
'Set oAdoRecordset = Nothing
'Set oAdoConnection = Nothing
Exit Function
Fehler:
MsgBox "Fehler: " & Err.Description
Resume Aufraeumen
End Function
Ich bin für jede Hilfe überaus dankbar und sage schon einmal "Danke" für jede Antwort, die Ihren Weg hierher findet :) Durch das viele Rumprobieren hab ich gerade echt den Faden verloren und "schwimme" nur noch *blubblub* Vielleicht wird es auch einfach Zeit für's Bett...
Euer Wusel

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

Betreff
Datum
Anwender
Anzeige
LÖSCHEN
10.04.2015 11:05:32
Wusel
Hallo zusammen,
der Doppelpost tut mir Leid, wenn ich eine Möglichkeit gefunden hätte das Ding hier zu löschen hätte ich es schon getan :(
Wenn jemand kann - bitte löschen :)
Wusel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige