Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Дядя Федор
Просто передать значения из формы в форму просто. Здесь речь идет, как я понимаю, о приостановке выполняемого кода на время ввода данных и передаче данных переменным в модуль формы.
Не круто, но работает такой код.
В первой форме надо изменить значения x,y,z
Поля 1,2,3 для слежения за x,y,z
Во второй форме(ввода) те же поля 1,2,3


'1форма "япример1"
Option Compare Database
Private x As Long
Private y As Long
Private z As Long
Private flag As Boolean

Private Sub BtnMyProc_Click()
Dim i As Integer 'просто демонстрируем вызов окна ввода в цикле на 5-м шаге
For i = 1 To 10
flag = False
Me.Caption = "step=" & i ' следим за ходом выполнения
If i = 5 Then
Me.Caption = "На шаге " & i & " вызвали окно ввода"
DoCmd.OpenForm "япример2", , , , , acDialog
While Not flag 'ждем отработки окна ввода, flag вернется из нее
DoEvents
Wend
End If
Next i
End Sub

Private Sub Form_Open(Cancel As Integer)
x = 1: y = 2: z = 3 'для примера
MyNewValue
End Sub

Public Property Let NEWX(vx As Long)
x = vx
MyNewValue
End Property
Public Property Let NEWY(vx As Long)
y = vx
MyNewValue
End Property
Public Property Let NEWZ(vx As Long)
z = vx
MyNewValue
End Property
Public Property Let NEWFLAG(vx As Long)
flag = vx
End Property

Public Sub MyNewValue()
Поле1 = x 'показали измененные значения
Поле2 = y
Поле3 = z
End Sub

'2форма ввода "япример2"
Private Sub btnok_Click()
''следующие три строки можно повесить на события обновления соотв. полей
Forms("япример1").NEWX = (Поле1)
Forms("япример1").NEWY = (Поле2)
Forms("япример1").NEWZ = (Поле3)
'мы закончили - передаем flag
Forms("япример1").NEWFLAG = (True)
DoCmd.Close acForm, Me.Name
End Sub

Передавать переменные можно и по-другому. суть в приостановке...
Конечно, если значений для передачи много ...


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.