Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сдаюсь / 25 сообщений из 25, страница 1 из 1
28.05.2003, 15:04
    #32170845
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Люди помогите перейти на новую запись в подподформе, плиззззззз!
Отказаться от использования подподформы ну никак нельзя.
Рекордсет не предлагать.
Пробовал по разному не получается, все уже, больше идей нет.
к примеру
[Forms]![Главная]![Подформа]![Подподформа].SetFocus
DoCmd.GotoRecord , , acNewRec
не работает! Ошибки нет, перехода тоже нету :(
Предложите плиз еще вариант (если он есть конечно)
...
Рейтинг: 0 / 0
28.05.2003, 15:08
    #32170859
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
тоже наподобе было.

но только не на новую а просто на другую
везде работало а тут - фиг

штук 10 способов перепробовал, так ничего и не получилось,
переделал дизайн по другому.
...
Рейтинг: 0 / 0
28.05.2003, 15:10
    #32170865
Ирча
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
А если передать событие в подформу, а уже из нее в подподформу?
...
Рейтинг: 0 / 0
28.05.2003, 15:14
    #32170875
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Мля!!!
что же делать то??? Через рекордсет пробоавал, все в норме но происходит глюк при нажатиии на чекбокс записи, эксес просто вылетает!
Если добавить запись через acNewRecord то все в норме.
Но как осушествить переход не знаю!
Переделать макет нет возможности.
...
Рейтинг: 0 / 0
28.05.2003, 15:16
    #32170880
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 Ирча не проходит пробовал!
передовал в подформу, потом
делал так:
Me.ПодФорма.SetFocus
но не помогло!! Ужас прям какой-то
...
Рейтинг: 0 / 0
28.05.2003, 15:24
    #32170894
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
попробуй

DoCmd.RunCommand acCmdRecordsGoToNew

только из кода самой конечной формы!
...
Рейтинг: 0 / 0
28.05.2003, 15:28
    #32170905
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 АлексейК
Контакт!!!!! Спасибо дружище!!!!!!! :))
...
Рейтинг: 0 / 0
28.05.2003, 15:41
    #32170938
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Причем если не сделать следующие
[Forms]![Главная]![Подформа]![Подподформа].SetFocus
то привызове
DoCmd.RunCommand acCmdRecordsGoToNew
даже из самой конечной формы произойдет ошибка, типа макрокоманда недоступна! А если написать то все работает!
Еще раз Алексею респекты всяческие
...
Рейтинг: 0 / 0
28.05.2003, 15:42
    #32170940
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
попробуй так
[Forms]![Главная].SetFocus
[Forms]![Главная]![Подформа].SetFocus
[Forms]![Главная]![Подформа]![Подподформа].SetFocus
DoCmd.GotoRecord , , acNewRec
...
Рейтинг: 0 / 0
28.05.2003, 15:44
    #32170947
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
у меня главная и подчин
и вот этот код работает
Forms![Контрагенты].SetFocus
Forms![Контрагенты]![пф Контрагенты].SetFocus
DoCmd.GoToRecord , , acNewRec

