powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / программное выполнение запроса с параметрами
17 сообщений из 42, страница 2 из 2
программное выполнение запроса с параметрами
    #40004801
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это ещё что! Вы мне вот чего скажите. а то м.б. я опять туплю - почему после прохождения On Error GoTo ErrorHandler
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Function DoesQryExist(QueryName As String) As Boolean
Dim qdf As DAO.QueryDef

On Error GoTo ErrorHandler

DoesQryExist = False

Set qdf = CurrentDb.QueryDefs(QueryName)

DoesQryExist = True

ErrorHandler:


прога при отсутствии объекта - запроса на операторе set вместо перехода на ErrorHandler: выдаёт ошибку на месте!!!
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004805
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004808
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставить on error resume next и потом проверить номер ошибки?
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004809
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

всё так же, ошибка 3265.
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004810
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dab2
sdku
(вообще без VBA,ссылки ПОЛНЫЕ)
там на самом деле начальная дата корректируется, а не берется из поля на прямую, так бы я и сам сделал, конечно.
Чё-то не вкурю: дата введенная в поле корректируется и превращается в параметр запроса и какая разница с какой "полки" он берётся. Лично мне ТЗ не понятно,от слова совсем,однако
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004811
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dab2,

в радакторе VBA, Tools - Options - General
что у тебя в Error Trapping ?
Нужно установить на Break on Unhandled Errors
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004816
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court,

точно! Вторую полцарства в сту... стоп, а я с чем останусь?..
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004832
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dab2
....так при использовании агрегатных функций в полях, остальные группируются, что само собой разумеется...
А я-то, наивный, думал что группировка определяется предложением GROUP BY в инструкции SQL,а для этого нажимается кнопочка групповых операций и в ней появляется это предложение а до нажатия кнопки этого предложения там не будет
Все Ваши "непонятки" происходят от того что Акс не может создать такой запрос\объект-в Вашей инструкции SQL GROUP BY не наблюдается
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004851
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

не переживайте, вы не наивный, я-то конструктором пользуюсь, про него и пишу.
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004864
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dab2
.... я-то конструктором пользуюсь, про него и пишу.
Вы уж определитесь конструктор или VBA и "готовые ПРОЦЕДУРЫ "???
Запрос открывается из окна БД?
Если Вы хотите этого:
dab2
...Где-то на форуме я видел готовые процедуры для выполнения запросов с параметрами...
То ответ здесь: 22207842
если чего-то другого, кратко и понятно опишите задачу\"хотелку"-лично я не понимаю чего Вы хотите.
Чтоб решить какую-либо\Вашу задачу её нужно,как минимум,уяснить
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004869
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

сейчас я делаю выполнение сохраненных запросов в конструкторе с параметрами дат в данном случае. Библиотека DAO. Это не мой проект, я поддерживаю то, что уже написано. При попытке запуска сохраненного запроса, который вручную нормально запускается, у меня ошибка:
3464 Несоответствие типов данных в выражении условия отбора.
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004876
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
-какие данные хранятся в таблице (исходные данные)
-что Вы хотите увидеть и где (вывести запрос на экран,отобразить какие-то итоговые\конкретные значения в полях\списке на форме-при использовании VBA совсем не обязательно создавать запрос и куда-то записывать результат инструкцией INSERT)
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004885
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-какие данные хранятся в таблице\ах (исходные данные)
-что Вы хотите увидеть и где (вывести запрос на экран,отобразить какие-то итоговые\конкретные значения в полях\списке на форме-при использовании VBA совсем не обязательно создавать запрос и куда-то записывать результат инструкцией INSERT)
dab2
... При попытке запуска сохраненного запроса, который вручную нормально запускается, у меня ошибка:
3464 Несоответствие типов данных в выражении условия отбора.
Видеть такое сообщение-это "нормально запускается". Уж не по полюСоСписком\полюПодстановки Вы что-то отбираете.
Выложили бы проблемный фрагмент-было бы намного проще Вам помочь
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004889
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004934
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

он здоровый реально, чтобы его скрином или текстом разбирать. Но суть - там два параметра типа "дата", при подстановке вручную в конструкторе, он нормально отрабатывает, программно же выдаёт эту ошибку несоответствия типа данных. Собственно, вот кусок с параметрами:
Код: sql
1.
WHERE (((LoadTime.[Дата и время загрузки на локальный сервер]) Between [minus_3_month] And [date_to]))


Здесь я его запускаю в процедуре под именем:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Function qryPar(qryName As String, ParamArray arrPar()) As Long  'перечисление параметров вида: "[имя]","значение"
Dim q As DAO.QueryDef, i As Integer

On Error GoTo err1

Set q = CurrentDb.QueryDefs(qryName)

For i = 0 To UBound(arrPar()) Step 2
  If IsDate(arrPar(i + 1)) Then
    q.Parameters(arrPar(i)).Value = CDate(arrPar(i + 1))
  ElseIf IsNumeric(arrPar(i + 1)) Then
    q.Parameters(arrPar(i)).Value = CDec(arrPar(i + 1))
  Else
    q.Parameters(arrPar(i)).Value = Eval(arrPar(i + 1)) 'для параметров вида Forms![ИмяФормы]![ИмяКонтрола]
  End If
Next i

q.Execute
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004957
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dab2,
все-таки объясните примерно так:
в БД имеется запрос с именем ...и форма(или inputBox) для ввода параметров начальной и конечной даты. Надо создать процедуру VBA которая извлечет из таблицы записи соответственно критерию поиска,который может изменяться в зависимости от ......так-то и так-то
...
Рейтинг: 0 / 0
программное выполнение запроса с параметрами
    #40004965
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

параметры даты формируются в vba по правилам
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
d = DatePart("d", Me.dateFrom)
m = DatePart("m", Me.dateFrom)
y = DatePart("yyyy", Me.dateFrom)
date_from = m & "/" & d & "/" & y
minus_3_month = IIf(m >= 3, m - 2, Format(DatePart("m", DateAdd("m", -2, Me.dateFrom)), "00")) & "/" & 1 & "/" & IIf(m >= 3, y, Format(DatePart("yyyy", DateAdd("yyyy", -1, Me.dateFrom))))
d = DatePart("d", DateAdd("d", 1, Me.dateTo))
m = DatePart("m", DateAdd("d", 1, Me.dateTo))
y = DatePart("yyyy", DateAdd("d", 1, Me.dateTo))
date_to = m & "/" & d & "/" & y


так что здесь всё ок.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / программное выполнение запроса с параметрами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]