设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 8948|回复: 6
打印 上一主题 下一主题

[Access本身] (请教) CurrentDB.Execute 执行出错

[复制链接]
跳转到指定楼层
1#
发表于 2004-2-16 19:58:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我平时用的是 Docmd.RunSQL StingSql + DoCmd.SetWarnings 来运行查询的
改用CurrentDb.Execute SQL 后出现运行出错信息:“运行时错误 '3061' ; 参数不足,期待是1”,对此百思不得其解,望高手们指点一下迷津,感激不尽!

附:1、引用的是DAO3.6
      2、VBA语句为:    CurrentDb.Execute "INSERT INTO 送货单明细 ( 送货流水号, 工件序号, 送货数, 送货类型, 送货单价, 批量折扣 ) SELECT 添加工件到送货单.送货流水号, 添加工件到送货单.工件序号, 添加工件到送货单.送货数, 添加工件到送货单.送货类型, 添加工件到送货单.送货单价, 添加工件到送货单.批量折扣 FROM 添加工件到送货单;"
      3、换用Docmd.RunSQL 该查询正常运行
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2004-2-16 20:07:00 | 只看该作者
试试:

Dim DB As DAO.Database

Set DB = CurrentDb

DB.Execute "INSERT INTO 送货单明细 ( 送货流水号, 工件序号, 送货数, 送货类型, 送货单价, 批量折扣 ) SELECT 添加工件到送货单.送货流水号, 添加工件到送货单.工件序号, 添加工件到送货单.送货数, 添加工件到送货单.送货类型, 添加工件到送货单.送货单价, 添加工件到送货单.批量折扣 FROM 添加工件到送货单;"
3#
 楼主| 发表于 2004-2-16 22:35:00 | 只看该作者
多谢朱总的指教,不过还是不行,还是那行出错的信息,如果换用注释的Docmd.RunSQL语句就正常运行,真是奇怪了!

附该命令按钮的VBA过程:

Private Sub Cmd加入到送货单_Click()
    Dim Dbs As DAO.Database
    Dim Rst As Recordset
    Dim Number As String
    Set Dbs = CurrentDb
    Set Rst = Dbs.OpenRecordset("送货单")
    Call 更新流水号("'送货流水号'")
        Number = Trim("S" & "-" & Format(Date, "yymmdd") & "-" & Format(DLookup("[记录值]", "流水号记录", "[流水号名称]='送货流水号'"), "000"))
        Rst.AddNew
        Rst("送货流水号") = Number
        Rst("客户序号") = Me.Combo选择客户
        Rst("送货日期") = Date
        Rst("制单") = Me.Combo制单
        Rst("仓管") = Me.Combo仓管
        Rst.Update
    Dbs.Execute "INSERT INTO 送货单明细 ( 送货流水号, 工件序号, 送货数, 送货类型, 送货单价, 批量折扣 ) SELECT 添加工件到送货单.送货流水号, 添加工件到送货单.工件序号, 添加工件到送货单.送货数, 添加工件到送货单.送货类型, 添加工件到送货单.送货单价, 添加工件到送货单.批量折扣 FROM 添加工件到送货单;"
    Dbs.Close
'    DoCmd.SetWarnings False
'    DoCmd.RunSQL ("INSERT INTO 送货单明细 ( 送货流水号, 工件序号, 送货数, 送货类型, 送货单价, 批量折扣 ) SELECT 添加工件到送货单.送货流水号, 添加工件到送货单.工件序号, 添加工件到送货单.送货数, 添加工件到送货单.送货类型, 添加工件到送货单.送货单价, 添加工件到送货单.批量折扣 FROM 添加工件到送货单;")
'    DoCmd.SetWarnings True
End Sub

点击这里给我发消息

4#
发表于 2004-2-16 23:25:00 | 只看该作者
如果换成

CurrentProject.Connection.Execute "INSERT INTO 送货单明细 ( 送货流水号, 工件序号, 送货数, 送货类型, 送货单价, 批量折扣 ) SELECT 添加工件到送货单.送货流水号, 添加工件到送货单.工件序号, 添加工件到送货单.送货数, 添加工件到送货单.送货类型, 添加工件到送货单.送货单价, 添加工件到送货单.批量折扣 FROM 添加工件到送货单"

可行吗?
5#
 楼主| 发表于 2004-2-16 23:47:00 | 只看该作者
试过了,出错的信息为:“运行时错误'-2147217904  (80040e10)':至少一个参数没有被指定值”(注:数据库使用Access2002格式,同时引用DAO3.6和ADO2.7)

开始的时候我两种都试过了,觉得DAO的出错信息比ADO的出错信息要短,可能比较容易解决吧。

其实如果真的不行,用Docmd.RunSQL也不影响使用,再次感谢朱总的支持。

点击这里给我发消息

6#
发表于 2004-2-17 06:08:00 | 只看该作者
以下是引用疾风在2004-2-16 15:46:34的发言:
试过了,出错的信息为:“运行时错误'-2147217904  (80040e10)':至少一个参数没有被指定值”(注:数据库使用Access2002格式,同时引用DAO3.6和ADO2.7)

开始的时候我两种都试过了,觉得DAO的出错信息比ADO的出错信息要短,可能比较容易解决吧。

其实如果真的不行,用Docmd.RunSQL也不影响使用,再次感谢朱总的支持。


能否把库挂上来? [em25]
7#
 楼主| 发表于 2004-2-17 09:33:00 | 只看该作者


“进仓单”窗体上的“加到送货单”,现在用的是Docmd.RunSQL,可以正常使用,若换用其它那两种办法后就会出错!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-16 03:47 , Processed in 0.084320 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表