设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] 错误提示"至少一个参数没有被指定值"

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-2 22:54:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好,我这里有一个ADO程序,是在“物料入库”的同时,用最新一次入库的物料单价,去更新”物料库“中该物料的单价。
但我程序好象有点问题,每次更新物料入库时,出现错误提示:”至少一个参数没有被指定值“,请各位帮忙指点一下,谢谢!!

Private Sub Form_AfterUpdate()
  Dim rs物料库 As ADODB.Recordset
  Dim SQLStmt As String
On Error GoTo HandleError
  
  If Not IsNull(Me!物料编号) Then
    Set rs物料库 = New ADODB.Recordset
    If Not IsNull(Me!单价) Then
      SQLStmt = "SELECT * FROM 物料库 " _
        & "WHERE 物料编号 = " & Me!物料编号
      rs物料库.Open SQLStmt, CurrentProject.Connection, _
        adOpenDynamic, adLockOptimistic
      
      If Not rs物料库.EOF Then
        rs物料库![Unitprice] = Me!单价
        rs物料库.Update
      End If
      rs物料库.Close
      Set rs物料库 = Nothing
    End If
  End If
  
ExitHere:
  Exit Sub
  
HandleError:
  MsgBox "Error: " & Err.Description, vbCritical, "Access Error"
  Resume ExitHere
End Sub

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-5-3 00:23:47 | 只看该作者
1、确认物料号是否文本,如果不是文本,请在前后加上单引号。
2、如果更新全部的话,应该用循环语句(例如Do Until ……Loop或者For……Next语句),别忘了可能还要加上MoveNext方法,以便移动游标到下一条记录。
3#
 楼主| 发表于 2011-7-3 09:59:39 | 只看该作者
感谢版主,最近有点忙,没上论坛,我先照您的方法改一下,如有问题,再向您请教。
4#
 楼主| 发表于 2011-10-4 20:42:06 | 只看该作者
版主真高,现在第一个问题解决了,可是如你说的第二点,我的代码只能更新一条记录的字段,可是现在要更新多条符合条件的字段, 如何运用.MoveNext呢,请赐教,谢谢!
5#
发表于 2011-10-5 10:46:59 | 只看该作者
没有实例,只能试试看!
  1. Private Sub Form_AfterUpdate()
  2.     Dim rs物料库 As ADODB.Recordset
  3.     Dim SQLStmt As String
  4.     On Error GoTo HandleError

  5.     If Not IsNull(Me!物料编号) Then
  6.         Set rs物料库 = New ADODB.Recordset
  7.         If Not IsNull(Me!单价) Then
  8.             SQLStmt = "SELECT * FROM 物料库 " _
  9.                       & "WHERE 物料编号 = " & Me!物料编号
  10.             rs物料库.Open SQLStmt, CurrentProject.Connection, _
  11.                        adOpenDynamic, adLockOptimistic

  12.             Do While Not rs物料库.EOF
  13.                 rs物料库![Unitprice] = Me!单价
  14.                 rs物料库.Update
  15.                 rs物料库.MoveNext
  16.             Loop
  17.             rs物料库.Close
  18.             Set rs物料库 = Nothing
  19.         End If
  20.     End If

  21. ExitHere:
  22.     Exit Sub

  23. HandleError:
  24.     MsgBox "Error: " & Err.Description, vbCritical, "Access Error"
  25.     Resume ExitHere
  26. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 23:07 , Processed in 0.103650 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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