访问SQL - 插入包含空字段的记录?

时间:2016-05-24 07:32:07

标签: sql ms-access access-vba

我有Insert语句将记录从一个表插入另一个表。 SQL工作,但不是WHERE子句中的字段是Null。没有错误,没有插入任何内容。我怎样才能解决这个问题 ?这就是我所拥有的(两个表中的字段都相同 - 我。[Serial_No]表示绑定字段 - 文本框:

dim SQL as String

 SQL = "INSERT INTO Table1 (Serial_No,Name,Description)" & _
       "SELECT Table2.Serial_No, Table2.Name, Table2.Description" & _
       " FROM Table2" & _
       " WHERE Table2.Serial_No='" & Me.[Serial_No] & "'"

DoCmd.RunSQL SQL

1 个答案:

答案 0 :(得分:1)

  

我不确定这是否是您需要的答案,它看起来不合逻辑。

如果namedescription永远不是空值,请确保它们是表中唯一的复合键。您可以在表设计视图的索引按钮中创建这些唯一键。然后,您可以使用其他字段值查找serial_no。看起来有点长,但我应该给你所需的记录。

dim SQL as String
dim varSerialNo as string

varSerialNo = dlookup("Serial_No", "table2", "Name='" & me.Name & "' AND Description='" & me.description & "'")

 SQL = "INSERT INTO Table1 (Serial_No,Name,Description)" & _
       "SELECT Table2.Serial_No, Table2.Name, Table2.Description" & _
       " FROM Table2" & _
       " WHERE Table2.Serial_No='" & varSerialNo & "'"

DoCmd.RunSQL SQL
相关问题