Access交流中心

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

这段代码看不懂。。。

阿祺  发表于:2014-06-06 10:57:50  
复制

Private Sub Command23_Click()
Dim rst As New ADODB.Recordset, FNum As Double, FSumNum As Double, FCount As Long
    FNum = DLookup("Benchmark", "DaysScores")
    FTotalDay = DLookup("TOTALDAYS", "DaysScores")
    With rst
        .ActiveConnection = CurrentProject.Connection
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
        .Source = "SELECT Days,Scores FROM Days"
        .Open
        Do Until .EOF
            FSumNum = FSumNum + .Fields("Days")
            FSumDay = FSumDay + .Fields("Days") * .Fields("Scores")
            Debug.Print FSumDay
            If FSumNum > FNum Then
                FCount = .AbsolutePosition
                FCoutoff = .Fields("Scores")
                Exit Do
            End If
            .MoveNext
        Loop
    End With
    With Me
        .Text0 = FCount
        .Text21 = FSumNum
        .Text24 = FCoutoff
   
   
    End With
    Set rst = Nothing
End Sub

 

 

 FCoutoff = .Fields("Scores") 代表那个值,为啥等于第64行那个值,如果想表达第一行的值,怎么表达?

 

�������ش˸���

 

 

Top
cspa 发表于:2014-06-06 12:26:20

     

FCount = .AbsolutePosition                 '关键在这句。在循环至第64行记录时, FSumNum > FNum   条件为真

FCoutoff = .Fields("Scores")                '因此FCoutoff 被赋值为第64行记录.Fields("Scores")的值               

Exit Do                                                     '这里退出了循环

AbsolutePosition 属性

指示 Recordset 对象的当前记录的序号位置。



阿祺 发表于:2014-06-06 20:36:12
OK, 明白了,但我想让FCUTOFF 显示第5行的数,怎么改?

cspa 发表于:2014-06-06 22:23:59

我用的是2003,打不开你上传的文件。      你把       If FSumNum > FNum Then  改成

            If   .AbsolutePosition=5   Then    试试




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