У меня проблема с одним из моих событий vba.
Во-первых, событие срабатывает после внесения изменения в поле, это поле принадлежит форме, которая показывает несколько записей данных из одной таблицы.эта форма находится внутри NavigationPane.
Моя база данных программируется в Access 2016 32bit и будет в основном использоваться нашими работниками на сервере с Access Runtime 2013
Теперь, когда я запускаю событиена моем компьютере все работает как задумано, но на серверной версии Runtime он показывает ошибку, которую я попытаюсь перевести на английский, потому что я в Германии: «Выполнение этой программы не может быть продолжено из-за ошибки времени выполнения»- «Эта программа не может продолжать работать и будет закрыта».
Я уже пытался просмотреть утку, но не смог найти то, что мне нужно, в основном из-за ключевого слова «Время выполнения», имеющего два разных значения в этом контексте.
Вот код:
Private Sub isEnd_AfterUpdate()
Dim isEnd As Date
Dim rs As Recordset
Dim strFind As String
Dim test As Variant
'On Error Resume Next
Set rs = Recordset
With rs
If Not .EOF Then
isEnd = Me!isEnd
If Me!isStart > 0 Then
Me!isDur = (Me!isEnd - Me!isStart) * 24
End If
strFind = "IdMa = '" & Me!IdMa & "' and OrderRow = " & Me!OrderRow + 1
'test = MsgBox(strFind & " - " & rs.Name & " - '" & isEnd & "'", vbOKOnly, "test")
Me.Recordset.FindFirst (strFind)
Me!isStart = isEnd
Me.isEnd.SetFocus
End If
End With
End Sub
Вы можете игнорировать обработку ошибок и MsgBox, которые я пытался использовать дляОтладка.
База данных предназначена для планирования наших процессов, и в этом поле хранится время окончания завершенного процесса, и оно должно вводиться во время начала следующего процесса, чтобы сэкономить немного времени.
Edit1: я должен упомянуть, что я точно определил ошибку до строки:
Me.Recordset.Findfirst (strFind)
, но не могу понять, почему это проблема, точно такая же строка отлично используется в некоторых кнопках в той же форме.