【问题标题】:Clear a subform in Access using a button使用按钮清除 Access 中的子表单
【发布时间】:2015-12-10 04:59:11
【问题描述】:

在我的表单上,我有“完成”按钮,单击该按钮将清除表单并应清除子表单然后关闭表单。我可以让一切正常工作,但无论我尝试了什么,我都无法清除我的子表单。 我试过做

Me.subformGroupVolunteers.Form.Filter = Null
Me.subformGroupVolunteers.Form.FilterOn = False
Me.subformGroupVolunteers.Form.Requery

和 Me.subformGroupVolunteers.Form = "" 和 Me.subformGroupVolunteers= ""

请帮忙!!谢谢!!

Private Sub cmdAdd_Click()
CurrentDb.Execute "INSERT INTO tbl_GroupVolunteers(GroupName, Leader, FirstName, LastName, Phone, Email, EmergencyContactName, EmergencyContactNumber, RegistrationNumber)" & _
 "VALUES('" & Me.txtGroupName & "','" & Me.cboLeader & "','" & Me.txtFirstName & "','" & Me.txtLastName & "','" & Me.txtPhone & _
 "','" & Me.txtEmail & "','" & Me.txtEmergencyContactName & "','" & Me.txtEmergencyContactNumber & "','" & Me.txtRegistrationNumber & "');"

'clear form
cmdClear_Click
'refresh subform
Me.subformGroupVolunteers.Form.Requery
Me.cboLeader.SetFocus

 End Sub

Private Sub cmdClear_Click()
Me.cboLeader = ""
Me.txtFirstName = ""
Me.txtLastName = ""
Me.txtPhone = ""
Me.txtEmail = ""
Me.txtEmergencyContactName = ""
Me.txtEmergencyContactNumber = ""

End Sub

Private Sub cmdDone_Click()
Dim RegistrationMsg As Integer
RegistrationMsg = MsgBox("Your registration number is:" & Me.txtRegistrationNumber & ". Please keep this for your records. You will need this if you want to delete or update your registration!", vbOKOnly, "Registration Number")

cmdClear_Click
Me.txtRegistrationNumber = ""
Me.txtGroupName = ""

Dim varControl As Variant
For Each varControl In Me.subformGroupVolunteers.Form.Controls
If varControl.ControlType = acTextBox Or varControl.ControlType = acLabel Then
    If varControl.Tag = 1 Then
        varControl = ""
        End If
        End If
    Next varControl

DoCmd.Close
End Sub

【问题讨论】:

  • 你所说的“清晰”是什么意思?表单/子表单是否绑定(即有一个 RecordSource)?为什么在关闭表单之前需要做任何事情?
  • @Andre451 清除是指根据表单清除所有插入子表单的数据。
  • 对不起,这仍然完全不清楚(不是双关语)。
  • @Andre451 在这一点上双关语受到赞赏。我知道展示然后解释会容易得多,所以我会再次尽力而为。我有一个与主窗体相关联的子窗体。当我结束该表单上的信息时,它会填充到子表单上并插入到表中。单击提交后,我需要子表单来清除其内容。
  • 通过“捆绑”我假设表单和子表单都有一个 RecordSource,即它们显示表或查询的数据。 “清除”两个表单并准备新数据输入的常用方法是:转到主表单中的新记录。由于没有子表单记录链接到它,它会自动清除。 --- 如果这没有帮助,请将表单+子表单的截图上传到imgur.com 并在此处发布链接。

标签: ms-access ms-access-2013


【解决方案1】:

如果我理解正确,子表单绑定到tbl_GroupVolunteers(= 显示数据),这是一个临时表。

您没有显示将数据复制到实际表的代码。但是在你完成之后,只需做一个

CurrentDb.Execute "DELETE * FROM tbl_GroupVolunteers"
Me.subformGroupVolunteers.Form.Requery

就是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 2022-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多