Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

ACCESS VBA编程(一)控件

时 间:2012-11-06 09:01:03
作 者:周芳(转)   ID:24526  城市:上海
摘 要:常量 控件 :
正 文:

acBoundObjectFrame 绑定对象框
acCheckBox 复选框
acComboBox 组合框
acCommandButton 命令按钮
acCustomControl ActiveX(自定义)控件
acImage 图像
acLabel 标签
acLine 线条
acListBox 列表框
acObjectFrame 未绑定对象框或图表
acOptionButton 选项按钮
acOptionGroup 选项组
acPage 页
acPageBreak 分页符
acRectangle 矩形
acSubform 子窗体/子报表
acTabCtl 选项卡
acTextBox 文本框
acToggleButton 切换按钮


在VB中对窗体控件的引用:
键入包含控件的窗体或报表的标识符,后面紧接 ! 运算符和控件的名称。例如,下列标识符将引用“订单”窗体上“订单ID”控件值:
Forms![订单]![订单ID]
引用子窗体或子报表上的控件,不必使用“窗体”或“报表”属性为窗体或报表指定完整的标识符。例如,可以使用下列标识符来引用“订单”子窗体上的“数量”控件:
Forms![订单]![订单子窗体]![数量]


判断窗体或报表中控件的数目,然后将该数目赋给一个变量:
Dim intFormControls As Integer
Dim intReportControls As Integer
intFormControls = Forms!Employees.Count
intReportControls = Reports!FreightCharges.Count


设置控件可见性:
Dim i, ii As Integer
For ii = 3 To 10
     Me.Controls.Item(ii).Visible = True
Next
For i = 11 To 22

     Me.Controls.Item(i).Visible = False
Next


按特殊名在VBA中设置控件的可见性:
For i = 27 To 47
  If Me.Controls.Item(i).Name Like "A*" Then
     Me.Controls.Item(i).Visible = False
  End If
   
Next


指定一个控件能否接受焦点:
Enabled属性:
me.控件.Enabled = true'能
                =false'不能


指定一个控件能否被编辑:
locked
如:
me.控件.Locked = true
me.控件.Locked = false


设置控件标题显示的文字:
Me.控件.Caption = "显示窗体"


设置标签颜色:
Me.LabelColor =200


获得焦点及失去焦点时字段变更颜色:
如果你的控件是文本框,名称为“txt字段”,写如下代码:

Private Sub txt字段_GotFocus()
  Me.txt字段.BackColor = 12632256
End Sub

当中“12632256”是灰色,你可以自己选择希望的颜色,如果想在失去焦点时改为原来的颜色,写如下代码:

Private Sub txt字段_LostFocus()
  Me.txt字段.BackColor = 16777215
End Sub


使标签闪烁以引人注意:
设置窗体的TimerInterval 值为1000 (1秒).

forms OnTimer 加入代码:

Sub Form_Timer()
YourTextLabel.Visible = Not YourTextLabel.Visible
End_Sub


设置标签字体颜色:
Me.Label1.ForeColor =


设置文本框颜色:
Me.TextColor = 300


设置文本框字体颜色:
Me.TextFontColor = 500


标签等左边距离:
Me.Label2.Left = 2200


定位控件:
Me.控件.Top = 8290
Me. 控件.Left = 100


标签等字体粗细:
Me.Label2.FontWeight = 20000


控件边框颜色:
Me.Label2.BorderColor = 0


控件边框线条:
BorderStyle 属性使用以下设置:
透明 0 (仅对于标签、图表和子报表而言是默认值)透明的
实线 1 (默认值)实线
虚线 2 虚线
短虚线 3 短虚线
点线 4 点线
稀疏点线 5 点距较宽的点线
点划线 6 虚线与点线组合的点划线
点点划线 7 虚线-点线-点线组合的点点划线
双实线 8 双实线


指定控件的边框宽度:
使用 BorderWidth 属性可以指定控件的边框宽度
取值:0或1-6


指定控件是否透明:
使BackStyle 属性可以指定控件是否透明。
True 、False


解除子窗体锁定:
Me.进_子窗体.Locked = False   '解除子窗体锁定
注:将窗体上所有控件的输入法关掉!
Private Sub Form_Open(Cancel As Integer)
Dim ctl As Access.Control
For Each ctl In Me.Controls
Debug.Print ctl.Name & ctl.ControlType
If ctl.ControlType = acTextBox Then
ctl.IMEMode = 2
End If
Next
End Sub
上述代码控制文本框,你还可以控制其他的,只要copy进窗体就可以了


列表框的值的引用:
如果是单选的列表框,用 me.[列表框名] 来引用;如果要引用不是结合型列的值,可以用 me.[列表框名].column(n) (第一列n=0,第二列n=1…)

引用多列组合框或列表框中特定的列或列与行的组合
用 0 引用第一列,用 1 引用第二列,依此类推。用 0 引用第一行,用 1 引用第二行,依此类推。例如在含有一列客户 ID 和一列客户名称的列表框中,可以使用如下方式引用第二列、第五行的客户名称:
Forms!Contacts!Customers.Column(1, 4)

可以使用 Column 属性将组合框或列表框的内容指定给另一控件,如文本框。例如,若要将文本框的 ControlSource 属性设为列表框第二列中的值,可以使用以下表达式:
=Forms!Customers!CompanyName.Column(1)

如果引用了组合框或列表框中的列,但用户未做选择,则 Column 属性设置将为 Null。可以使用 IsNull 函数来确定是否进行了选择,示例如下:
If IsNull(Forms!Customers!Country)
    Then MsgBox "No selection."
End If


显示获得焦点的控件的 Name:
    ctl As Control
    Set ctl = Screen.ActiveControl
    MsgBox ctl.Name



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助