Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

rst.NoMatch不知道怎么用

晓学生  发表于:2013-07-12 13:44:20  
复制

01   没设置好rst.NoMatch条件,“DoCmd.GoToRecord”要么不执行,要么总执行,请各位帮忙!

Set dbf1 = mydb.CreateQueryDef("qs1", sqltxt1)
 Set rst = mydb.OpenRecordset("qs1", dbOpenDynaset) '定义biao表为rst
 rzjy_tem1 = 0 '定义初始数额
 rst.FindFirst RZBH = "& i &"
 While rst.NoMatch
 Me.RZJY = rzjy_tem1 + Me.RZZJ - Me.CHBJ '上一个融资结余+本次融资增加-偿还本金=本次融资结余
  rzjy_tem1 = Me.RZJY '将上一次融资结余赋值给变量,为计算下一次融资结余作准备
  rst.FindNext RZBH = "& i &" '记录下移一次,为判断是否到表尾提供依据。
  If rst.NoMatch Then
   DoCmd.GoToRecord , , acNext '将下一个记录作为当前记录,以便使计算结果赋值成功。
  End If
 Wend

 

 

Top
晓学生 发表于:2013-07-12 22:23:07

搞明白了,是rst.FindFirst RZBH = "& i &"写错了,应为rst.FindFirst “RZBH = "& i &"


Set dbf1 = mydb.CreateQueryDef("qs1", sqltxt1)
 Set rst = mydb.OpenRecordset("qs1", dbOpenDynaset) '定义biao表为rst
 rzjy_tem1 = 0 '定义初始数额
 rst.FindFirst "RZBH = " & i & ""
 While rst.NoMatch <> True
   Me.RZJY = rzjy_tem1 + Me.RZZJ - Me.CHBJ '上一个融资结余+本次融资增加-偿还本金=本次融资结余
  rzjy_tem1 = Me.RZJY '将上一次融资结余赋值给变量,为计算下一次融资结余作准备
  rst.FindNext "RZBH = " & i & "" '记录下移一次,为判断是否到表尾提供依据。
  If rst.NoMatch <> True Then
   DoCmd.GoToRecord , , acNext '将下一个记录作为当前记录,以便使计算结果赋值成功。
  End If
 Wend
 DoCmd.DeleteObject acQuery, "qs1 "
 rst.Close



总记录:1篇  页次:1/1 9 1 :