Office中国论坛/Access中国论坛

标题: 请教 可不可以像按住Ctrl选取文件那样选记录l [打印本页]

作者: cai373    时间: 2004-2-10 00:26
标题: 请教 可不可以像按住Ctrl选取文件那样选记录l
我们在windows里可以用Ctrl键选中多个文件。同样可不可以在查询或子窗体中同时选中多个记录?
作者: zhengjialon    时间: 2004-2-10 00:33
使用 form 的 seltop ,selheight 属性.

seltop 返回选定起始行的行号,selheight 返回结束行的行号,如无选定内容,则 selheight 返回0


作者: cai373    时间: 2004-2-10 01:00
不明白。在VB里看不到seltop ,selheight 属性.
可以说清楚点吗
作者: zhengjialon    时间: 2004-2-10 18:41
SelTop、SelLeft 属性
               

使用 Seltop 属性可以指定或确定表、查询或窗体数据表当前选定内容的矩形中最顶行(记录)的行编号,或者连续窗体中最顶端的记录的记录编号。使用 Selleft 属性可以指定或确定当前选定矩形最左列的列编号(字段编号)。例如,假设在“客户”表的“数据表”视图中选定了一个区域,就可以使用 Seltop 属性和 Selleft 属性来确定该选定矩形的第一行和第一列的编号。

设置

Seltop 属性为 Long Integer 类型,取值范围从 1 开始,最大到数据表或连续窗体中的记录数。该属性指定或返回当前选定矩形最顶行的行编号,或者连续窗体中最顶端记录的记录编号。


Selleft 属性为 Long Integer 类型,取值范围从 1 开始,最大到数据表的列数。该属性指定或返回当前选定矩形最左列的列编号。

这两个属性在“设计”视图中均不可用,只有在宏或 Visual Basic 中才能使用。

说明

如果没有选定任何区域,则这两个属性分别返回焦点所在的单元格的行编号和列编号。

如果已在数据表中选定了一个或多个记录(使用记录选定器),就不能再改变 Selleft 属性的设置。如果已在数据表中选定了一个或多个列(使用列标题),则不能改变 Seltop 属性的设置。

您可以使用 Selheight 和 Selwidth 属性,与这些属性一起指定或确定数据表中选定矩形的实际大小。其中 Seltop 属性和 Selleft 属性用来确定选定矩形左上角的位置,而 Selheight 属性和 Selwidth 属性则用来确定选定矩形右下角的位置。


Selheight、Selwidth、Seltop 和 Selleft 属性示例

以下示例显示如何使用 Selheight、 Selwidth、 Seltop 和 Selleft 属性来确定“数据表”视图中选定矩形的位置和大小。该过程将当前选定矩形的高度和宽度值赋给变量 lngNumRows、 lngNumColumns、 lngTopRow 和 lngLeftColumn ,然后在消息框中显示这些值。

Sub SetHeightWidth(frm As Form)
    Dim lngNumRows As Long, lngNumColumns As Long
    Dim lngTopRow As Long, lngLeftColumn As Long
    Dim strMsg As String

    If frm.CurrentView = 2 Then        '“数据表”视图中的窗体。
        lngNumRows = frm.SelHeight        ' 选定的行数
        lngNumColumns = frm.SelWidth        '和选定的
                                                ' 列数。
        lngTopRow = frm.SelTop            ' 选择的最顶端的行。
        lngLeftColumn = frm.SelLeft        '选定最左边的列。
                                                '
        strMsg = "Number of rows: " & lngNumRows & vbCrLf
        strMsg = strMsg & "Number of columns: " _
             & lngNumColumns & vbCrLf
        strMsg = strMsg & "Top row: " & lngTopRow & vbCrLf
        strMsg = strMsg & "Left column: " & lngLeftColumn
        MsgBox strMsg
    End If
End Sub

作者: cai373    时间: 2004-2-10 20:22
如果要选中的是不连续的记录能做到吗?
作者: zhengjialon    时间: 2004-2-10 20:42
分两步操作不就行了。
作者: cai373    时间: 2004-2-10 21:07
哦,试试先
作者: jicheng    时间: 2004-11-12 16:49
我也不关注这个问题,不知这位仁兄试成功了吗?能否发个示例给我看看!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3