组合框使用技巧-jia
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-窗体/数据页


组合框使用技巧

发表时间:2011/3/31 评论(5) 浏览(13191)  评论 | 加入收藏 | 复制
   
摘 要:Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
(1)存储方式简单,易于维护管理 ,界面友好、易操作 
(2)面向对象 Access是一个面向对象的开发工具
(3)集成环境、处理多种数据信息 
(4)Access支持ODBC(开发数据库互连)
(5)支持广泛,易于扩展,弹性较大
正 文:
组合框使用技巧
一、只能选择而不能修改数据 Private Sub 组合框名称_KeyDown(KeyCode As Integer, Shift As Integer) DoCmd.CancelEvent End Sub 注:在键按下事件中写入代码即可二、消除不在列表中告警 Private Sub组合框名称_NotInList(NewData As String, Response As Integer) Response = 0 End Sub 注:在不在列表中事件中写入代码即可
三、不在列表中,清空其数据并不移动光标 Private Sub组合框名称_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue Me. 组合框名称= Null Me. 组合框名称.Requery End Sub
四、调整,箭头满框正常的组合框,在其右边有一个小箭头,点击这个小箭头,会出现组合框的内容列表。但如果设计不好,可能会出现箭头不能填满只占组合框的一部分的现象,很难看的。解决办法很简单--在窗体设计视图下,选中组合框,先设置你需要的字号,默认是9号字,改成你需要的大小字号(在14号字内)。然后,按住“shift”键,再用小键盘区的上下箭头键进行微量调整,箭头就会根据字号大小而自动调整,立马会出现你需要的效果。
五、默认值为该组合框行来源的最后一行 1)、在窗体的加载事件中写: Dim n As Long n = Me. 组合框名称.ListCount Me. 组合框名称.value = Me. 组合框名称.Column(0, n - 1) 2Me. 组合框名称= Me. 组合框名称.ItemData(Me. 组合框名称.ListCount-1) 六、默认值为该组合框行来源的第一条记录 1)在窗体加载事件中写上以下代码 Me.组合框名称 = Me.组合框名称.ItemData(0) 注:ItemData(n) 其中 n 是要作为默认值的所在行号。ItemData 属性是从零开始的,所以如果要使用列表中第一行为默认值,请键入:ItemData(0) 2)在窗体加载事件中写上以下代码 Me.组合框名称 = Me.组合框名称.Column(0, 0) 3)在组合框的默认值属性中直接放下列表达式: =[组合框名称].[Column](0,0) =[组合框名称].[ ItemData](0)
七、获得焦点时组合框自动打开 Private Sub组合框名称_GotFocus() Me![ 组合框名称].Dropdown End Sub
八、去掉组合框中的空白行只要在这个组合框行来源的查询设计视图中,那个字段条件中放置Not Is Null就行了。
九、组合框内数据依次显示 Private Sub组合框名称_DblClick(Cancel As Integer) If组合框名称.ListCount < 1 Then Exit Sub Dim I As Long I =组合框名称.ListCount If组合框名称.ListIndex < I - 1 Then 组合框名称.ListIndex =组合框名称.ListIndex + 1 Else 组合框名称.ListIndex = 0 End If End Sub 注:双击组合框,组合框内数据会依次显示
十、自动加入到可选项中的办法 Private Sub 组合框名称_LostFocus() Dim rs As DAO.Recordset Dim rs1 As DAO.Recordset If Not IsNull(组合框名称) or Trim(组合框名称) <> "" Then '这时防止添加空格 Set rs = CurrentDb.OpenRecordset("select * from1", , dbpressimistic) Set rs1 = CurrentDb.OpenRecordset("select * from1 where1.[字段名]='" & 组合框名称 & "';", , dbpressmimstic) If rs1.RecordCount = 0 Then '防止重复添加 With rs .AddNew ![字段名] = Me.组合框名称 .Update End With End If rs.Close Set rs = Nothing rs1.Close Set rs1 = Nothing Me.Requery End If End Sub 注:1)组合框中的值来源于表1”; 2)组合框中输入新值后,可实现自动加入到可选项中.
十一、在组合框中用键盘上的键选取在组合框中不用鼠标点击,也不用xxx.Dropdown命令,就可以用键盘上的键选取内容在组合框的键按下事件中加入: Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 40 Then Screen.ActiveControl.ListIndex = (Screen.ActiveControl.ListIndex + 1) Mod Screen.ActiveControl.ListCount KeyCode = 0 End If End Sub 也可以在鼠标双击事件中加入下面一句以便录入: Screen.ActiveControl.ListIndex = (Screen.ActiveControl.ListIndex + 1) Mod Screen.ActiveControl.ListCount 试试看,,,这种效果是不是觉得用起来更爽一点
十二、文本框为空时,组合框内容不能改 Private Sub 文本框名_AfterUpdate() Me. 组合框名称.Enabled(=Nz(Me. 文本框名)<>"") End Sub

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access入门】获取组合框里面数据行数的示例,ListCoun...  【麥田  2013/1/26】
关于风行先生的“组合框自动排除选项示例”的优化  【大漠风  2013/2/3】
【Access入门】获取组合框里面指定列的标题示例,Column(...  【麥田  2013/2/7】
Access利用列表框改装成组合框  【蟹仔  2013/2/14】
【Access源码示例】Access组合框下拉列表模糊查询功能的完...  【红尘如烟  2013/3/5】
[Access源码]改进---组合框下拉列表模糊查询功能的完美实现  【漏蛧尐魚℡  2013/3/7】
Access组合框数据源设置方法,Access组合框记录源添加方法...  【学习者  2013/4/27】
Access组合框多选查询,今天教大家学习一个Access强大的组...  【宏鹏  2013/5/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

jia

文章分类

文章存档

友情链接