Access.Application.CurrentDb - это ничего?

Я затрудняюсь объяснить это:

Я получаю сообщение об ошибке:

Error "91" (Object or With block not set)

во второй строке ниже:

Dim rs As DAO.Recordset

Set rs = CurrentDb.OpenRecordset("SELECT * FROM employees")

Следующее также вызывает это:

`Set rs = CurrentDb.OpenRecordset("employees")`

Выполнение только ?CurrentDb.Name в непосредственном окне также вызывает ошибку.

Теперь очевидно, что база данных открыта, так как я редактирую форму внутри нее, так что может вызвать здесь эту ошибку?

Что между скобками для OpenRecordset?

Patrick Cuff 06.01.2009 23:38

Патрик на правильном пути. Можете ли вы предоставить всю строку кода. Я думаю, это, вероятно, связано с ошибкой OpenRecordset. Вы также можете протестировать в командном окне, чтобы подтвердить, что, по вашему мнению, происходит на самом деле?

JohnFx 06.01.2009 23:51

Находится ли этот код в модуле, в форме или другом? Вы работаете с проектом ADP или с простой базой данных ванильного доступа?

Patrick Cuff 08.01.2009 17:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
6 973
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

вам следует назначить свой метод .openRecordset объекту dao.recordset или универсальному объекту (техника «позднего связывания»). попробуйте что-то вроде этого:

dim rs as dao.recordset
set rs = currentDb.openRecordset(your SELECT instruction,...)
Ответ принят как подходящий

Если вы работаете с проектом ADP, вам следует использовать CurrentProject вместо CurrentDB.

Вам нужно будет не только использовать CurrentProject с ADP, но и использовать весь модуль ADODB для взаимодействия с базой данных. Отправная точка: support.microsoft.com/kb/281998.

David Faivre 13.03.2011 18:29

Попробуйте создать объект базы данных и использовать его вместо ссылки CurrentDb. Например:

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Employees")

Причина, по которой я подозреваю, что код не будет работать, заключается в том, что согласно M / Soft текст ссылки «CurrentDb» - это метод, который будет возвращать «объектную переменную типа База данных». Так что код, показанный Forester93, должен работать. Это то, что я бы использовал и использую уже много лет.

Другие вопросы по теме