使用VBA将数据从Sql表插入到另一个中

时间:2015-06-08 19:06:38

标签: sql-server vba

我正在尝试使用vba在插入到sql语句中的子选择中将SQL列值从一个表插入到另一个表中。有人可以帮我一把吗?这就是我所拥有的:

SQL = "" & _
    "INSERT INTO dbo_CHEMICAL" & _
                "([NAME],[CAS#],[EU#])" & _
                "" & _
    "Values " & "('" & Me.CHEM_NAME_1.Value & "','" & Me.CAS_NUM_1.Value & "','" & Me.EU_NUM_1.Value & "');"

SQL2 = "" & _
    "INSERT INTO dbo_CHEMICAL_IN_COMPOUND" & _
                "([COMPOUND_ID],[CHEMICAL_ID],[PERCENT_BY_WEIGHT])" & _
                "" & _
    "Values " & "('" & Me.ICNUM.Value & "','" & 14 & "','" & Me.PERCENT_BY_WEIGHT_1.Value & "');"

DoCmd.RunSQL (SQL)
DoCmd.RunSQL (SQL2)

我在第二个sql语句的底部插入值14,并且需要它是一个select语句,它将从第一个sql语句中选择新创建的记录的id(autonumber'd字段)。不知道该怎么做。任何肝脏表示赞赏。

1 个答案:

答案 0 :(得分:0)

问题相当广泛,所以答案是通用的。 SQL INSERT Query的正确语法如下:

INSERT INTO Table_Name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

例如,如果value1是一个字符串,则用单引号''包围它。 尽管这会起作用,但推荐的方法是创建参数化查询。另外,请考虑将BulkInsert用于大型数据集。

希望这可能会有所帮助。