Синхронизация форм в Access наоборот
От: ratxor  
Дата: 22.07.04 19:03
Оценка:
MainForm f
ID Primary key
Manufacturer
ProcID

SubForm processor
ID Primary key
Field1
Field2
Field3

Требуется, чтобы при переходе форме f по записям форма processor переходила на запись ProcID из главной формы. А при переходе по записям в форме processor номер текущей записи записывался в procID.

Событие OnChange.

Переход по записям можно сделать: через скрипт, через DoCmd, через recordset.

Через скрипт и DoCmd не получается, т.к. выдается сообщение, что форма не загружена (т.к. субформа, а не отдельная форма). С recordset тоже не вышло.
Re: Синхронизация форм в Access наоборот
От: Elena_ Россия  
Дата: 23.07.04 09:07
Оценка:
Здравствуйте, ratxor, Вы писали:

R>MainForm f

R>ID Primary key
R>Manufacturer
R>ProcID

R>SubForm processor

R>ID Primary key
R>Field1
R>Field2
R>Field3

R>Требуется, чтобы при переходе форме f по записям форма processor переходила на запись ProcID из главной формы. А при переходе по записям в форме processor номер текущей записи записывался в procID.


R>Событие OnChange.


R>Переход по записям можно сделать: через скрипт, через DoCmd, через recordset.


R>Через скрипт и DoCmd не получается, т.к. выдается сообщение, что форма не загружена (т.к. субформа, а не отдельная форма). С recordset тоже не вышло.


Что-нибудь типа

В MainForm

Private Sub Form_Current()
    If subfrm_processor.Form.Recordset.RecordCount > 0 Then
        subfrm_processor.Form.Recordset.FindFirst "ID = " & Me.ProcID
    End If
End Sub


в subform

Private Sub Form_Current()
    Dim sРодительскаяФорма As String, e As Long

    On Error Resume Next
    sРодительскаяФорма = Me.Parent.Name
    e = Err.Number
    If e = 0 Then
        If bIsLoaded(sРодительскаяФорма) Then ' Любая проверка на то, что форма загружена
            Parent.ProcID = Me.ID
        End If
    End If
End Sub
Пользователь — друг программиста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.