目前我正在使用数据库项目。在这里,我每次都可以逐一获取记录。我有2个组件使用了一个ComboBox
& Data
。这就是我所做的:
Private Sub Form_Load()
Combo1.AddItem "RAM"
Combo1.AddItem "HDD"
End Sub
正如您所见,我手动添加了ComboBox
中的项目
但我想从Access数据库加载项目,该数据库已成功创建并与Data
连接。我设置了DatabaseName
& RecordSource
正确&这是工作。但我需要ComboBox
中的所有记录同时不是单一的记录。我可以通过任何循环来完成它。但我不知道该怎么做。请帮忙
Database structure
表名:组件
字段:名称,ID,价格
我需要在comboBox中显示名称字段的所有记录
答案 0 :(得分:0)
您应该打开DAO.Recordset(dbOpenSnapshot),然后滚动记录以将Name添加到Combo1。
Do While Not rst.EOF
Combo1.AddItem rst!Name
rst.MoveNext
Loop
了解如何:https://msdn.microsoft.com/en-us/library/office/ff820966.aspx (使用与结构化查询语言(SQL)语句相关的示例)
答案 1 :(得分:0)
您可以使用DataCombo并仅绑定其RowSource端:
Option Explicit
Private Const CONN As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='.';" _
& "Extended Properties='Text'"
Private RS As ADODB.Recordset
Private Sub Form_Load()
Set RS = New ADODB.Recordset
With RS
.CursorLocation = adUseClient
.Open "SELECT [Year] FROM [sample.txt] ORDER BY [Year] ASC", _
CONN, _
adOpenStatic, _
adLockReadOnly, _
adCmdText
Set .ActiveConnection = Nothing
End With
With DataCombo1
.ListField = "Year"
Set .RowSource = RS
.Text = vbNullString
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
RS.Close
End Sub