-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Form_Active перестал срабатывать

Воскресенье, 03 Декабря 2017 г. 14:45 + в цитатник
Господа, приветствую.

акс 2007.
Жил был проект, и даже работал))).
Проблема в заголовке.
Приложил тестовый пример, сделанный в новой бд.
Ситуация:
все формы - вкладками разделенные, но пробовал их и одиночными сделать... тоже
варианты:
1 - источник, таблица. Наглухо.
2 - источник Recordsourse.
3,4 - источники Recordset, ADODB и DAO. 4 вариант тупо для чистоты эксперимента

варианты 1 и 2 - Form_Active срабатывает и при открытии, и смене фокуса
варианты 3 и 4 - Form_Active срабатывает только при смене активной формы/вкладки.

Если так и должно быть, то тогда почему проект с пол года уже отработал???
А если не должно так быть...кто знает причину?

Объясните плиз...

Если лень/не можете скачать...код в формах
вариант 1
+
Option Compare Database
Option Explicit

Private Sub Form_Activate()
    MsgBox Me.Name
End Sub
вариант 2
+
Private Sub Form_Activate()
    MsgBox Me.Name
End Sub

Private Sub Form_Open(Cancel As Integer)

   On Error GoTo Form_Open_Error

Cancel = MyWhere(0)

   On Error GoTo 0
   Exit Sub

Form_Open_Error:
  MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Open of Form_Cases_All", , "Error!"
End Sub

Public Function MyWhere(TypeSearch As Long) As Boolean

   On Error GoTo MyWhere_Error

    Me.Form.RecordSource = "SELECT * FROM Таблица1"

   On Error GoTo 0
   Exit Function

MyWhere_Error:
MyWhere = True
  MsgBox Err.Number, Err.Description
End Function
вариант 3
+
Private MyRec As ADODB.Recordset
Private strMy As String

Private Sub Form_Activate()
    MsgBox Me.Name
End Sub

Private Sub Form_Open(Cancel As Integer)

10       On Error GoTo Form_Open_Error

90    Cancel = MyWhere(0)

100      On Error GoTo 0
110      Exit Sub

Form_Open_Error:
120     MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Open of Form_Cases_All", , "Error!"


End Sub

Public Function MyWhere(TypeSearch As Long) As Boolean

10       On Error GoTo MyWhere_Error

strMy = "SELECT * FROM Таблица1"

180       Set MyRec = New ADODB.Recordset
190       With MyRec
200           .CursorLocation = adUseClient
210           .Open strMy, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
220       End With
230       Set Me.Recordset = MyRec
240       MyWhere = False

360   If Not MyRec Is Nothing Then Set MyRec = Nothing '

380      On Error GoTo 0
390      Exit Function

MyWhere_Error:
400   If Not MyRec Is Nothing Then Set MyRec = Nothing '
410   MyWhere = True
520     MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Open of Form_Cases_All", , "Error!"

End Function
вариант 4
+
Private MyRec As DAO.Recordset
Private strMy As String

Private Sub Form_Activate()
    MsgBox Me.Name
End Sub

Private Sub Form_Open(Cancel As Integer)

10       On Error GoTo Form_Open_Error

90    Cancel = MyWhere(0)

100      On Error GoTo 0
110      Exit Sub

Form_Open_Error:
120     MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Open of Form_Cases_All", , "Error!"


End Sub

Public Function MyWhere(TypeSearch As Long) As Boolean

10       On Error GoTo MyWhere_Error

strMy = "SELECT * FROM Таблица1"

180       Set MyRec = CurrentDb.OpenRecordset(strMy)
230       Set Me.Recordset = MyRec
240       MyWhere = False

360   If Not MyRec Is Nothing Then Set MyRec = Nothing '

380      On Error GoTo 0
390      Exit Function

MyWhere_Error:
400   If Not MyRec Is Nothing Then Set MyRec = Nothing '
410   MyWhere = True
520     MsgBox "Error number 0409(" & Erl & "). If this error persists, please write down the error number and contact technical support.", , "Error Encountered! System code: " & Err.Number

End Function

http://www.sql.ru/forum/1278920/form-active-perestal-srabatyvat


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку