|
|
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
Стандартная ситуация: есть набор документов - например накладные. Пользователь хочет видеть на экране несколько детализованных накладных и ещё и вводить новую. Понятно что для этого надо использовать несколько экземпляров одной формы. открываю новый экземпляр формы как Гетц учил: set frm = new form_тратата А как передать параметр (например типа как в OpenArgs), что бы мне открыть форму на нужном документе. Как вообще это делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:15 |
|
||
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
Понятно что для этого надо использовать несколько экземпляров одной формы. Лично мне это не понятно :) ---- Я думаю, тут поможет Me.Recordset. Например: Me.Recordset!Fld_1 = Forms!MyForm!MyField ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:20 |
|
||
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V А как открыть несколько документов не используя экземпляры одной формы? Что бы на экране было 2 идентичные формы с разными данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:24 |
|
||
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
Проще всего создать св-во(а) у form_тратата так чтобы: set frm = new form_тратата Set form_тратата.RequeredBy = Me (если нужно будет потом что-то возвращать в вызвавшую форму, а сама форма вызова может быть и экземпляром, и какой угодно) form_тратата.ЕщеКакоеТоСвВо = ... (в зависимости от того, что вы хотите) Причем, для не объектных св-ств вполне сгодятся скрытые поля. (если предполагается открывать form_тратата и как стандартный экземпляр с acDialog, то можно передаться через глобальные переменные (по возможности быстрее переведя их содержимое в разряд свойств вызванной формы) set glForm = me glЕщеКакоеТоСвВо = Me.ЕщеКакоеТоСвВо ... DoCmd.OpenForm "тратата" ,..., acDialog ... Private Sub Form_Open(Cancel As Integer) Set me.RequeredBy = glForm Me.ЕщеКакоеТоСвВо = glЕщеКакоеТоСвВо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 10:32 |
|
||
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
спасибо, обязательно попробую. Ещё как-то можно организовать норм. работу неск. экземпляров? Хотя подозреваю - последнее- самый оптимальный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 13:00 |
|
||
|
Как передать параметр (критерий) при открытии "многоэкземлярной" формы
|
|||
|---|---|---|---|
|
#18+
Еще можно сделать функцию которая будет возвращать некое предустановленное значение. Function lngGetCurID(Optional ByVal lngID As Long = 0) As Long Static Save as Long If lngID = 0 Then lngGetCurID=Save Else Save =lngID End If End Function И подставить ее вызов в параметрах формы Инициализируеш значение После создаеш форму Но этот способ менее "обектный" но если надо быстро переделать форму на работу в экземпляре то сойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 13:27 |
|
||
|
|

start [/forum/search_topic.php?author=xwx&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 732ms |
| total: | 907ms |

| 0 / 0 |
