MS Access-多个文本框上的setFocus,以检查数据是否通过SQL存在



我面临的问题:

我尝试检查表格中是否已经存在来自表中的多个文本框中的文本,然后再保存记录以避免重复。

我创建了一个以输入新成员并将其保存到表中的表单。避免重复的关键是检查给定名称,姓氏和出生日期与现有记录的组合。(很可能不会有两个具有所有三个标准匹配的人(

我可以通过将重点设置在所需的框上并使用SQL查询(如果存在(来检查一个文本框的存在,如果存在...

但是,由于我需要将重点放在多个文本框(IMO(上,因此问题发生。有没有办法将重点放在多个文本框上?

这个想法是使用一个如果存在……并且存在语句,并且我需要在检查其存在之前为每个文本框实现.setFocus语句。

希望您明白我的观点,如果有人可以分享一些知识,我会很高兴。:(

预先感谢

似乎有一些丢失的信息,以找到解决问题的最佳解决方案。因此,以下响应将基于关于您的表单的工作方式的假设。

我假设您正在使用未结合文本框的未绑定表格?如果是这种情况,那么您必须有一个按钮,该按钮是检查/将此信息添加到表中的触发器。假设您的命令按钮称为"保存"。您可以使用以下代码,而无需.setFocus到任何文本框。

Private Sub Save_Click()
Dim db as DAO.Database
Dim rst as DAO.Recordset
Dim strSQL as string
set db = currentdb 'This is the connection to the current database
'This is the SQL string to query the data on your table
strsql = "SELECT * " & _
         "FROM [Yourtablename] " & _
         "WHERE ((([YourTableName].[FirstName]) ='" & me.FormFirstNameField & "' AND ([YourTableName].[LastName]) ='" & me.FormLastNameField & "' AND ([YourTableName].[DOB]) =#" & me.FormDOBField & "#));"
set rst = db.openrecordset(strsql) 'This opens the recordset
if rst.recordcount <> 0 then
    'Enter code to inform user information already exists
else
    'Enter code if information does not exits
end if
rst.close 'Closes the recordset
set rst = nothing 'Frees memory
set db = nothing 'Frees Memory
End Sub

让我知道此代码是否有效,还是需要根据您的方案进行更改。