在尝试插入之前查找数据库中的现有条目

时间:2016-08-09 13:45:58

标签: python database ms-access access-vba ms-access-2013

我目前正在使用Access 2013.我已经建立了一个数据库,围绕提交作业的申请人。数据库的设置使得一个人可以申请许多不同的工作,当同一个人通过我们的网站申请工作(使用JotForms)时,它会自动更新数据库。

我有一个Python脚本从更新数据库的电子邮件中提取申请人提交信息。我遇到的问题是,在数据库中,我将申请人的主电子邮件设置为"没有重复",因此不允许同一个人申请许多不同的工作,因为Python脚本试图创建数据库中的新记录导致错误。

在我的Access表单(VBA)或Python中,我需要编写什么来告诉我的数据库主要电子邮件是否相同只在应用于与主要电子邮件相关的表的位置创建新记录?

表:

tblPerson_Information   tblPosition_Applied_for
Personal_ID  (PK)       Position_ID
First_Name              Position_Personal_ID (FK)
Last_Name               Date_of_Submission
Clearance_Type
Primary_Phone
Primary_email
Education_Level

1 个答案:

答案 0 :(得分:1)

只需在[tblPerson_Information]表中查找电子邮件地址:

primary_email = 'gord@example.com'  # test data

crsr = conn.cursor()    
sql = """\
SELECT Personal_ID FROM tblPerson_Information WHERE Primary_email=?
"""
crsr.execute(sql, (primary_email))
row = crsr.fetchone()
if row is not None:
    personal_id = row[0]
    print('Email found: tblPerson_Information.Personal_ID = {0}'.format(personal_id))
else:
    print('Email not found in tblPerson_Information')