|
|
|
| на форме имеется две субформы.
Как из одной субформы(Current) установить Recordset другой? | |
|
| |
|
|
|
| а на какое событие хотелось бы? | |
|
| |
|
27 Кб. |
|
| переход по записям (только не подчиненные поля) | |
|
| |
|
|
|
| вопрос не совсем понятет. ПОдробнее плиз. | |
|
| |
|
|
|
| Так, мне надо повесить транзакцию на 2-ую субформу(данные в которой зависят от 1-ой, т.е. если в первой выбирается запись - Current, то во 2-ой отображается инфо только по этой записи).
У Гетца я прочитал, что невозможно повесить транзакцию на субформу, если она связана по фильтрам и по подчиненным полям, вот и ищу альтернативу, т.е. если в событии Current 1-ой субформы формировать Recordset 2-ой, то все вроде как будет ок.
вопрос такой уже неоднократно поднимался мною - ответы были (спасибо), но они не те. | |
|
| |
|
|
|
| >вопрос такой уже неоднократно поднимался мною - ответы были (спасибо), но они не те.
Егор (он же 3,14fagor) поднимал вопрос здесь:
http://www.sql.ru/forum/actualthread.aspx?tid=529060
Ответы были мои (пожалуйста). Те, или не те - еще вопрос.
Егор, вы внимательно почитайте Гетса, примерьте всё это к своей ситуации, и всё получится. | |
|
| |
|
|
|
| Я не про Вас, Вы мне помогли.
Здесь не тот вопрос/
У меня не получается связать две субформы запросом :( (аж странно, да?)
Что-то получилось, но я не уверен что это приведет к чему-то хорошему :). Щас читаю Гетца вновь, но уже между строк. | |
|
| |
|
|
|
| Допустим, полю ID в СФ1 соответствует поле LinkID в СФ2.
Тот запрос, что я видел в вашей БД возвращает ВСЕ записи. На самом деле там должно быть условие отбора с использованием параметра. Например: "... WHERE [LinkID]=[MyParam]".
В процедуре ResetData (которая должна находиться в СФ1) нужно выполнить следующее:
...
qdf.Parameters("MyParam") = Me![ID]
Set rst = qdf.OpenRecordset
...
У Гетса параметром является ссылка на поле формы, и таких параметров может быть несколько. Поэтому у него написано:
For Each prm In qdf.Parameters
prm.Value = Eval(prm.Name)
Next
Т.е. параметру с именем "[Forms]![FormName]![ControlName]" присваивается значение этого поля из открытой формы, возвращаемое методом EVal.
В вашем случае всего этого не нужно. | |
|
| |
|
51 Кб. |
|
| Вот, что получилось.
функция ResetData(frm_dog) вызывает ошибку, не могу ее исправить. Что я делаю не так? | |
|
| |
|
46 Кб. |
|
| >Что я делаю не так?
Если откровенно - всё не так.
Я решил, что лучше сделать это самому. Ловите... | |
|
| |
|
|
|
| ВАУ, здорово!!!
Вот это класно, спасибо, теперь понял свои глупости и ошибки (и как у Вас так получается? )
СПАСИБО. | |
|
| |
|
|
|
| Еще совет вдогонку...
В опциях VBA установите флажок "Require Variable Declarations" (чтоб в каждом новом модуле сверху писалось Option Explicit). Без этого вы еще таких шишек набьете. | |
|
| |