我在第一条CREATE TABLE语句中有一个语法问题。
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中运行。
尽管不太正确,但您已经在第三条语句中具有使此功能起作用的语法。
第一行应该是 db.Execute ("SELECT DISTINCT <list of fields> INTO tTemp FROM JQHistory")
db.Execute ("SELECT DISTINCT <list of fields> INTO tTemp FROM JQHistory")
第三条声明应为: db.Execute ("INSERT INTO JQHistory SELECT <list of fields> FROM tTemp")
db.Execute ("INSERT INTO JQHistory SELECT <list of fields> FROM tTemp")