从访问数据库填充组合
问题描述:
目前我正在使用数据库项目。在这里,我可以每次一个一个取记录。我有2个组件使用一个ComboBox
& Data
。这里是我做了什么:从访问数据库填充组合
Private Sub Form_Load()
Combo1.AddItem "RAM"
Combo1.AddItem "HDD"
End Sub
正如你可以看到我在manualy ComboBox
补充项目,但我想加载从中成功地创建并与Data
连接Access数据库的项目。我已经设置了DatabaseName
& RecordSource
正确&它正在工作。但我同时需要ComboBox
中的所有记录不是一次一个。我可以通过任何循环来完成。但我不知道如何去做。请帮助
Database structure
表名:组件
领域:名称,编号,价格
我需要显示名称字段的所有记录中的组合框
答
你应打开一个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)语句)
答
您可以使用一个DataCombo中,只有结合其行来源方:
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
[在Microsoft Visual Basic 6.0中填充组合框]的可能的副本(https://stackoverflow.com/questions/11940319/populate-combobox-in-microsoft-visual-basic-6-0) –