mysql - 从 Access VBA 中的查询创建表

标签 mysql sql ms-access vba

我有一个在 VBA 中创建的查询,我想将其放入 VBA 中的一个表中。无论如何我可以做到这一点吗?我查看了一个生成表查询,但我不确定如何在 VBA 中创建一个。任何帮助将不胜感激!

Sub RevH()
Dim dte As String, clientQry As String, db As Database, clientQry1 As Variant


Set db = CurrentDb


dte = InputBox("What date was the Data Dump run?", "Please Input a date")


clientQry = "SELECT DISTINCT t.[CLIENT ID], t.[CLIENT NAME] " & _
            "FROM FN_DataDump_ALL_" & dte & " as t WHERE " & _
            " (((t.[CLIENT NAME]) Not Like  ""*Test*"" ));"

If CheckQuery("NewIDs") = "Yes" Then
DoCmd.DeleteObject acQuery, "NewIDs"
End If


clientQry1 = db.CreateQueryDef("NewIDs", clientQry)




End Sub

最佳答案

为什么要为此进行新查询?只需调用 CurrentDb.Execute 方法即可执行 SQL。

第二:创建新表的查询的正确语法是:

SELECT YourFields INTO YourNewTable FROM YourOldTable

所以简单地做这样的事情:

Dim clientQry as String

clientQry = "SELECT DISTINCT t.[CLIENT ID], t.[CLIENT NAME] " & _
            "INTO NewTableName " & _
            "FROM FN_DataDump_ALL_" & dte & " as t WHERE " & _
            " (((t.[CLIENT NAME]) Not Like  ""*Test*"" ));"

CurrentDb.Execute clientQry, dbFailOnError

顺便说一句:大多数情况下制作表的物理副本是个坏主意。通常,您会设置一个带有附加日期列的历史表,并将所有副本转储到该表中。在运行时,永远不要要求添加新表/列。任何其他情况都表明数据模型不好!

关于mysql - 从 Access VBA 中的查询创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26892273/

相关文章:

php - 防止 MySQL PDO 将数字作为字符串返回

php - 使用 JSON 提取 SQL 查询 - Codeigniter

database - 我可以在 Access 中编辑自动编号列吗?

ms-access - Access SQL Statement create tables 总是创建一个全长的字段

html - 如何在 MS Access 中解码 HTML 编码的文本

mysql - MySQL 与 SQL Server 的排序问题

python - 来自 App Engine 的 Google Cloud SQL 的连接限制是什么,以及如何最好地重用数据库连接?

mysql - FlashChat 安装问题! SQL语法错误?

sql - 检查 SELECT 子句中的另一个表中是否存在值

sql - 为每组选择随机行