При вызове через Eval функция из модуля формы выполняется дважды?
|
|
Воскресенье, 05 Октября 2014 г. 23:13
+ в цитатник
Здравствуйте!
Разбираюсь с функцией Eval.
Вызываю абсолютно одинаковые функции, находящиеся а) в модуле формы, б) в стандартном модуле.
Результат разный.
При вызове той, которая в модуле формы, результат удваивается.
Простая "учебная" форма с двумя кнопками вызова функций и двумя полями для вывода результатов.
Вот код модуля формы
| + |
Option Compare Database
Option Explicit
Dim k1 As Integer, _
m1 As Integer, _
m2 As Integer
Private Sub Form_Open(Cancel As Integer)
k2 = 0
End Sub
Private Sub Butt_Eval1_Click()
m1 = m1 + 1
FF1 = Nz(FF1) & vbCrLf & m1 & ". " & Eval("Forms!" & Name & ".Start1")
End Sub
Private Sub Butt_Eval2_Click()
m2 = m2 + 1
FF2 = Nz(FF2) & vbCrLf & m2 & ". " & Eval("Start2()")
End Sub
Function Start1() As Integer
k1 = k1 + 1
Start1 = k1
End Function
|
Вот код стандартного модуля
| + |
Option Compare Database
Option Explicit
Public k2 As Integer
Function Start2() As Integer
k2 = k2 + 1
Start2 = k2
End Function
|
А вот результат
| + |
 |
Где-то у меня ошибка. Но найти не могу.
Помогите, пожалуйста.
http://www.sql.ru/forum/1119359/pri-vyzove-cherez-eval-funkciya-iz-modulya-formy-vypolnyaetsya-dvazhdy
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-