|
|
|
Переключение формы с одной таблици на другую, (грабли)
|
|||
|---|---|---|---|
|
#18+
Прошу хелпа. Есть сводная форма (показывает данные из несклольких таблиц). При нажатии на кнопку, соответствующую запись можно поправить, то есть открывается вторая форма с подробностями этой записи и вносится правка. Вторая форма одна универсальная на все таблицы, у нее только меняется источник записей. Это теория, практика: stDocName = "forNabor" Select Case Me![rem] Case "1" filterName = "tab1" Case "2" filterName = "tab2" Case "3" filterName = "tab3" End Select stLinkCriteria = "[kodCheta]=" & Me![kodCheta] DoCmd.OpenForm stDocName, , filterName, stLinkCriteria, , acDialog Me.Requery в поле rem содержится метка из какой таблицы взяли данные и на основе какой таблицы открывать редактирующую форму (выбираем источник данных) Должна же форма stDocName открыться на основе записей filterName и использовать фильтр stLinkCriteria, правильно? Не работает, подскажите где ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 17:56:17 |
|
||
|
Переключение формы с одной таблици на другую, (грабли)
|
|||
|---|---|---|---|
|
#18+
Сделай так Замени DoCmd.OpenForm stDocName, , filterName, stLinkCriteria, , acDialog на DoCmd.OpenForm stDocName, , , stLinkCriteria, , acDialog,filterName В форме forNabor в событии открытия добавь Private Sub Form_Open(Cancel As Integer) Me.RecordSource = Me.OpenArgs Me.Requery End Sub Может заработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 19:02:48 |
|
||
|
Переключение формы с одной таблици на другую, (грабли)
|
|||
|---|---|---|---|
|
#18+
Если передавать через Me.OpenArgs источник данных для формы, то не передается условие отбора (какую конкретно запись редактировать) stLinkCriteria. Форма forNabor открывает первую запись. Я проблему решил в обход: через Me.OpenArgs передал в редактирующую форму название таблицы исходника, фильтр отбора записи тогда заработало. Но это получилась заплатка. В хелпе ведь написано: FilterName Optional Variant. A string expression that's the valid name of a query in the current database. Я так понимаю - имя запроса на основании которого открывается форма, или не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 14:55:09 |
|
||
|
Переключение формы с одной таблици на другую, (грабли)
|
|||
|---|---|---|---|
|
#18+
Включи фильтр Private Sub Form_Open(Cancel As Integer) Me.RecordSource = Me.OpenArgs Me.Requery Me.FilterOn = True End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 15:22:03 |
|
||
|
Переключение формы с одной таблици на другую, (грабли)
|
|||
|---|---|---|---|
|
#18+
Я так понимаю (или чего то непонимаю) примого пути решения проблемы нет через docmd.OpenForm непередать свободной форме источник данных и фильтр отбора. Проблема решилась в обход через передаваемый аргумент. Т. е. руками пришлось передать и название источник и фильтр. Все, большое всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 07:46:36 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1669184]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 319ms |

| 0 / 0 |
