以下是填写VBA应用程序中列表框的代码:
Private Sub Form_Open(Cancel As Integer)
''#Populate list box control.
Dim cnn As ADODB.Connection
Dim strSQL As String
Dim rst As ADODB.Recordset
Dim strList As String
On Error GoTo ErrHandler
''#Use DSN to Northwind.
''#Modify connection and connection string as needed.
Set cnn = New ADODB.Connection
cnn.Open "DSN=NorthwindExample"
strSQL = "SELECT * FROM Shippers"
Set rst = New ADODB.Recordset
rst.Open strSQL, cnn
strList = rst.GetString(adClipString, , ";", ",")
Debug.Print strList
Me.lstShippers.RowSource = strList
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
Exit Sub
ErrHandler:
MsgBox Err.No & ": " & Err.Description, vbOKOnly, "Error"
Set rst = Nothing
Set cnn = Nothing
End Sub
我需要知道我需要把什么作为DSN字符串?我在哪里可以获得信息?
此代码中的adClipString
是什么?
是否有任何选项可以在不使用DSN连接对象的情况下填充列表控件,因为我从相同的访问表中获取值?
答案 0 :(得分:2)
这是一个包含Access的不同连接字符串的链接: http://www.connectionstrings.com/access
这样的事情应该有效:Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\ mydatabase.mdb; User Id = admin; Password =;
我不确定adClipString是什么,它可能是未声明的变量或数据库列?
马特
答案 1 :(得分:1)
Here是关于adClipString的信息。
基本上,GetString方法将整个记录集的内容转换为字符串变量,其中列将以“;”分隔。并且行将以“,”(根据您的代码)分隔。
关于DSN - 请参阅开始 - >设置 - >控制面板 - >管理工具 - >数据源(ODBC)。其中一个选项卡(我猜是系统DSN)是可以创建并列出基于ODBC的数据源的地方。