Ja, Sie vermissen die Spaltenanzahl und die Spaltenbreiteneigenschaften. Stellen Sie daher sicher, dass diese richtig eingestellt sind. Der folgende Code verbirgt die BankId (Spaltenbreite = 0). Wenn beide angezeigt werden sollen, ändern Sie einfach die 0 in eine 1. EDIT, um die Eingabeaufforderung als Kopfzeile der Liste anzuzeigen. Folgendes funktioniert, aber die SQL-Zeichenfolge muss geändert werden, um den Spaltennamen zu ändern. Möglicherweise müssen Sie die Spaltenbreite Wert einzustellen, so dass die gesamte Header sichtbar ist:
strSQL = "Select BankID, BankName As [Please Select Bank] from tblBank"
With Me.cmbBank
.RowSource = strSQL
.ColumnCount = 2
.BoundColumn = 2
.ColumnWidths = "0in.;1in."
.ColumnHeads = True
.Requery
End With
Wenn Sie den Header nicht gefällt, können Sie ein Label-Objekt mit einer statischen Zeichenfolge neben der Combobox verwenden können.
Edit 2: Wenn Sie den Header in der Combobox angezeigt werden sollen, bevor die Liste öffnet, ich glaube, die einzige Möglichkeit ist, den Wert in der Combobox zu zwingen, was bedeuten würde, dass die LimitToList
Eigenschaft muss eingestellt werden falsch. Leider bleibt der Benutzereintrag unbewertet und kann beliebig eingegeben werden. Hier ist, wie das funktionieren würde:
strSQL = "Select BankID, BankName As [Please Select Bank] from tblBank"
With Me.cmbBank
.RowSource = strSQL
.ColumnCount = 2
.BoundColumn = 2
.ColumnWidths = "0in.;1in."
.ColumnHeads = True
.LimitToList = False
.Requery
.Value = "Please Select Bank"
End With
MSDN Column Count
MSDN Column Width
Sie fehlten 'With' End. Können Sie den Namen der Immobilie angeben, die verwendet werden soll? Bitte wählen Sie Bank? – Pankaj
Entschuldigung. Probieren Sie es aus. Sie können die 'ColumnHeads' -Eigenschaft verwenden, um die Spaltennamen am Anfang der Liste anzuzeigen, aber mir ist unklar, ob dies das ist, was Sie wollen. – MoondogsMaDawg
Gibt es eine Möglichkeit, den Text in der Combobox nicht mehr einzugeben? – Pankaj