LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
07 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Поиск в ф...
Тема: Поиск в форме. Помогите!
15.06.2007 21:03:23
Валерий
4 сообщения
Тема: Поиск в форме. Помогите!
Здравствуйте! Есть форма, созданная на основе трех таблиц (клиенты, заказы, содержание заказа) с помощью мастера. Форма содержит две подчиненных, в первой показываются заказы, во второй наполнение заказа товарами. На главную форму я поставил поле со списком для выбора клиента. Немного поправил событие "после обновления" поля сосписком, чтобы форма не дергалась во время поиска, и ВСЕ.
Private Sub ПолеСоСписком_AfterUpdate()
' Поиск записи, соответствующей этому элементу управления.
Dim rs As Object
Set rs = Me.Recordset.Clone
Me.Painting = False
rs.FindFirst "[КодКлиента] = " & str(Me![ПолеСоСписком])
Me.Bookmark = rs.Bookmark
Me.Painting = True
Set rs = Nothing
End Sub
Когда выбираю клиента из поля со списком выскакивает сообщение Access:
"Инструкция по адресу "0х65009f45" обратилась по адресу "0x00000004". Память не может быть "read".
И приложение закрывается. Причем происходит это не со всеми клиентами и не всегда. Пробовал запускать ее на других машинах, то же самое.
Для сведения:база разделена на два файла, в одном формы, запросы и т.д., в другом таблицы.
Помогите, пожалуйста! Горит срочная работа.
Заранее благодарен!
P.S. Раздел для новичков
Автор:
Валерий
от 14.11.2002 17:32:12
Источник ...
15.06.2007 21:03:23
Алекс
4 сообщения
RE: Поиск в форме. Помогите!
1. Проверьте Recordset.Clone, надо RecordsetClone
2. Примеры поиска есть в файле la_find.mdb
P.S. Раздел для новичков
Автор:
Алекс
от 15.11.2002 9:09:17
Источник ...
15.06.2007 21:03:23
Валерий
4 сообщения
RE: Поиск в форме. Помогите!
Спасибо, Алекс.
Поменял как Вы подсказали, но ошибка все равно выскакивает. Ошибка происходит в
Me.Bookmark = rs.Bookmark
это я установил точно. Причем если что-то меняешь в модуле формы глючить начинает только после второго-третьего запуска формы. Главное в базе несколько подобных форм для разного вида товаров и они работают нормально.
P.S. Раздел для новичков
Автор:
Валерий
от 15.11.2002 11:02:28
Источник ...
15.06.2007 21:03:23
All
4316 сообщения
RE: Поиск в форме. Помогите!
Я бы добавил код:
If rs.NoMatch = False Then _
Me.Bookmark = rs.Bookmark
P.S. Раздел для новичков
Автор:
Алекс
от 0:00:00
Источник ...
15.06.2007 21:03:23
Валерий
4 сообщения
RE: Поиск в форме. Помогите!
Алекс, спасибо! Я еще ковырялся с формой и кажется нашел из-за чего это происходит, но как с этим бороться не знаю.
Дело в том, что на событие-"текущая запись" первой подчиненной формы обновляется вторая подчиненная, чтобы просматривать содержание выбранного заказа.То есть:
Sub Form_Current()
Dim ParentDocName As String
On Error Resume Next
ParentDocName = Me.Parent.Name
If Err <> 0 Then
GoTo Form_Current_Exit
Else
On Error GoTo Form_Current_Err
Me.Parent.[Подчиненная_форма2].Requery
End If
Form_Current_Exit:
Exit Sub
Form_Current_Err:
MsgBox Error$
Resume Form_Current_Exit
End Sub
Так вот, когда в поле со списком после обновления выполняется:
Me.Bookmark=rs.Bookmark
тут же начинает выполняться Sub Form_Current()
причем Me.Parent.[Подчиненная_форма2].Requery выполняется огромное количество раз. Я не подсчитывал сколько, но если не вызывает ошибку может выполняться минут 10, и только потом успокоиться. Как с этим бороться я не знаю, и вообще это противоречит тому, что я читал об обработке событий в Access.
Если есть какие нибудь мысли-поделитесь!
P.S. Раздел для новичков
Автор:
Валерий
от 19.11.2002 12:31:05
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Поиск в ф...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования