• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

StatusBar显示数据库的属性

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 33次 | 进入软件测试论坛讨论

领测软件测试网

   
  在编辑数据库的记录时,可以用 StatusBar 控件通知用户数据库的各种属性,例如正在编辑的表的名称、其创建日期、以及最后一次更新的日期。

  下面的代码用到了如下对象:

  名为“frmDataviewer”的 Form

  名为“sbrData”的 StatusBar 控件

  名为“datData”的 Data 控件

  添加显示数据库属性的 StatusBar

  用 Add 方法创建 Panel 对象的集合。

  为每个 Panel 对象配置 AutoSize 属性。  

  用 Panel 对象的 Text 属性显示数据库的属性。  

  在 PanelClick 事件中用 Select Case 语句重新设置属性。

  用 Add 方法创建 Panel 对象的集合

  要在运行时创建 Panel 对象的集合,需要使用 Add 方法。首先需要声明一个 Panel 类型的变量。在添加每个 Panel 对象时,可以用该变量包含对新创建的对象的引用。下面的代码在 Form 对象的 Load 事件中创建了三个 Panel 对象。

  Private Sub Form_Load()

  Dim pnlX As Panel

  Dim i As Integer

  For i = 1 to 3 '第一个面板已存在。

  Set pnlX = sbrData.Panels.Add()

  Next i

  End Sub  

  注意:在向集合中添加了三个 Panel 对象之后,控件中实际上有四个面板,原因是该控件中已缺省地创建了一个面板。  

  为每个 Panel 对象配置 AutoSize 属性

  StatusBar 控件的一个特性就是面板能够根据自身的内容自动改变大小。下例循环遍历了所有 Panel 对象,并将每个的 AutoSize 属性设置为 sbrSpring(1)。这样每个面板通过“伸缩”分享该控件的总宽度。  

  Private Sub Form_Load()

  Dim pnlX As Panel

  Dim i As Integer

  For i = 1 to 3 '第一个面板已存在。

  Set pnlX = sbrData.Panels.Add()

  Next i  

  '改变所有面板的 AutoSize。

  For i = 1 to 4 ' < -- 新代码

  sbrData.Panels(i).AutoSize = sbrSpring '新

  Next i '新

  End Sub
  

  用 Panel 对象的 Text 属性显示数据库的属性

  要改变所有面板中显示的信息,只需设置该 Panel 对象的 Text 属性即可。下面的代码显示了由数据访问对象打开的数据库的有关信息。  

  在 Form 对象的 Load 事件中,首先创建两个数据库变量,并分别赋值为打开的数据库 (Biblio.mdb) 和记录集 (Authors)。然后代码将 Name、DateCreated、LastUpdated 和 LockEdit 属性的值赋予每个 Panel 对象的 Text 属性。  

  '声明数据库变量。

  Dim myDB As Database, myRs As Recordset

  '将 Database 设置为 BIBLIO.MDB 数据库。

  Set myDB = DBEngine.Workspaces(0). _

  OpenDatabase("BIBLIO.MDB")

  '将记录集变量设置为 Authors 表。

  Set myRs = _

  myDB.OpenRecordset("Publishers", dbOpenTable)

  '将 Text 属性设置为记录集属性。

  sbrData.Panels(1).Text = "名称:" & myRs.Name

  sbrData.Panels(2).Text = "创建日期:" & _

  myRs.DateCreated

  sbrData.Panels(3).Text = "上一次修改的日期:" & _

  myRs.LastUpdated

  sbrData.Panels(4).Text = "编辑上锁:" & myRs.LockEdits   

  在 PanelClick 事件中用 Select Case 语句重新设置属性

  StatusBar 控件还可以用来重新设置正在显示的属性。在上面的应用实例中,DataGrid 控件被绑定到 Data 控件。(关于如何实现控件的数据绑定的详细信息,请参阅《程序员指南》中的“使用 Visual Basic 标准控件”中的“使用 ADO 数据控件”)。在该 StatusBar 显示的属性中,只有 LockEdits 属性可以被重新设置。要做到这一点,可以在 PanelClick 事件中使用 Select Case 语句,确定单击了哪个 Panel 对象。PanelClick 事件包含有有对被单击的 Panel 的引用。使用该引用即可重新设置被单击的 Panel 对象的 Text 属性。  

  下面的代码首先创建 Recordset 类型的变量,并将其设置为由 Data 控件打开的记录集。Select Case 语句被用来检测 Panel 对象的 Index 属性。如果 Index 为 4,则 LockEdits 属性在 -1 (True) 和 0 (False) 之间切换。最后,使用新的信息更新 Panel 对象的 Text 属性。  

  Private Sub sbrData_PanelClick(ByVal Panel As Panel)

  Dim myRs As Recordset '声明 Recordset 变量。

  'Data 控件的名称为 "datData"

  Set myRs = datData.Recordset '设置变量。  

  Select Case Panel.Index

  Case 1 to 3

  '不能设置这些面板。

  Case 4 ' Updateable Property is settable.

  '切换该属性。

  myRs.LockEdits = Abs(myRs.LockEdits) - 1

  '更新 Panel 对象的 Text 属性。

  sbrData.Panels(4).Text = "LockEdits: " _

  & myRs.LockEdits

  End Select

  End Sub

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网