С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 10
1

Проблема с поиском FindFirst. Помогите, plz.

09.12.2009, 12:57. Показов 3710. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите не работает поиск. 'Подсунули' 'чужой код' (писал не я), сказали раньше работало, а теперь нет. Выдает ошибку в строке 'rst.FindFirst strCriteria'(Run-time error '3251'
'!!!Операция не поддерживается для объектов этого типа)
Заранее спасибо, может можно заменить строку поиска, SQL запросом?

Public Function ФормРасх(КодПрих, НомерПрих) As Boolean
Dim dbs As Database, rst As DAO.Recordset, rstОбщРасх As DAO.Recordset
Dim КолТовара, КодЗаказа
Dim strCriteria As String

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset('ПунктыЗаказа')
Set rstОбщРасх = dbs.OpenRecordset('ОбщРасх')

Do Until rstОбщРасх.EOF
If rstОбщРасх![РазнПр] > 0 Then
strCriteria = '[КодЗаказа]='' & Trim(Str(КодПрих)) & ''' & ' AND [КодТовара]='' & Trim(Str(rstОбщРасх![КодТовара])) & '''
rst.FindFirst strCriteria
Do Until rst.NoMatch
КолТовара = rst![Количество]
If КолТовара - rstОбщРасх![РазнПр] > 0 Then КолТовара = rstОбщРасх![РазнПр]

rstОбщРасх.Edit
rstОбщРасх![РазнПр] = rstОбщРасх![РазнПр] - КолТовара
rstОбщРасх.Update
rst.AddNew
rst!КодЗаказа = КодЗаказа
rst!ТипСтруктуры = 3
rst!КодТовара = rstОбщРасх![КодТовара]
rst!Название = rstОбщРасх![ОписаниеТовара]
rst!Количество = КолТовара
rst!Стоимость = rstОбщРасх![Цена1]
rst!КатОплаты = 1
rst.Update
rst.FindNext strCriteria 'здесь та же ошибка
Loop
End If
rstОбщРасх.MoveNext
Loop

Помогите!! ... пожалуйста...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2009, 12:57
Ответы с готовыми решениями:

FindFirst. Помогите разобраться в коде...
Помогите разобраться в этом коде: if FindFirst('C:\test\' + '*.*', faAnyFile, SR) = 0 then repeat...

помогите новичку PLZ
Кто может пожалуйста помогите написать программу(AVR studyo) "Выдать меиндр скважности три на...

Помогите новичку с 1С .... (Plz)!!!
С чего лучше начать ...изучение ...???? или где можно литературку хорошую найти??? я установил у...

Проблема вывода результатов из запроса к Excel в Frame? Plz!!!
Имею два вертикальных фрейма: левый меню, правый вывод результатов работы Asp(классический...

7
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
09.12.2009, 15:31 2
Пока помочь не могу, но хочу уточнить:
Раньше работало на А97 (другое)
Перестало работать при переходе на А2000, SQL-сервер, (другое)
при переходе на Win2000 (другое)

Чем лучше будет описана ситуация, тем быстрее найдется ответ ;-))
0
IgorM
09.12.2009, 15:37 3
Set rst = dbs.OpenRecordset('ПунктыЗаказа')
Set rstОбщРасх = dbs.OpenRecordset('ОбщРасх')

Замени на:

Set rst = dbs.OpenRecordset('ПунктыЗаказа', dbOpenDynaset)
Set rstОбщРасх = dbs.OpenRecordset('ОбщРасх', dbOpenDynaset)
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 10
09.12.2009, 19:20  [ТС] 4
to IgorM
Спасибо, завтра попробую..., но по-моему я так писал(подсмотрел здесь в форуме), ошибка та же...

to BorisL
Да 'раньше' работало в 'связке' Вин98+Access2000, перестало работать под ВинХР, 2000+ Access2000. Хотя есть машина вин98+Аксес2000, так тоже не работает... (

Продолжаю внимательно выслушивать ЛЮБЫЕ полезные советы...
Всем еще раз спасибо
0
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 3
10.12.2009, 04:12 5
По умолчанию XP устанавливает ADO, а в ADO у объекта Recordset есть только функция - Find
проверь библиотеки, похоже у тебя в References присутствует строка: 'Microsoft ActiveX Data Objects 2.1 Library' - установи вместо нее (или дополнительно) библиотеку DAO ('Microsoft DAO 3.6 Objects Library')..
0
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 10
10.12.2009, 09:32  [ТС] 6
Set rst = dbs.OpenRecordset('ПунктыЗаказа', dbOpenDynaset)- не помогло, но строку я так оставлю, т.к. проблема видимо не в этом.

to psvf
Да действительно у меня были включены обе эти библиотеки, я ADO отключил...

И в чем тут дело....
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
10.12.2009, 10:11 7
Проверьте в отладчике - ошибка возникает при первом обращении или при последующих. Имею подозрение, что после добавления записей нужно делать Rst.Requery
0
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 10
10.12.2009, 19:15  [ТС] 8
Всем БОЛЬШОЕ СПАСИБО за участие и ПОМОЩЬ.

IgorM - посказка верная. Спасибо (еще раз ).
psvf - отключил ADO. помогло. Спасибо.
BorisL - ошибка возникала при первом обращении, замечание учту. Спасибо за советы.

Если что, то знаю где...
0
10.12.2009, 19:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2009, 19:15
Помогаю со студенческими работами здесь

ASP + дата Access Помогите обновить запись Срочно Plz !!!!
Помогите люди обновить запись в БД Access Таблица из трех полей дата входа ! время входа !...

Проблема с поиском по БД
Есть база данных из одной таблицы. На форме DBGrid, TADOConnection, TDataSource и ADOQuery. В...

Проблема с поиском с @contains
В базе есть часть документов с полем СОДЕРЖАНИЕ или с полем СОДЕРЖАНИЕ_ Делаю свой поиск, чтобы...

Проблема с поиском
Здравствуйте. Имеем базу данных в MSSQL и приложение в C#. Необходимо создать поиск. Использую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru