Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset глючит / 25 сообщений из 39, страница 1 из 2
12.07.2004, 12:57:17
    #32599495
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Set rst = CurrentDb.OpenRecordset("RealizationPay")
возвращает ошибку 3061. Слишком мало параметров. Требуется 3.
Я всегда заполнял 2 переметра (хотя обязательный один).

ПОМОГИТЕ....
...
Рейтинг: 0 / 0
12.07.2004, 12:59:41
    #32599503
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
RealizationPay - это таблица, запрос? Что это? Если запрос, то требует ли он параметры из функции или из формы?
...
Рейтинг: 0 / 0
12.07.2004, 13:02:57
    #32599510
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Это запрос, параметры из формы он требует (даты с и по ), форма открыта. Хотя я пробовал и через VBA (типа запрос.parameters... и так далее). Одна фигня.
...
Рейтинг: 0 / 0
12.07.2004, 13:04:58
    #32599513
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
S. FedorenkoЭто запрос, параметры из формы он требует (даты с и по ), форма открыта. Хотя я пробовал и через VBA (типа запрос.parameters... и так далее). Одна фигня.

Фигня искать на конфе ответ без текстов запросов!
...
Рейтинг: 0 / 0
12.07.2004, 13:05:44
    #32599515
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Запрос в студию. Знатоки посмотрят на него орлиным взором
...
Рейтинг: 0 / 0
12.07.2004, 13:05:58
    #32599516
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Т.е. если при открытой форме запускаем запрос, то данные он возвращает?
А если пытаемся по нему открыть рекордсет (при открытой форме), то данные не получаем?

Dim rs As Recordset
Dim db As Database
Set db = CurrentDb

Set rs = db.OpenRecordset("RealizationPay")
...
Рейтинг: 0 / 0
12.07.2004, 13:09:28
    #32599525
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
я думаю, надо зайти в ссылки и проверить галку напротив DAO
...
Рейтинг: 0 / 0
12.07.2004, 13:10:01
    #32599527
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
HummerТ.е. если при открытой форме запускаем запрос, то данные он возвращает?
А если пытаемся по нему открыть рекордсет (при открытой форме), то данные не получаем?

Dim rs As Recordset
Dim db As Database
Set db = CurrentDb

Set rs = db.OpenRecordset("RealizationPay")

Именно так. Просто не желает открывать recordset

Вот вам запрос:

Код: plaintext
1.
2.
3.
4.
SELECT MainPay.PIN, Sum(MainPay.Total) AS Vsego
FROM MainPay
WHERE (((MainPay.PayDate) Between [Forms]![SelectRealization]![Date1] And [Forms]![SelectRealization]![Date2]))
GROUP BY MainPay.PIN;

Тупая байда.
...
Рейтинг: 0 / 0
12.07.2004, 13:11:15
    #32599528
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
kedzoя думаю, надо зайти в ссылки и проверить галку напротив DAO

Я не маленький мальчик. В соседней процедуре всё работает. С DAO проблем не имею
...
Рейтинг: 0 / 0
12.07.2004, 13:14:09
    #32599536
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
S. Fedorenko kedzoя думаю, надо зайти в ссылки и проверить галку напротив DAO

Я не маленький мальчик. В соседней процедуре всё работает. С DAO проблем не имею

я где-то намекал на Ваш возраст? Время? Место?

у меня такая ошибка возникала, когда слетела связь с библиотекой.
...
Рейтинг: 0 / 0
12.07.2004, 13:14:14
    #32599537
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
2 S. Fedorenko
Уважаемый, нормально дату передавайте в запрос, проблем не будет. Используем в запросе #.
...
Рейтинг: 0 / 0
12.07.2004, 13:18:03
    #32599546
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
kedzo S. Fedorenko kedzoя думаю, надо зайти в ссылки и проверить галку напротив DAO

Я не маленький мальчик. В соседней процедуре всё работает. С DAO проблем не имею

я где-то намекал на Ваш возраст? Время? Место?

у меня такая ошибка возникала, когда слетела связь с библиотекой.

Прошу прощения за грубость. Я по доброму отвечал.
...
Рейтинг: 0 / 0
12.07.2004, 13:19:23
    #32599552
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Hummer2 S. Fedorenko
Уважаемый, нормально дату передавайте в запрос, проблем не будет. Используем в запросе #.

У меня в параметре отбора написано
Between [Forms]![SelectRealization]![Date1] And [Forms]![SelectRealization]![Date2]

а не Between #01.05.06# and #31.05.06#
...
Рейтинг: 0 / 0
12.07.2004, 13:21:24
    #32599557
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
выдели sql-стринг отдельно и сделай debug.print

