使用按钮清除Access中的子窗体

时间:2015-12-05 04:10:27

标签: ms-access ms-access-2013

在我的表单上,我有完成按钮,单击该按钮将清除表单并清除子表单然后关闭表单。无论我尝试过什么,我都可以把所有工作都放到工作中,这样我就可以清除子表单。 我试过做

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

1 个答案:

答案 0 :(得分:0)

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

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

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

就是这样。