首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SELECT INTO仅插入最后一行- VBA、Access 2000?

SELECT INTO仅插入最后一行- VBA、Access 2000?
EN

Stack Overflow用户
提问于 2017-07-19 17:50:34
回答 2查看 31关注 0票数 0

我有一个在循环中创建的SQL字符串:

代码语言:javascript
复制
"SELECT '" & Trim(Str(j)) & "' AS cpa, Count(Val('" & rsCPANezbirni("tipprod") & "')) AS BrojProd, Sum(Val('" & rsCPANezbirni("povrsina") & "')) AS p, Sum(Val('" & rsCPANezbirni("pmagacin") & "')) AS pm INTO T14_KPD_CPA_samo_podatoci FROM CPA_nezbirni WHERE (t4k" & Trim(Str(j)) & "<>'' Or t4k" & Trim(Str(j)) & " Is Not Null);"

我使用的循环是:

代码语言:javascript
复制
Dim j As Integer
j = 1
Do While j <= 3
    cpaSelectSQL = "SELECT '" & Trim(Str(j)) & "' AS cpa, Count(Val('" & rsCPANezbirni("tipprod") & "')) AS BrojProd, Sum(Val('" & rsCPANezbirni("povrsina") & "')) AS p, Sum(Val('" & rsCPANezbirni("pmagacin") & "')) AS pm INTO T14_KPD_CPA_samo_podatoci FROM CPA_nezbirni WHERE (t4k" & Trim(Str(j)) & "<>'' Or t4k" & Trim(Str(j)) & " Is Not Null);"
    Debug.Print "j = " & Str(j) & ", cpa select SQL: " & cpaSelectSQL
    DoCmd.RunSQL cpaSelectSQL, True

    On Error GoTo ErrorHandler
    j = j + 1
Loop

我的问题是,只有最后生成的行被复制到T14_KPD_CPA_samo_podatoci中,即cpa =3

我想复制每个for作为cpa 1到3的值。

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-19 17:57:41

SELECT INTO是一个"Create table“查询,每次运行它都会覆盖目标表。

一旦表存在,您就需要INSERT INTO

票数 2
EN

Stack Overflow用户

发布于 2017-07-19 20:40:33

好的,我使用了这种SQL查询

代码语言:javascript
复制
INSERT INTO table1 (col1, col2, ..., coln) SELECT col1, col2,..., coln FROM table2 WHERE condition GROUP BY colx;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45186951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档