powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Скорость
13 сообщений из 13, страница 1 из 1
Скорость
    #32219537
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Народ скажите чего так долго выполняется
Код: plaintext
1.
Docmd.GotoRecord,,acNewRec

Данные для формы беруться из процедуры с параметром.
Однозначная таблица содержит порядка 5000 записей (может в этом причина?)
Есть каой-либо другой способ добавить запись? Способ более быстрый?
Спасибо.
...
Рейтинг: 0 / 0
Скорость
    #32219541
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В форме: Ввод данных/DataEntry =True
...
Рейтинг: 0 / 0
Скорость
    #32219547
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
2 Senin Viktor
Действительно стало чутка быстрее, примерно на 0,3 секунды.
...
Рейтинг: 0 / 0
Скорость
    #32219555
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataEntry открывает пустой набор, не таща данные. Почему у тебя открывается медленно - это надо смотреть товю форму (код, кол-во кнтролв, подчиненых форм, условного форматирования и прочеее и прочее)
Одним словом: оптимизировать.
...
Рейтинг: 0 / 0
Скорость
    #32219564
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
2 Senin Viktor
А ведь я совсем недавно думал об этом же!
Проблема вот в чем, открываю форму а параметр для ХП передать не могу!
Пробовал через OpenArgs в событие Open передвать параметр полю формы на который "ссылается" ХП, но это слишком поздно, все равно процедура выполнялась раньше и после вставки значения в поле приходилось делать Requery! Одним словом спасибо за DataEntry, гляну в профайлер что происходит при открытии формы.

НО сейчас фишка в другом. Форма открывается достаточно быстро, тормоз (около секунды) происходит при Docmd.GotoRecord,,AcNewRec.
Даже при DataEntry=True .
...
Рейтинг: 0 / 0
Скорость
    #32219569
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Хм... А профайлер говорит что процедура выполнилась!
Не смотря на DataEntry .. То есть все же пытается "тащить".
Еще раз ситуацию
Параметр для процедуры берется из поля формы
@Id=[Forms]![MyForm]!MyFild
При открытии формы процедура выполняется вне зависимости от того стоит DataEntry или нет.
...
Рейтинг: 0 / 0
Скорость
    #32219579
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот блин
не умеет параметр
передать в хп
а еще на adp ваяет
супер!
а форма открывается
быстро потому
что записи первые
уже пришли
а остальные идут
по-тихоньку
они доедут, но попозже
вот тебя это позже
и не устраивает
и нахрен ты тащишь
все записи?
вынь тока то
что нужно
тогда и быстро перейдешь
на последнюю запись
...
Рейтинг: 0 / 0
Скорость
    #32219582
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
2 Хам
Хам сдуйся!
Ты прав с adp не так давно.
Только я понял с чего ты взял что я тащу все записи.
Там вверху я писал что процедура у меня с параметром
А внутри процедуры у меня стоит
Код: plaintext
1.
WHERE ID=@Id
...
Рейтинг: 0 / 0
Скорость
    #32219588
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Кстати Хам, дайты совет как передать параметр ХП при открытии формы?
Учитывая что значения для параметра беруться из поля этой же формы?
...
Рейтинг: 0 / 0
Скорость
    #32219598
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пока не вижу вопроса
чего ты хочешь получить?
я спрашиваю ЧЕГО,
а не КАК (обрати внимание)

"как передать параметр ХП при открытии формы"
это все фигня
...
Рейтинг: 0 / 0
Скорость
    #32219653
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
2 Senin Viktor
На счет DataEntry вы правы, профайлер показывает выполнение ХП однако в качестве параметра всегда NULL не зависимо от значения в поле формы с параметром.
Тем самым данные действительно не "тащаться". Как все это правильно объяснить я не знаю.

2 Хам

Хочу создать форму
Данные для нее из ХП с параметром @ID
Значения для @ID=[Forms]![MyForm]!Myfield
Форма выпоняет две функции, с одной стороны позволяет редактировать определенную запись.
При этом полю MyField присваивается номер этой записи.
С другой стороны позволяет добавлять нову запись в базу.
При этом поле MyField остается пустым.
далее
Docmd.GotoRecord,,AcNewRec
Что долго уж очень.


Вот что сделал пока что.
Написал процедуру которая добавляет новую запись в базу при этом все поля оставляет пустыми и возвращает номер этой новой записи.
Далее открываю форму, в поле MyField прописываю значение которое вернула ХП и делаю Requery.
Работает быстрее чем Requery
Однако минус в том что если пользователь передумает добавлять запись ее придется удалять из базы, одним me.Undo не обойдется.
Пока так.
...
Рейтинг: 0 / 0
Скорость
    #32219656
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Далее открываю форму, в поле MyField прописываю значение которое вернула ХП и делаю Requery.
Работает быстрее чем Requery


сорри читать как:
Далее открываю форму, в поле MyField прописываю значение которое вернула ХП и делаю Requery.
Работает быстрее чем DoCmd.GotoRecord,,acNewRec
...
Рейтинг: 0 / 0
Скорость
    #32219660
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я чего-то опять не пойму
"Форма выпоняет две функции, с одной стороны позволяет редактировать определенную запись"
"С другой стороны позволяет добавлять нову запись в базу"

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

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


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