好吧,我是新来的,这将是我的第一个问题,我遇到了我忙于处理的代码。 我保持碰撞这是关系到运行时错误相同的错误:在Access 3129 Visual Basic中 现在是在我下面的代码公用Sub检查设置导入按钮功能:结合使用SQL和VBA
Public Sub ImportDataTablebtn_Click()
Dim strSQL As String
Dim db As DAO.Database
Dim tbl1 As DAO.TableDef
Dim tbl2 As DAO.TableDef
Dim fld1tbl1 As DAO.Field
Dim fld2tbl1 As DAO.Field
Dim fld3tbl1 As DAO.Field
Dim fld1tbl2 As DAO.Field
Dim fld2tbl2 As DAO.Field
Dim fld3tbl2 As DAO.Field
Set db = CurrentDb
Set tbl1 = db.TableDefs("Clicks Returns")
Set tbl2 = db.TableDefs("Oct 2015 Clicks Returns")
Set fld1tbl1 = tbl1.Fields("SKU")
Set fld2tbl1 = tbl1.Fields("Item Description")
Set fld3tbl1 = tbl1.Fields("Oct 2015 FIN YTD TY % Returns")
Set fld1tbl2 = tbl2.Fields("Sku")
Set fld2tbl2 = tbl2.Fields("Item Description")
Set fld3tbl2 = tbl2.Fields("F21")
DoCmd.RunSQL strSQL
strSQL = "INSERT INTO tbl1 (fld1tbl1, fld2tbl1, fld3tbl1)" & _
"SELECT fld1tbl2, fld2tbl2 fld3tbl2 FROM tbl2;"
Set db = Nothing
End Sub
现在我知道我的一些像表格重命名和字段可能不是真的需要,但我认为它会使代码更容易...
请让我知道我在哪里让我的错误,因为我觉得自己要疯了通过反复观察它。
在数据库中是我指的表格,并且我想将某个字段从一个表格移动到另一个表格,因为它是导入的Excel表格,我正在忙于使其成为某个自动化系统只需点击表单上的按钮即可清理数据。
感谢您抽出时间来阅读这篇文章,并回答它
您试图在'strSQL'变量设置为'INSERT'语句之前执行'DoCmd.RunSQL strSQL'。在'DoCmd.RunSQL'上移动'strSQL ='行。 – Lankymart
也在你的'strSQL'中,在close-paren和单词“SELECT”之间加一个空格。 –
@TabAlleman或'vbCrLf'可以完成这项工作。尽管'vbCrLf'优先,因为我可以用'
'代替输出时用于调试目的,并获得漂亮的整洁的SQL查询,我可以在SSMS中直接启动。 – Lankymart