VB 中insert into select 语句怎么执行不了

DimsqlAsStringDimsql1AsStringDimsql2AsStringDimsql3AsStringDimresAsIntegerDimdsAsADOD... Dim sql As String
Dim sql1 As String
Dim sql2 As String
Dim sql3 As String

Dim res As Integer
Dim ds As ADODB.Connection
Dim rs As ADODB.Recordset
Set ds = New ADODB.Connection
Set rs = New ADODB.Recordset
ds.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & App.Path & "\评价系统.accdb;Persist Security Info=False;"
Set rs.ActiveConnection = ds
sql1
rs.Open sql1, ds, 3, 3
rs.Close
sql2
rs.Open sql2, ds, 3, 3
rs.close
sql3 = "INSERT INTO 缓变追加 ( ID, BSC, 查询日期, [考核时段掉话次数(24小时)之平均值], [考核时段掉话次数(24小时)], 劣化天数 )"
sql3 = sql3 & "SELECT 缓变性能监控1111.ID, 缓变性能监控1111.BSC, 缓变性能监控1111.查询日期, 缓变性能监控1111.[考核时段掉话次数(24小时)之平均值], 缓变性能监控1111.[考核时段掉话次数(24小时)], 缓变性能监控1111.劣化天数"
sql3 = sql3 & " FROM 缓变性能监控1111;"
Debug.Print sql3
Set rs = ds.Execute(sql3)

sql3 怎么执行不了呢,要怎么做才能执行?
展开
 我来答
syx54
2014-02-13 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2729万
展开全部
sql1,sql2,sql3 都是埋唤搏一个字符类型变量,怎么就可以这样执行?

要利用ADODB.Connection对象的Execute方法
基本步骤应该这样:
ds.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & App.Path & "\评价系统.accdb;Persist Security Info=False;"
ds.Execute "INSERT INTO 缓变追加 ( ID, BSC, 查询日期, [考核时段掉话弯祥次数(24小时)之平均值], [考核时段掉话次数(24小时)], 劣化天数 )"

或者:
ds.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & App.Path & "\评价系统.accdb;Persist Security Info=False;"
sql3 = "INSERT INTO 缓变追链吵加 ( ID, BSC, 查询日期, [考核时段掉话次数(24小时)之平均值], [考核时段掉话次数(24小时)], 劣化天数 )"
ds.Execute sql3
wl1975sdm
2014-02-13 · 超过146用户采纳过TA的回答
知道小有建树答主
回答量:293
采纳率:90%
帮助的人:78.9万
展开全部
1、你的SQL语句也不太长,为什么要分开三段写,一行应该可以写下没必要搞多行知盯吧,易出错
2、表名都用那么多的中文表名,能否简化为英文的,毕竟这些语句是在后台运行,你能看懂就行了,中文一个小心错的可铅漏能性很大。
3、看了你的这个语句:INSERT INTO 应该是插入后面括号中的数值到表“缓变追加”中,值应该就是括号中的东西,可是后面忽然又冒出来一个SELECT **** FROM 的语句不知道你是什么意思,你把后面的搭激和这两句去掉应该就可以了INSERT INTO 了吧。
追问
insert into select 语句,select的值追加进缓变追加的表里的
追答
哦,是insert into select 语句,明白了。
insert into 后的括号中好像是表结构吧,刚才还以为是你要插入的值呢,这个不应该有吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icemaskpig
2014-02-13 · 超过22用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:25.5万
展开全部
我常用这样的笨办法:
'将sql3输出到页面
response.write sql3
然后将输出的字符串,贴到可执行sql语句的数据库操作界面下运行,看一下报什么错芹启锋

我嫌晌单看文字觉得是"select"前没有空格,程序识别不了导致的。奇怪的是你的"from"前又旁察加了空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
g550330555
2014-02-13 · TA获得超过205个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:115万
展开全部
这个缓唯,,眼睛都要看昏!.把你闭则的sql语句print出来,或者分段放进sql中去执行,你就知道错扰态培误在哪咯!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式