Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox as Variable in Sub übergeben

ComboBox as Variable in Sub übergeben
16.12.2005 16:14:18
mazarata
Hallo Profis
Das Abfüllen von List- bzw. ComboBox in UserForms soll über eine zentrale Prozedur gesteuert werden, da die Daten von einer Access-Datenbank gewonnen werden.
Public Sub InitializeCobx(ByVal Cobx As MSForms.Control, ByVal Table As String, ByVal Field As String)
Dim objRecset As ADODB.Recordset
Dim i As Integer
Dim vArray() As Variant
OpenConnectionMDB
Set objRecset = New ADODB.Recordset
objRecset.Open Table, objConnMDB, adOpenKeyset, adLockOptimistic
i = 0
Do Until objRecset.EOF
ReDim Preserve vArray(i)
vArray(i) = objRecset.Fields(Field).Value
i = i + 1
objRecset.MoveNext
Loop
objRecset.Close
Call QuickSortVariants(vArray, LBound(vArray), UBound(vArray))
For i = LBound(vArray) To UBound(vArray)
Cobx.AddItem vArray(i)
Next
Set objRecset = Nothing
objConnMDB.Close
End Sub
PROBLEM: Die Prozedur wird im UserForm_Initialize aufgerufen. Gestern klappte es problemlos, heute hingegen wird mit contr ein leeres String übergeben. Aber auch wenn ich im zweiten Aufruf auf contr verzichte und die komplette Bezeichnung der ComboBox übergebe, wird ein "" übergeben. Woran könnte das liegen - jetzt bin ich am Limit.

Private Sub UserForm_Initialize()
Dim contr As ComboBox
With Me
.lbl_ExtPartner.Visible = False
.cobx_ExtPartnerName.Visible = False
End With
Set contr = Me.cobx_Department
Call InitializeCobx(contr, "tblDepartment", "DeptName")
Call InitializeCobx (frmNewHR.cobx_ExtPartnerName, "tblExtPartner", "ExtPartnerName")
End Sub

Vielen Dank für die Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox as Variable in Sub übergeben
16.12.2005 17:01:37
Luschi
Hallo mazarata,
Objekte muß man als Referenz an selbstentwickelte Prozeduren/Funktionen übergeben:
Public Sub InitializeCobx(ByRef Cobx As MSForms.Control, ByVal Table As String, ByVal Field As String)
oder (da ByRef Standard ist)
Public Sub InitializeCobx(Cobx As MSForms.Control, ByVal Table As String, ByVal Field As String)
Gruß von Luschi
aus klein-Paris
AW: ComboBox as Variable in Sub übergeben
16.12.2005 17:14:37
mazarata
Hallo Luschi
Danke für Dein Input. Das Problem entsteht jedoch schon im UserForm_Initzialize. contr wird auf "" gesetzt, als würde es sich um einen String halten. Doch contr ist als ComboBox definiert. Da muss irgendwo das Problem liegen.
ByRef werde ich anwenden. merci beacoup.
Mazarata
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige