在VBA

时间:2016-05-16 10:59:08

标签: sql vba ms-access access-vba

我无法通过VBA创建和保存make table - 查询。我能够使用(DAO.Database)currentdb.execute执行它,但不能像select query一样使用CreateQueryDef将其保存为查询。我希望它保存,如下面的屏幕显示所示 可以/我应该使用.CreateTableDef吗?如果是,你能提供一个例子。

enter image description here< - 我想做什么
enter image description here< - 使用CreateQueryDef我可以做些什么

strSQL = "SELECT PRODUCT.product_id, PRODUCT.upc, PRODUCT.name, PRODUCT.size, PRODUCT.uom, PRODUCT.manufacturer, PRODUCT.category, PRODUCT.colour INTO PRODUCT IN 'C:\LIVE IMAGES\" & frm.cboManu.Value & ".mdb'" & _
         " FROM PRODUCT " & _
         "WHERE (((PRODUCT.desc_a) IN (SELECT desc_a FROM PRODUCT WHERE manufacturer LIKE " & Chr(34) & "*" & frm.cboManu.Value & "*" & Chr(34) & ")));"

1 个答案:

答案 0 :(得分:1)

您需要创建一个QueryDef才能执行此操作。使用QueryDef上的Access帮助。希望这会有所帮助。

    Dim q as QueryDef    
    Set q = New QueryDef
    q.SQL = strSQL
    q.Name = "TEST_SQL"
    CurrentDb.QueryDefs.Append q
    CurrentDb.QueryDefs.Refresh