Access交流中心

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

求连续窗体循环代码

飛謌  发表于:2018-06-17 15:31:37  
复制

求单价、底数 一起循环的代码,连续窗体不允许新增。

如果方便求将代码大概意思标准一下谢谢!

循环代码写在主窗体收费日期事件中!

底数=主窗体“业主代码”、子窗体“项目” 与 收费登记表 “业主代码、项目,求收费日期”最大的“抄表”数。

底数显示:必须是 收费标准表 “底数选择”勾选的品种否则不显示底数。


单价= 主窗体“类别”、子窗体“项目”与 收费标准表“类别、项目”的“单价”。
以上底数与单价允许在子窗体编辑。

现代码如下:

Private Sub SFRQ_LostFocus()
Me.收费登记_子窗体.Requery
Me.收费登记_子窗体.SetFocus
Dim Bend
On Error GoTo Err_XXXX
DoCmd.GoToRecord acActiveDataObject, , acFirst
Do Until IsNull(Me.[收费登记_子窗体]![项目])
Me.[收费登记_子窗体]![单价] = DLookup("单价", "收费标准", "类别&项目='" & Me.类别 & Me.[收费登记_子窗体]![项目] & "'")
If Bend = -1 Then Exit Do
DoCmd.GoToRecord acActiveDataObject, , acNext
Loop

Err_XXXX:
If Err.Number = 2105 Then
Bend = -1
Resume Next
   End If
 DoCmd.GoToRecord acActiveDataObject, , acFirst
Do Until IsNull(DMax("抄表", "收费登记", "业主代码='" & Me.YZDM & "' and 项目='" & DLookup("项目", "收费标准", "项目&底数选择='" & Me.[收费登记_子窗体]![项目] & -1 & "'") & "'"))
Me.[收费登记_子窗体]![底数] = DMax("抄表", "收费登记", "业主代码='" & Me.YZDM & "' and 项目='" & DLookup("项目", "收费标准", "项目&底数选择='" & Me.[收费登记_子窗体]![项目] & -1 & "'") & "' and 收费日期=#" & DMax("收费日期", "收费登记", "业主代码&项目='" & Me.YZDM & Me.[收费登记_子窗体]![项目] & "'") & "#")
DoCmd.GoToRecord acActiveDataObject, , acNext
Loop

End Sub

点击下载此附件



 

Top
飛謌 发表于:2018-06-18 08:16:39
Private Sub SFRQ_LostFocus()
Me.收费登记_子窗体.Requery
Me.收费登记_子窗体.SetFocus
Dim Bend
On Error GoTo Err_XXXX
DoCmd.GoToRecord acActiveDataObject, , acFirst
Do Until IsNull(Me.[收费登记_子窗体]![项目])
Me.[收费登记_子窗体]![单价] = DLookup("单价", "收费标准", "项目='" & Me.[收费登记_子窗体]![项目] & "'")
If Bend = -1 Then Exit Do
DoCmd.GoToRecord acActiveDataObject, , acNext
Loop

DoCmd.GoToRecord acActiveDataObject, , acFirst
Do Until IsNull(DMax("抄表", "收费登记", "业主代码='" & Me.YZDM & "' and 项目='" & DLookup("项目", "收费标准", "项目&底数选择='" & Me.[收费登记_子窗体]![项目] & -1 & "'") & "' and 收费日期=#" & DMax("收费日期", "收费登记", "业主代码&项目='" & Me.YZDM & Me.[收费登记_子窗体]![项目] & "'") & "#"))
Me.[收费登记_子窗体]![底数] = DMax("抄表", "收费登记", "业主代码='" & Me.YZDM & "' and 项目='" & DLookup("项目", "收费标准", "项目&底数选择='" & Me.[收费登记_子窗体]![项目] & -1 & "'") & "' and 收费日期=#" & DMax("收费日期", "收费登记", "业主代码&项目='" & Me.YZDM & Me.[收费登记_子窗体]![项目] & "'") & "#")
DoCmd.GoToRecord acActiveDataObject, , acNext
Loop

Err_XXXX:
If Err.Number = 2105 Then
Bend = -1
Resume Next
End If

End Sub


已解决谢谢关注!



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