а вот без Forms![Контрагенты].SetFocus
работать не хочет
...
Рейтинг: 0 / 0
28.05.2003, 16:33
    #32171052
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Сейчас у меня очень мало времени, поэтому очень кратко и непроверено. Для передачи фокуса подчиненной форме надо сначала передать фокус контролу, потом самой форме. Так как двойное вложение, должно быть по идеи четыре передачи фокуса.
...
Рейтинг: 0 / 0
28.05.2003, 19:40
    #32171283
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Спасибо всем!!
...
Рейтинг: 0 / 0
29.05.2003, 12:00
    #32171669
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Все хорошо но долго работает это все:
[Forms]![Форма]![Подфома].Setfocus
[Forms]![Форма]![ПодФорма]![ПодПодФорма].SetFocus
Docmd.GotoRecord ,, AcNewRec
[Forms]![Форма]![ПодФорма]![ПодПодФорма].
Me.ArtikulId=262
Me.Summa=280
Me.Dirty=False
Me.Refresh
Блин такое ощущение что через рекордсет было быстрее, всетаки там обходилось без focuso_в !! :)
И еще момент есть поле статус, в форме это чекбокс, в таблице:
Status bit Not Null Default=0
Так вот без рефреша формы после добавления записи чекбокс глючит..
Если работать через рекордсет тоже нужен рефреш. Однако через рекордсет рано или позно происходит глюк.. (ну тему глюков рекордсета мы уже обсуждали, не будем повторяться, однако быстрее происходит добавление!!! мля.. :( )
...
Рейтинг: 0 / 0
29.05.2003, 12:48
    #32171738
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
ты добавляешь строку
кто ж так добаляет запись?
воспользуйся запросом
и проблема исчезнет
вот тебе и быстродействие будет
...
Рейтинг: 0 / 0
29.05.2003, 12:53
    #32171749
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 Хам
Ну давай уже объясней что к чему, хватит секреты таить!! ))
Ну к примеру возьму и добалю я запись через вызов ХП.
А как мне эту добавленную запись в форму увидеть??
Me.Requery не предлогать!
Me.ReSync чего то не сработало как то.... хотя странно вообще может еще раз попробовать....
Хам, рассказывай, мне ужо все капец пришел только пивом и спасусь сегодня вечером :)
...
Рейтинг: 0 / 0
29.05.2003, 12:58
    #32171754
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
секртов нет
запускаешь ХП
запоминаешь значение ключевого поля
потом requery (не пугайся
слухай дальше)
потом делаешь поиск по
ключевому полю
вот кусок работающей проги
у меня исп. табличная форма
и потому ключевое поле я скрываю
а для поиска его открываю
Application.Echo False
cod=Me!Код
Forms![Контрагенты]![пф Контрагенты].Form.RecordSource = Forms![Контрагенты]![пф Контрагенты].Form.RecordSource
Forms![Контрагенты].SetFocus
Forms![Контрагенты]![пф Контрагенты].SetFocus
Forms![Контрагенты]![пф Контрагенты]![Код].ColumnHidden = False
Forms![Контрагенты]![пф Контрагенты]!Код.SetFocus
DoCmd.FindRecord cod
Forms![Контрагенты]![пф Контрагенты]![Контрагент].SetFocus
Forms![Контрагенты]![пф Контрагенты]![Код].ColumnHidden = True
Me.SetFocus
...
Рейтинг: 0 / 0
29.05.2003, 12:59
    #32171755
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
заначит так
у Reckrdsete есть Properties в количестве 102 штук если кто сможет достать описаловку на эти вещи я думаю что Recordset можно будет добить
ве глюки , которые происходят у нас - это от незнания всего о Recordset
их отброасывать не надо . надо в конце концов научиться с ними работать. это класссссная штука. давайте доведем начатое до конц!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
29.05.2003, 13:01
    #32171760
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
ваде
если предложишь
хороший вариант - не откажусь
...
Рейтинг: 0 / 0
29.05.2003, 13:02
    #32171763
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 Jem
Записи либо добавляются вручную (через формы ввода) - в этом случае форма сама отображает введенные данные.

либо записи добавляются программно (рекордсет или запрос) - в этом случае без Requery не обойтись.

