Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: snipe
Форма должна быть открыта до начала цикла в видимом или не видимом режиме......а она у вас еще не открыта полностью вот и возникает проблемка - все потому что вы не то событие обрабатываете

создайте макрос (открыть форму в видимом (или невидимом) режиме) после преобразуйте его в VBA и посмотрите как Акс сам пишет команду открытия формы


v = Abs(Me!Поле28)
Me!ууууу = v

что это? почему не вот так
Me!ууууу = Abs(Me!Поле28)

более того если поле Me!ууууу вычисляемое зачем вся эта конструкция каждый раз при открытии формы не проще это поле высчитывать просто на форме

вызывает сомнение вот эта строчка
Me.Filter = "[ОсновнДанные]![НаимПокупателя]=[Forms]![Форма1]![ПолеСоСпискомЗаказчики]"
не проверял но вроде так работать не будет

теперь по самому первому сообщению

пытаетесь получить доступ к рекордсету, а когда получаете его (когда все ошибки исправите) устанавливаетесь на первую запись а далее почему то обращаетесь не к полям рекордсета а к полям формы - о как далее переходите на другую запись рекордсета и опять обращаетесь к полям формы и так пока цикл не закончится - странно все это

Теперь - что делать

видимо открытие формы "ОсновнДанные" происходит после какого то события на форме "Форма1" вот вам и нужное событие которое надо обрабатывать (а не мучаться во время загрузки формы)

если изменение данных будет происходить через рекордсет то доберитесь до таблиц до открытия формы "ОсновнДанные", а уже после открывайте эту форму

если изменение будет через форму то откройте ее сначала в невидимом режиме, пробегитесь по записям, измените данные, после чего установите фильтр, а уж потом отобразите форму иначе будут не приятные глазу мелькания


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.