гадить может и дата
и Set db = CurrentDb - лучше отвязать
...
Рейтинг: 0 / 0
12.07.2004, 13:25:30
    #32599567
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
2 Shuhard
У него про set db ничего и не написано. Я так давно писал, когда в 97 работал. Глюков не было, так что почему лучше отвязать, не очень понял.

2 S. Fedorenko
Разнится интерпритация строки при выполнении запроса и открытии по нему рекордсета. Для проверки, окройте рекордсет по строке. которую привели.
...
Рейтинг: 0 / 0
12.07.2004, 14:04:30
    #32599666
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Hummer2 Shuhard
У него про set db ничего и не написано. Я так давно писал, когда в 97 работал. Глюков не было, так что почему лучше отвязать, не очень понял.


Бывают чудеса при повторном обращении к CurrentDb,писал об этом кто-то из мэтров.
Я сам попадал при работе с семейством Properties-без set db не работало.
...
Рейтинг: 0 / 0
12.07.2004, 15:51:16
    #32599975
тиа
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
А что есть MainPay. Таблица или, м.б., запрос со СВОИМИ параметрами?
...
Рейтинг: 0 / 0
12.07.2004, 16:20:35
    #32600039
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Акс в ркордсете требует действительные данные, а не ссылку на них. Такая конструкция будет работать:

Код: plaintext
1.
2.
3.
SELECT MainPay.PIN, Sum(MainPay.Total) AS Vsego
FROM MainPay
WHERE (((MainPay.PayDate) Between CDate('" & [Forms]![SelectRealization]![Date1] & "') And CDate('" & [Forms]![SelectRealization]![Date2] & "')))
GROUP BY MainPay.PIN;
Правда, как здесь на форуме уже не однократно замечалось, CDate может ошибаться, в завичимости от установок. Поэтому е этой ф-ией надо обращаться осторожно. Можно придумать другие варианты, важно, в рекордсет подать данные, а не ссылку
...
Рейтинг: 0 / 0
12.07.2004, 16:23:18
    #32600051
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
К автору топика:
А если что-то типа этого попробовать
Код: plaintext
1.
Set rs=db.OpenRecordset("RealizationPay", dbOpenSnapshot)
Если записывать собрался, то
Set rs=db.OpenRecordset("RealizationPay", dbOpenDynaset)
...
Рейтинг: 0 / 0
12.07.2004, 16:24:38
    #32600053
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
MainPay - это таблица.
Проблему я решил.
Заключалась она в том, что при запуске процедуры запрос не видел (почему-то) поля Date1 и Date2 на открытой форме.
Пришлось создать функцию которая возвращает в запрос значения этих поле.


Код: plaintext
1.
2.
3.
Public Function RealizationDate(DateNumber as byte)
RealizationDate = Form_SelectRealization.controls("Date" & DateNumber ).value
End Function

Я знаю, бред. Но это, единственное, что работает.
...
Рейтинг: 0 / 0
12.07.2004, 16:25:30
    #32600057
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Если не поможет, попробуй так
Код: plaintext
1.
Set rs=db.OpenRecordset("RealizationPay",dbOpenSnapshot, dbSeeChanges)
...
Рейтинг: 0 / 0
12.07.2004, 16:30:20
    #32600068
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
Нет, дело не в параметрах openrecordset.
Если я в запрос добавлю другие параметры отбора, то количество требуемых параметров в сообщениее об ошибке возрастает.
Т.Е. если я отбираю по одной дате, он мне говорит: мало параметров. Требуется 1.
Если отбираю по временному периоду (дата с/по), то он требует 2 параметра, и т.д.
...
Рейтинг: 0 / 0
12.07.2004, 16:32:00
    #32600072
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
И неважно, по дате я отбираю, по целому числу (PIN - другой столбец) или по тексту. Принчипиально с параметрическим запросом не дружит.
...
Рейтинг: 0 / 0
12.07.2004, 16:36:50
    #32600089
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
S. FedorenkoИ неважно, по дате я отбираю, по целому числу (PIN - другой столбец) или по тексту. Принчипиально с параметрическим запросом не дружит.

а строка через debug.print выглядет нормально и в качестве запроса(будучи сохранена) выполняется ?
...
Рейтинг: 0 / 0
12.07.2004, 16:49:19
    #32600131
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset глючит
а може справочку почитаем?


Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim prm As DAO.Parameter
Dim rst As DAO.Recordset
Set db = CurrentDb()
Set qdf = db.QueryDefs("qrySomeQuery")
For Each prm In qdf.Parameters
prm.Value = Eval(prm.Name)
Next prm
Set rst = qdf.OpenRecordset(dbOpenDynaset)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset глючит / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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