一尘不染

'CREATE TABLE'生成运行时错误'3290'

sql

我在第一条CREATE TABLE语句中有一个语法问题。

我收到以下VBA错误:

运行时错误‘3290’

目标是根据特定列中的值将不同的数据移动到新表中。之后,将清除原始表,并且将再次插入每个不同的值。此后临时表将被删除。

' ** Issue here ** '
db.Execute ("CREATE TABLE tTemp AS (SELECT DISTINCT History_Date, Sedol, Selskabsnavn, MarketCap, JQScore, JQ_Rank, Value_Rank, Quality_Rank, Momentum_Rank FROM JQHistory)")

db.Execute ("DELETE * FROM JQHistory")
db.Execute ("SELECT * FROM tTemp INTO JQHistory")
db.Execute ("DROP TABLE tTemp")

此代码正在MS Excel中运行。


阅读 168

收藏
2021-03-08

共1个答案

一尘不染

尽管不太正确,但您已经在第三条语句中具有使此功能起作用的语法。

第一行应该是 db.Execute ("SELECT DISTINCT <list of fields> INTO tTemp FROM JQHistory")

第三条声明应为: db.Execute ("INSERT INTO JQHistory SELECT <list of fields> FROM tTemp")

2021-03-08