Запрос относительно строки DSN в VBA - PullRequest
2 голосов
/ 14 июля 2009

Ниже приведен код для заполнения списка в приложении 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, поскольку я беру значения из той же таблицы доступа?

Ответы [ 2 ]

2 голосов
/ 14 июля 2009

Вот ссылка, которая содержит различные строки подключения для Access: http://www.connectionstrings.com/access

Примерно так должно работать: Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = C: \ mydatabase.mdb; Идентификатор пользователя = admin; Пароль =;

Я не уверен, что такое adClipString, это может быть необъявленная переменная или столбец базы данных?

Мэтт

1 голос
/ 14 июля 2009

Здесь - информация об adClipString.

По сути, метод GetString получает содержимое всего набора записей в строковую переменную, где столбцы будут разделены знаком ";" и строки будут разделены "," (согласно вашему коду).

Относительно DSN - см. Пуск -> Настройки -> Панель управления -> Администрирование -> Источники данных (ODBC). Одна из вкладок (я полагаю, System DSN) - это место, где можно создать источник данных на основе ODBC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...