Ошибка подключения к БД из VB для доступа

#vb.net #ms-access

#vb.net #ms-access

Вопрос:

У меня есть проект Access, в котором я хочу, чтобы метка отображалась при открытии формы, только если запрос возвращает результат.

У меня есть следующий код:

 Private Sub Form_Load()
Dim stSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = DBEngine.Workspaces(0).Databases(0)

Dim cn As DAO.Connection
Set cn = DAO.Connection


cn.Provider = "Microsoft.Jet.OLEDB.4.0"

cn.Open stdbName
stSQL1 = "SELECT * FROM tbl_lessons"
Set rs = db.OpenRecordset(stSQL1, dbOpenDynaset)

If (rs Is Not Nothing) Then
    If (rs.GetRows() > 0) Then
        lbl_alert.Visible = True
    Else
      lbl_alert.Visible = False
    End If

End If
 

Когда я пытаюсь открыть форму, я получаю следующую ошибку:
Ошибка компиляции:
Метод или элемент данных не найден

Я использую Access 2007 с VB7

Может кто-нибудь, пожалуйста, помогите?

Комментарии:

1. Что такое VB7? И наш код, похоже, похож на ADO, а не на DAO. Разве вы не должны просто изменить DAO. Подключение к ADO. Соединение?

2. Если вы не используете Access, просто используете MDB из другого инструмента / языка, пожалуйста, повторите: замените «ms-access» на «Jet»

Ответ №1:

Примечание — при возникновении ошибок компиляции в VBA строка кода всегда выделяется. Внимательно посмотрите на выделенную строку, это поможет вам понять, что вы сделали не так. Также обратите внимание, что вы всегда должны компилировать свой код перед попыткой запуска формы. (откройте меню «Отладка»> нажмите «Скомпилировать VBAProject» или тому подобное.)

Похоже, существует множество проблем, и вам, вероятно, придется решать их по одному. просто продолжайте исправлять проблемы и перекомпилировать свой код.

  1. 1cn.Open stdbName1
    —> stdbname нигде не определено в коде, который вы нам показали.
  2. Dim stSQL As String
    —> Вы определили свою строку подключения как stSQL , но в своем коде вы использовали: stSQL1 = "..." . Исправьте имя вашей переменной.

Комментарии:

1. Спасибо всем за вашу помощь; однако я все еще застрял. Я весь день гуглил, но не могу найти хороший учебник для этого. Я пытаюсь сделать что-то, чего у меня не было около 10 лет.. поэтому я прошу прощения за глупые вопросы… Я пытаюсь подключиться к моей базе данных access, выполнить запрос и что-то сделать с результирующим набором. Может кто-нибудь, пожалуйста, поделиться кратким объяснением того, как это можно сделать? Спасибо

2. Я рекомендую вам проголосовать за этот вопрос, если он вам помог, принять его, если он ответил на ваш первоначальный вопрос, а затем задать новый вопрос, если вам нужна дополнительная помощь в чем-то еще. У меня лично нет руководства по подключению к базам данных Access.