dbOpenDynaset - 'Переменная объекта или переменная блока не установлена' - PullRequest
0 голосов
/ 08 июля 2020

У меня есть запрос qryAddressBook. Я хочу иметь возможность l oop по вертикали через записи в специальном поле c с именем Client_Address и отображать эти записи в одной строке таблицы tblClient.

Я сделал это в прошлом с таблицами с использованием "Set rs = dbs.OpenRecordset (" tblAddressBook ", dbOpenTable)" без проблем ....

... и я следовал синтаксису, показанному из метода Access Database.OpenRecordset ( DAO): https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/database-openrecordset-method-dao

Я продолжаю получать сообщение об ошибке: «Объектная переменная или с блочной переменной не установлена», и в моем коде выделяется следующий текст:

Set rs = dbs.OpenRecordset("qrySpecificNCR", dbOpenDynaset)

Вот мой общий код:

DoCmd.OpenQuery "qryAddressBook"

Dim dbs As DAO.Database
Dim rs As Recordset
Dim SeqNum As Integer

Set dbs = CurrentDb

SeqNum = 1

Set rs = dbs.OpenRecordset("qryAddressBook", dbOpenDynaset)

Do Until rs.EOF

    Dim srtAddress As String
    srtAddress = rs.Fields("Client_Address").Value

    Dim strSQLAddress As String
    strSQLAddress = "UPDATE tblClient SET " & SeqNum & " = '" & srtAddress & "' WHERE Record = 1;"

        DoCmd.RunSQL strSQLAddress 

        SeqNum = SeqNum + 1

rs.MoveNext

Loop

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

cancatenate комбинированное значение формы

"FROM qryGlobalAddress WHERE (((qryAddress.Client) = '" & [FORMS]! [FrmClientAddress]! [CmbClientName] & "'));"

0 голосов
/ 08 июля 2020

Я все еще не понимаю явную часть ... но обнаружил ошибку.

В моем qryAddressBook была следующая строка кода:

FROM qryGlobalAddress
WHERE (((qryAddress.Client) = [FORMS]![frmClientAddress]![CmbClientName]));

Я нажимал форму параметр из поля со списком. Когда я изменил это на конкретное c имя клиента, например:

FROM qryGlobalAddress
WHERE (qryAddress.Client) = 'Smith, John';

Тогда Set rs = dbs.OpenRecordset ("qryAddressBook", dbOpenDynaset) работал отлично.

Проблема теперь мне нужно выяснить способ pu sh параметра формы для запроса. : (

...