Access交流中心

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

如何只显示当前几条记录?

Rowe  发表于:2008-03-05 11:32:49  
复制

一个子窗体中有许多条记录,但我只想子窗体中只显示最后的几条记录(子窗体中按时间顺序排列),我想知道如何实现让子窗体中的数据超过十条记录时只显示最后十条记录!请那位高手帮帮手啦!先谢谢啦!

 

Top
pc高手 发表于:2008-03-05 13:14:44

你提的问题比较怪, 不是技术上有难度,而是都不符合惯例!

子窗体都是与主窗体关联, 子窗体显示什么,自己是说了不算的。

如果像你说的,子窗体只想显示前10条,那么与主窗体还有关系吗?

如果没有关系, 那么还叫子窗体干吗? 叫法有问题!

好! 来回答你的技术问题:

暂时称这个子窗体为 “frmA". frmA 的记录源为: tblA.

tblA 里的时间排序(你自己的原字段)叫 "某DATE" ,

在 tblA 里添加新字段 ‘序号’, 在 frmA 的 Form_load 里

添加代码:

Private Sub Form_Load()
   
    Dim strRS As String
    strRS = "SELECT tblA.* FROM tblA ORDER BY tblA.某DATE DESC"
   
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    rs.Open strRS, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Dim N As Long
    N = 1
    Do While Not rs.EOF
        rs.Fields("序号") = N
        rs.Update
        N = N + 1
        rs.MoveNext
    Loop
    Me.RecordSource = "SELECT tblA.* FROM tblA WHERE (((tblA.序号)<11)) ORDER BY 序号"

End Sub

 

OK 了!!!



马丽 发表于:2008-03-05 18:45:00

可以在数据源的查询语句中加上TOP 10,按时间倒序排列即可。



钱玉炜 发表于:2008-03-06 07:43:48
楼上的好方法

pc高手 发表于:2008-03-06 14:00:11

楼上的 “可以在数据源的查询语句中加上TOP 10,按时间倒序排列即可。 ”,

请写一个句子, 我看看如何使用 top 10.

我一直在寻找 类似 “top bottom” 命令的一些用法!

谢谢了!



pc高手 发表于:2008-03-06 14:00:14

楼上的 “可以在数据源的查询语句中加上TOP 10,按时间倒序排列即可。 ”,

请写一个句子, 我看看如何使用 top 10.

我一直在寻找 类似 “top bottom” 命令的一些用法!

谢谢了!



竹笛 发表于:2008-03-06 21:52:51
Me.RecordSource = "SELECT TOP 10 tblA.* FROM tblA ORDER BY 序号 desc"

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