Access交流中心

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

再次求教煮江品茶管理员

phenix  发表于:2011-06-29 22:26:34  
复制

这几天一直在琢磨您忙帮做的《冒号考核系统示例》第二版,觉得那个临时表实现的查询很有意思也很有用,但一直没整明白临时表temp和查询选项卡里面的子窗体temp的数据源都是哪来的,今天静下心来又拆解了一下,懵懂间觉得应该是代码的功劳,但是代码中有不明白的地方还要求您帮忙释疑。

 

1、

 

Private Sub Form_Load()
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long, j As Long
ssql = "select * from Temp"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

For i = 1 To rs.RecordCount
    For j = 1 To rs.Fields.Count - 1
        rs.Fields(j).Value = 0
        rs.Update
    Next
    rs.MoveNext
Next

Me.Temp子窗体.Form.Requery
rs.Close
Set rs = Nothing
End Sub

 

第一句中的Form应该是个特定的控件名称吧?但在您的那个实例中我咋没找到有叫这名的控件呢?这段代码的作用是什么呢?

 

 

2、

 

Private Sub 查询冒号ID_AfterUpdate()
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long, j As Long
Dim strwh As String
ssql = "select * from Temp"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

For i = 1 To rs.RecordCount
    For j = 1 To rs.Fields.Count - 1
        strwh = "考核ID=" & Me.考核ID.Value & " and 冒号ID=" & Me.查询冒号ID.Column(0)
        strwh = strwh & " and " & rs.Fields(j).Name & "='" & rs.Fields(0).Value & "'"
        rs.Fields(j).Value = DCount(rs.Fields(j).Name, "打分表", strwh)
        rs.Update
    Next
    rs.MoveNext
Next

Me.Temp子窗体.Form.Requery
rs.Close
Set rs = Nothing
End Sub

 

 

还是第一句,里面的“查询冒号ID_AfterUpdate”是什么意思?这段代码的作用又是什么?

 

 

另外,如果我想让temp子窗体中显示为百分数,分母用投票人数进行计算,是否可以在代码中实现?我这几天尝试逐格用表达式计算,效果不好,麻烦不说,还容易出错。

 

我现在看代码就像中国人看日文,靠整句话里面看得懂的汉字来猜测整体意思,有时候能蒙对,有时候咋也琢磨不明白,所以问题多多,望您多包涵,这里再次感谢了。

 

Top
曹光耀 发表于:2011-06-30 08:20:47

如果说,楼主连[查询冒号ID_AfterUpdate]和[Form]的意思都不明白的话,那说明现在火候还不够,不如多加强ACCESS相关的理论基础。。。

那时你自然明白了



煮江品茶 发表于:2011-06-30 08:45:23

1、问题1的解答:
Private Sub Form_Load()
Private:私有的,指本窗体内使用的。
Sub:子程序
Form:窗体
Form_Load():窗体加载子程序名称,由系统自动定义。
Private Sub Form_Load():由系统自动定义的本窗体加载子程序,也成为窗体加载事件。

 

2、问题2的解答:
Private Sub 查询冒号ID_AfterUpdate():由系统自动定义的控件“查询冒号ID”更新后子程序,也成为更新后事件。



phenix 发表于:2011-06-30 09:46:34

谢楼上两位领导的解答。

 

其实我现在就像一个平时根本不花钱的人突然遇到了需要花钱的事,眼前考虑的就是求人施舍些能解决当前问题的资金援助,并没考虑如何赚钱的事。不过不排除偶尔体会了赚钱的乐趣以后也学些赚钱的本事



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