Access交流中心

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

连续窗体中,如何让当前记录突出显示。

大熊屋  发表于:2008-12-19 15:39:00  
复制

如题。

 

记得以前有个网友的示例是 在记录下面加了一条红线 鼠标点中那条记录 那条记录下边就显示一条粗的红线 但是这个示例找不到了 知道的告诉一下 或给指点一下思路。

 

Top
残荷听雨 发表于:2008-12-19 17:12:13
窗体单击及移动记录时选定记录(反黑显示)
在成为当前事件中加入:
    DoCmd.RunCommand acCmdSelectRecord

大熊屋 发表于:2008-12-19 17:53:08
DoCmd.RunCommand acCmdSelectRecord  这个只能在数据表中实现 如果窗体选择的是“连续窗体”这个不起作用

残荷听雨 发表于:2008-12-19 19:41:02
82077802 发表于:2008-12-19 20:24:15
高亮显示当前记录,请参考:http://www.binghebbs.cn/viewthre ... hlight=%B8%DF%C1%C1


小龙女 发表于:2008-12-20 10:24:56
也可以使用条件格式。

残荷听雨 发表于:2008-12-20 15:09:13

根据你的短消息要求:

 

先依据一个表(表1)建立一个数据表形式的窗体,这个表里有一个ID字段(字段名称例如:货物ID)

在这个窗体中添加一个文本框,命名为:Rank,控件来源

如果货物ID字段是数值型: =DCount("*","表1","货物ID<=" & [货物ID] & "")

如果货物ID字段是文本型: =DCount("*","表1","货物ID<='" & [货物ID] & "'")

然后在本窗体的模块中写如下代码:

Private Sub Form_Current()

On Error Resume Next
   
    Dim cuid As Long
    cuid = Me.CurrentRecord
    Dim objfrc As FormatCondition
    Dim ctl As Control
    For Each ctl In Me.Form.Controls
        Set objfrc = ctl.FormatConditions(0).Modify(acExpression, , "[Rank] = " & cuid & "")
    Next

End Sub

Private Sub Form_Load()

On Error Resume Next
   
    Dim cuid As Long
    cuid = Me.CurrentRecord
    Dim objfrc As FormatCondition
    Dim ctl As Control
    For Each ctl In Me.Form.Controls
        ctl.FormatConditions(0).Delete
        Set objfrc = ctl.FormatConditions.Add(acExpression, , "[Rank] = " & cuid & "")
        ctl.FormatConditions(0).BackColor = 255
    Next
   
End Sub


以上代码即可实现当前行高亮显示



大熊屋 发表于:2008-12-20 22:10:37

用上面这段程序 运行后窗体在不断的刷新 。

 

我用access911上找了一段代码

给大家看看

'access911.net 示例系列之
'    在连续窗体中如何反白显示获得焦点的记录

Private Sub Form_Open(Cancel As Integer)
'注意,本示例中 [城市ID] 文本框的数据源是 [城市ID] 字段,
'该字段是自动编号字段,能够唯一标识记录

    Dim ctl As Control
    For Each ctl In Me.Form
        If ctl.ControlType = acTextBox Then
            ctl.FormatConditions.Add acExpression, acEqual, 1
            ctl.FormatConditions(0).Modify acExpression, , "[城市ID] =-1"
            ctl.FormatConditions(0).ForeColor = vbWhite
            ctl.FormatConditions(0).FontBold = True
            ctl.FormatConditions(0).BackColor = vbBlack
            ctl.OnGotFocus = "=b([城市ID])"
        End If
    Next ctl
End Sub


Function b(ByVal a As Long)
    Dim ctl As Control
    For Each ctl In Me.Form
        If ctl.ControlType = acTextBox Then
            ctl.FormatConditions(0).Modify acExpression, , "[城市ID] =" & a
        End If
    Next ctl
End Function

 

谢谢wnxjy68



残荷听雨 发表于:2008-12-21 16:09:11
互相学习,但能够唯一标识记录的字段如果是文本怎么办?


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