删除子窗体通过按钮录制

时间:2013-12-30 20:21:46

标签: ms-access ms-access-2007 access-vba

我的数据库分为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字段的数量,从而减少数据库的整体大小。

0 个答案:

没有答案