データコンボをバインドする次のコードを作成しました
With dtcType
Set .RowSource = recType
.ListField = "Type"
.BoundColumn = "TypeId"
End With
DataCombo の上部に空白のアイテムを追加したい(datacombo をバインドした後 - ユーザーは空白のアイテムを選択することもできます)。これどうやってするの?
データコンボをバインドする次のコードを作成しました
With dtcType
Set .RowSource = recType
.ListField = "Type"
.BoundColumn = "TypeId"
End With
DataCombo の上部に空白のアイテムを追加したい(datacombo をバインドした後 - ユーザーは空白のアイテムを選択することもできます)。これどうやってするの?
私が覚えている限りでは、アイテム do を直接追加する方法はありませんDataCombo
。2 つのオプションを検討できます。
SQL が次のように見えない場合:
SELECT Id, Code FROM my_table
SELECT
withoutFROM
句を組み合わせて使用して人工記録を追加できますUNION
SELECT -1 As Id, '' As Code
UNION ALL
SELECT Id, Code FROM my_table
2番目のオプションは、次のような方法でアイテムを置き換えDataCombo
て入力することです:Combobox
Public Sub Populate(ByRef pData As ADODB.Recordset, _
ByVal pIdField As String, _
ByVal pDataField As String, _
Optional pEmptyItem As Boolean = False, _
Optional pEmptyItemId As Long = -2, _
Optional pEmptyItemCaption As String = "")
If m_ComboboxControl Is Nothing Then Exit Sub
If pEmptyItem Then
m_ComboboxControl.AddItem pEmptyItemCaption
m_ComboboxControl.ItemData(m_ComboboxControl.NewIndex) = pEmptyItemId
End If
With pData
If Not (.BOF And .EOF) Then
Do While Not .EOF
Select Case TypeName(pData.Fields(pDataField).Value)
Case "Date"
m_ComboboxControl.AddItem Format(pData.Fields(pDataField), "DD-MM-YYYY")
Case Else
m_ComboboxControl.AddItem pData.Fields(pDataField)
End Select
m_ComboboxControl.ItemData(m_ComboboxControl.NewIndex) = CLng(pData.Fields(pIdField))
.MoveNext
Loop
End If
End With
End Sub