Чего-то я никак не пойму чего добиваешься?
...
Рейтинг: 0 / 0
29.05.2003, 13:08
    #32171771
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2Хам
я бьюсь . но не хватает инфы. у меня нет даже 2Гетца.
давайте идеи буду проверять.
наблюдения буду выкладывать.
...
Рейтинг: 0 / 0
29.05.2003, 13:19
    #32171790
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 incold
А не ты ли мне говрил что если к примеру используется строка синхронипзации то данные формы не обновляются целеком а дело касается только одной строки. А если я добавляю запись через ХП и вызваю Requery то я поновой запрашиваю ВСЕ данные для формы с сервака, в принципе (пока) не так долго работает.
Так почему же я не могу синхронизировать запись? хотя бы так
DIM rst as adodb.recordset
SET rst=me.Recordset
rst.Resync
не дает никаких результатов у Гетца сказано что добавленные записи не появятся в наборе а отобразятся только изменения и удаленные записи станут недоступными...
добиваюсь я скорости работы в сети! Юзера не довольны мать их за ногу!
2 Хам
понял тебя, дорогой, я делаю примерно также.
Однако Requery вызовет повторный запрос на серваке!
Метод Requery эвивалентен Close и потом Open с теми же параметрами.
что лучше Application.Echo False или Me.Painting=false ?

2 вадя
рекордсет не спасает, действительно запись можно добавить но на 5-6 раз происходи даун Access_а

2 All а чего за лажа с чебоксом? Без рефреша он глючит
...
Рейтинг: 0 / 0
29.05.2003, 13:51
    #32171823
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 All а чего за лажа с чебоксом? Без рефреша он глючит
Есть, такое свойство в форме, загружать значения по умолчанию да/нет. От него зависит будут ли использоваться табличные значения по умолчанию или нет. И не плохо было бы научиться пользоваться Profiler. Там, как раз хорошо видно как Access общается с SQL, и что обновляется одна запись, и затем она и запрашивается. Можно также увидеть лишние обращения к серверу. Можно попробовать на самом чекбоксе поставить по умолчанию значение.
...
Рейтинг: 0 / 0
29.05.2003, 14:33
    #32171877
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2 Jem
А не ты ли мне говрил что если к примеру используется строка синхронипзации то данные формы не обновляются целеком а дело касается только одной строки.
То ли я говорил не так, то ли меня не правильно поняли.
Я советовал использовать строку синхронизации в случае, если в качестве источника используется запрос или ХП с параметрами (что кстати довольно подробно описано в справке), а не для обновления программно добавленных/измененных записей

Теперь, что касается скорости работы. Нужно строить интерфейс более оптимально и не забывать, что пишется клиент-серверное приложение.
1. На формах есть такое свойство как MaxRecords, желательно устанавливать его поменьше. Работать с набором записей более 100 неинформативно, нужно организовывать формы с параметрами поиска.
2. Что плохого если идет Requery на форму?
Работает пользователь, вводит данные, потом нажимает кнопку, чтобы выполнить операцию по добавлению/изменению записи, почему после этого не нужно делать обновление? Либо все вводится вручную (без обновления всего источника), либо программно, но с обновлением (операция-то происходит на сервере, а не на клиенте, значит нужно получить измененные данные).
3. А еще лучше разделять формы на два вида: поиск/просмотр (по параметрам и с ограничением по колич-ву записей) и ввод/редактирование (открывается с формы поиска по кнопке и ключу) - при такой организации скорость работы довольно приемлемая (есть рабочая база около 100 пользователей, до 1 млн. записей в рабочих таблицах, сервер 1*PIII-800 + 512 RAM)
Примерно так.
...
Рейтинг: 0 / 0
29.05.2003, 14:58
    #32171916
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
2Jem
Recordset работает для простого добавления нормально.
у меня слетает только втом случае если я хочу применять при этом еще и выделение цветом , а это изменения записи по мимо команда ADDNEW.
у ADDNEW eсть ще один режим
ADDNEW "имя поля", значение
попробуй оно работает несколько иначе . Update не нужен
повторю у Recordset есть 102 свойства надо узнать на что они влияют
...
Рейтинг: 0 / 0
29.05.2003, 17:48
    #32172167
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдаюсь
Ок! Все вроде понятно, профайлом я еще пользуюсь так скажем плохо ..
Чекбокс без рефреша глючит одназначно A2002.
Что еще сказть, все переделал через ХП, и делаю Requery.
Всем сенкс!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сдаюсь / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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