sql - 关于dsn字符串的查询

标签 sql vba forms ms-access listbox

下面是在 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 是什么?

由于我从同一 Access 表中获取值,是否有任何选项可以在不使用 DSN 连接对象的情况下填充列表控件?

最佳答案

以下链接包含 Access 的不同连接字符串: http://www.connectionstrings.com/access

类似这样的内容应该有效:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

我不确定 adClipString 是什么,它可能是未声明的变量或数据库列?

马特

关于sql - 关于dsn字符串的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1123699/

相关文章:

MySQL - 选择在过去 y 天内至少下了 x 个订单并且在过去 z 天内没有订购的客户

sql - 获取表中特定起点和终点之间的多条记录

vba - 大纲教VB6

sql - 用 SQL 除以零

sql - sql server如何使用管道字符进行排序

excel - 运行打开 MessageBox 的宏

vba - 设置范围数据表出错

javascript - 使用 javascript 函数验证表单

Python Mechanize 登录帐户 - 表单未提交

php - 从 HTML5 表单获取日期 - 并发布到 MySQL