你将不得不弄脏你的手并写一些代码来获得这个结果。一个起点将是这样的presto代码。如果你卡在任何部件上,请回邮。
If fCheckIfRecordExists(lYourKey)=True then
Docmd.OpenForm “frmEditExistingRecord”
Else
Docmd.OpenForm “frmEnterNewRecord”
End if
Public function fCheckIfRecordExists (lYourKey as Long) as Boolean
‘Code to check if a record exists, simple method is to use dLookup or a count SQL statement with the criteria as the key you are trying to find
End function
编辑:
首先第一件事情做与1个名为txtPhone_number文本框,并呼吁cmdSearch一个命令按钮的形式。
下一页把这段代码模块中的形式
Public Function fDoes_record_exist(strPhone_number As String) As Boolean
If DCount("Phone_number", "tblYour_table", "Phone_number=" & strPhone_number) > 0 Then
fDoes_record_exist = True
Else
fDoes_record_exist = False
End If
End Function
接下来,你需要把一些代码的命令按钮的单击事件的背后。此代码可扩展上后,检查是否有有效的电话号码,如果你想
If fDoes_record_exist(Me.txtPhone_number) = True Then
DoCmd.OpenForm "frmShow_existing_record"
Else
DoCmd.OpenForm "frmEnter_new_record"
End If
这应该设置你的方式很好,但回来后,如果您遇到问题
输入数据的人有一堆电话号码,有些已经在系统中,有些则不是。他们输入一个数字,它可能已经在那里,在这种情况下提出记录,否则创建一个新数据并捕获其他数据。 (我知道这听起来有点奇怪,但这种情况确实有道理。) – djna 2011-03-22 08:13:24