我的数据库分为Front和Back。我在这个问题上有三张桌子。 tblMain,tblDetail,tblNote。我知道记录的数量相对较少,但我设计这个记录是为了长期使用。我有一个tblMain的绑定表单(frmMain),它有一个用于tblDetail的子表单(subDetail)。 SubDetail有一个tblNote的子表单(subNote)。 SubNote有一个删除按钮,其中包含以下代码。
DoCmd.GoToControl Screen.PreviousControl.Name
Err.Clear
If (Not Form.NewRecord) Then
DoCmd.RunCommand acCmdDeleteRecord
End If
If (Form.NewRecord And Not Form.Dirty) Then
Beep
End If
If (Form.NewRecord And Form.Dirty) Then
DoCmd.RunCommand acCmdUndo
End If
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
If Me.RecordsetClone.RecordCount > 0 Then
Me.Visible = True
Else
Me.Visible = False
End If
这是我将删除宏转换为VBA时得到的结果。但是,它删除了subNote&amp;中的记录。子细节。我只想删除subNote中的记录。 Subnote只有三个控件(ctrlID,ctrlType,ctrlNote)和一个删除按钮。我试过改变
DoCmd.GoToControl Screen.PreviousControl.Name
到
Me!ctrlType.SetFocus
但不会改变任何东西。任何帮助将不胜感激。
新信息新增1/2/2014
tblMain Fields mnID(PK),mnAddress,mnOwner,mnAID tblDetail字段detID(PK),mnID(FK),detPrice,detExpire tblNote Fields ntID(PK),detID(FK),ntType,ntText
tblMain与tblDetail具有一对一的关系,强制执行完整性并更新相关的已更新。
tblDetail与tblNote具有一对一的关系,强制执行完整性并更新相关的已更新。
是的,我知道我可以将所有三个表转换为一个表,但tblMain中只有55%的记录在tblDetail中有相应的记录。其中,只有25%的人在tblNote中有相应的记录。我选择拆分表来减少0字段的数量,从而减少数据库的整体大小。