Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1856to1860
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
Combobox mit Inhalt aus Datenbank füllen
21.11.2021 15:43:55
Tobi
Hallo Ihr lieben.
Ich versuche mich schon den ganzen Tag mit meinen VBA Grundkentnissen es hinzubekommen aber ich schaffe es nicht :(
Problemstellung:
Die Datenbankverbindung zur MySQL Datenbank steht. Andere Abfragen funktionieren.
Nun möchte ich aus der Tabelle Namen die komplette spalte Nachnamen in die Combobox3 der Mappe beim öffnen der Mappe einzulesen.
Kann mir jemand beibei helfen?
Liebe Grüße Tobi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox mit Inhalt aus Datenbank füllen
21.11.2021 15:54:39
Hajo_Zi
Hallo Tobi,

Option Explicit
Private Sub Workbook_Open()
With Worksheets("Tabelle1")
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
.ComboBox1.ListFillRange = "A1:A" & Loletzte
End With
End Sub
GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
Anzeige
Das beantwortet nicht meine Frage
21.11.2021 16:12:46
Tobi
Leider war das nicht die passende Antwort auf meine Frage ..
die Frage ist wie ich die Werte aus einer Tabelle einer MySQL Datenbank in ein Array schreiben kann!
AW: Das beantwortet nicht meine Frage
21.11.2021 16:17:30
Hajo_Zi
meine Antwort bezog sich auf diesen Teil

Nun möchte ich aus der Tabelle Namen die komplette spalte Nachnamen in die Combobox3 der Mappe beim öffnen der Mappe einzulesen.
da ich das falsch gelesen habe bin ich raus.
Voiel Erfolg noch.
Gruß Hajo
AW: Das beantwortet nicht meine Frage
21.11.2021 16:43:57
Tobi
Schon gewusst .. in Datenbanken spricht man auch von Tabellen. Man sollte schon alles lesen bevor man was schreibt!!
Schon die Überschrift des Threads ist eigentlich eindeutig.
Ich wollte schon in meine Anfrage schreiben " Bitte keine Antwort von Hajo_Zi" denn mir war Ihre Antwort sowas von klar!
Anzeige
AW: Combobox mit Inhalt aus Datenbank füllen
21.11.2021 16:22:40
ralf_b
wo ist denn dein Code?
Wofür benötigst du Hilfe ? Für die Abfrage oder für die Zuweisung in die Combobox.List ?
AW: Combobox mit Inhalt aus Datenbank füllen
21.11.2021 16:42:02
Tobi
Hallo, vielen Dank für die Antwort
Mir würde es schon reichen wenn ich wüsste wie man aus der Datenbantabelle ( Namen ) die Spalte Nachnamen in ein Array schreibt.
Die Abfrage bekomme ich nicht hin.
Liebe Grüße
Tobi
AW: Combobox mit Inhalt aus Datenbank füllen
21.11.2021 17:35:29
Tobi
Hallo, vielen Dank für die Hilfe
Ich habe folgendes erstellt .. aber es wird nur die erste Zeile in die Combo Box geschrieben.
Was muss ich machen dass alle Werte aus der Spalte in die ComboBox geschrieben wird?

Sub befuellen
Dim uData As ADODB.Recordset
Dim Namen As Long
Dim NamenArray As Variant
ConnectDB
Set uData = GetRecordset(Namen)
NamenArray = uData.Fields.Item("Nachnamen").Value
Worksheets(1).ComboBox3.AddItem (NamenArray)
End Sub

Function GetRecordset(id As Long) As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sqlstr As String
sqlstr = "SELECT  Strassen_Namen FROM " & uTable & " "
rs.Open sqlstr, cn
Set GetRecordset = rs
End Function
Liebe Grüße
Tobi
Anzeige
AW: Combobox mit Inhalt aus Datenbank füllen
21.11.2021 18:42:23
ralf_b
Ein paar Anmerkungen. Grundsätzlich kann man als Außenstehender solche Codes nicht nachvollziehen wenn man nicht den gesamten Code kennt und keinen Zugang zu Datenbanken hat, um die Abfragen zu testen. Deshalb kann ich nur das beurteilen was du zeigst.

Function GetRecordset(id As Long) As ADODB.Recordset
'wo findet sich id im code der function wieder?
Set rs = New ADODB.Recordset
Dim sqlstr As String
sqlstr = "SELECT  Strassen_Namen FROM " & uTable & " "
'was ist uTable für  eine Variable? Sollte  da nicht id stehen?
rs.Open sqlstr, cn
'was ist cn für eine Variable?  Woher kommt diese?
Set GetRecordset = rs
End Function
in der Sub wird additem benutzt. das fügt nur eine Datenzeile hinzu. nutze .list um das Array zur liste des Controls zuzuweisen.
Anzeige
AW: Combobox mit Inhalt aus Datenbank füllen
22.11.2021 07:14:51
ralf_b
Moin
leider hat mit deine Beispieldatei etwas Kopfzerbrechen bereitet. Die Abfrage funktioniert nicht auf meinem System. Hast du es mit der Datei getestet?
Nichts desto Trotz hab ich es irgendwann hinbekommen und gebe dir nur mal meine Idee dazu zum Besten.
Du nutzt ziemlich viele globale Variablen. Deshalb kannst du auch Kundennummer und Datenbank in der befüllen sub zuweisen.
Das ist aber nur eine Variante. In Ermangelung tieferer Datenbank-Abfragekenntnisse hier mein trivialer Versuch.
IN GetRecordset müßte dann auch noch etwas umgebaut werden um deine IF-Verzweigung zum laufen zu bekommen.

Sub befuellen()
Datenbank = "Strassen"
Kundennummer = -1
Call ConnectDB
With ThisWorkbook.Worksheets(1)
Call leeren 'Combobox und Datenbereich in Tabelle leeren
.Range("M1").CopyFromRecordset rs
If .Range("M1").CurrentRegion.Count = 1 Then
.ComboBox1.AddItem = .Range("M1").CurrentRegion.Value
ElseIf Range("M1").CurrentRegion.Count > 1 Then
.ComboBox1.List = .Range("M1").CurrentRegion.Value
End If
End With
Call CloseRS
Call CloseDB
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige