-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Руками UPDATE но из VBA не UPDATE

Пятница, 13 Июля 2018 г. 14:01 + в цитатник
Всем привет!

не могу ничего понять...
Есть такой код:
Private qSQL As New Dictionary

Public Sub GeneratesSQL()
    
    Dim qd As QueryDef

    qSQL.RemoveAll

    For Each qd In CurrentDb.QueryDefs
    
        qSQL.Add qd.name, Replace(qd.SQL, "TempVars]![", "tv_")
        
    Next qd
    
End Sub

Public Sub rq(ParamArray args() As Variant)
    
    With CurrentDb.CreateQueryDef("", qSQL(args(LBound(args))))
    
        For i = LBound(args) + 1 To UBound(args) Step 2
            .Parameters("[" & args(i) & "]").Value = args(i + 1)
        Next i
        
        .Execute dbFailOnError
        
        .Close
    
    End With
    
End Sub


Мне так удобно - я редактирую запросы в графическом интерфейсе, а GenerateSQL грабит их в словарь и потом с помощью rq их можно вызывать, например вот так:
Public Sub test()
    
    qp.GeneratesSQL

    rq "Копия Финальный отчет", _
        "Дата записи", Now(), _
        "Автор", 198, _
        "Контакты", "Ольга Николаевна - главный бухгалтер", _
        "Комментарий", "Согласны без увеличения чека - на данный момент качество устраивает", _
        "tИНН", 123456789123#, _
        "tРФ", GetMyRF()

End Sub


В качестве первого параметра передаем название запроса, в качестве остальных - пары Название параметра - Значение параметра.

Есть такой запрос "Копия Финальный отчет":
PARAMETERS Контакты Text ( 255 ), Комментарий LongText, [Дата записи] DateTime, Автор Long, tИНН IEEEDouble, tРФ Long;
UPDATE ИНН SET ИНН.[Автор отчета] = [Автор], ИНН.[Дата отчета] = [Дата записи], ИНН.[Контактное лицо] = [Контакты], ИНН.[Комментарии клиента] = [Комментарий]
WHERE (((ИНН.ИНН)=[tИНН]) AND ((ИНН.РФ)=[tРФ]));


из qSQL он выводится точно таким же.

Так вот этот запрос при ручном запуске выполняется отлично и строка получает свои обновления, а при запуске из VBA - ошибок нет, но и изменений нет.

ИНН - это таблица так называется (ну так вышло)...
т.е. запрос примитивный.

Помогите разобраться, почему из VBA запрос не изменяет данные?

http://www.sql.ru/forum/1298586/rukami-update-no-iz-vba-ne-update


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку