Access - VBA编程(使用技巧大全)[1](2)

2020-06-07 14:45

ACCESS-VBA编程

录,只决定是否显示已有的记录。Boolean 型,可读/写。 True 、False

允许/不允许筛选

me.AllowFilters=True/False Filter=\筛选内容\筛选 应用与/否筛选

FilterOn=True/False

将 MyForm 窗体的 BackColor 属性,改成 ColorCode 参数指定的色彩。 使用 QBColor 函数将 MyForm 窗体的 BackColor 属性,改成 ColorCode 参数指定的色彩。QBColor 可接受 0 到 15 的整型值。

Sub ChangeBackColor (ColorCode As Integer, MyForm As Form) MyForm.BackColor = QBColor(ColorCode) End Sub

窗体真正居中显示

如下代码可以做到真正居中显示

Private Sub Form_Load() DoCmd.Echo False Dim x, y As Integer DoCmd.Maximize x = Me.WindowWidth y = Me.WindowHeight DoCmd.Restore DoCmd.Echo True

Move (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2 End Sub

隐藏窗体[学生名册]数据表视图中的性别字段 Table!学生名册!性别.ColumnHidden = -1

显示获得焦点窗体的 Name 属性设置:

使用 ActiveForm 属性(和 Screen 对象一起)可以标识或引用获得焦点的窗体。 Dim dqhdct As Form

Set dqhdct = Screen.ActiveForm MsgBox dqhdct.Name

判断窗体是否打开的方法

Function IsLoaded(strName As String, Optional intObjectType As Integer = acForm)

IsLoaded = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) <> 0) End Function

使用 IsLoaded 属性可以确定当前是否加载了 AccessObject。Boolean 型,只读。 以下是一个示例:

If CurrentProject.AllForms(\Forms!frmMain.Form.Visible = False End If

窗体中组合框不在列表中示例 不在列表中事件代码:

Private Sub 名称_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue

6

ACCESS-VBA编程

If MsgBox(\您输入的名称不在列表中,在列表中添加新记录吗?\银河酒业\

Me![名称] = Null

DoCmd.GoToControl \单价\

DoCmd.OpenForm \酒名列表\ Else

Me![名称] = Null Me![名称].Dropdown End If End Sub

获得焦点事件代码:

Private Sub 名称_GotFocus() Me![名称].Requery End Sub

如何让窗体总在最前面? *API函数声明

Declare Function SetWindowPos Lib \ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

注释:常量声明

Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 注释: 在某个form里写:

SetWindowPos me.hWnd,WND_TOPMOST,0,0,0,0, SWP_NOMOVE 注释:或下面 SetWindowPos me.hWnd,WND_TOPMOST,0,0,0,0, SWP_NOSIZE 用代码选择图表样式 \柱形图\

Me.graphnow.Object.ChartType = xlColumnClustered \折线图\

Me.graphnow.Object.ChartType = xlLineMarkers \饼形图\

Me.graphnow.Object.ChartType = xl3DPie \条形图\

Me.graphnow.Object.ChartType = xlBarClustered

柱形图 簇状柱形图 xlColumnClustered 三维簇状柱形图 xl3DColumnClustered 堆积柱形图 xlColumnStacked

三维堆积柱形图 xl3DColumnStacked 百分比堆积柱形图 xlColumnStacked100

三维百分比堆积柱形图 xl3DColumnStacked100 三维柱形图 xl3DColumn

条形图 簇状条形图 xlBarClustered 三维簇状条形图 xl3DBarClustered 堆积条形图 xlBarStacked

三维堆积条形图 xl3DBarStacked 百分比堆积条形图 xlBarStacked100

三维百分比堆积条形图 xl3DBarStacked100

7

ACCESS-VBA编程

折线图 折线图 xlLine

数据点折线图 xlLineMarkers 堆积折线图 xlLineStacked

堆积数据点折线图 xlLineMarkersStacked 堆积百分比折线图 xlLineStacked100

百分比堆积数据点折线图 xlLIneMarkersStacked100 三维折线图 xl3DLine 饼图 饼图 xlPie

分离型饼图 xlPieExploded 三维饼图 xl3Dpie

三维分离型饼图 xl3DPieExploded 复合饼图 xlPieOfPie 复合柱饼图 xlBarOfPie

XY (散点图) 散点图 xlXYScatter 平滑线散点图 xlXYScatterSmooth

无数据点平滑线散点图 xlXYScatterSmoothNoMarkers 折线散点图 xlXYScatterLines

无数据点折线散点图 xlXYScatterLinesNoMarkers 气泡图 气泡图 xlBubble

三维气泡图 xlBubble3DEffect 面积图 面积图 xlArea 三维面积图 xl3DArea

堆积面积图 xlAreaStacked

三维堆积面积图 xl3DAreaStacked 百分比堆积面积图 xlAreaStacked100

三维百分比堆积面积图 xl3DAreaStacked100 圆环图 圆环图 xlDoughnut

分离型圆环图 xlDoughnutExploded 雷达图 雷达图 xlRadar

数据点雷达图 xlRadarMarkers 填充雷达图 xlRadarFilled 曲面图 三维曲面图 xlSurface

曲面图(俯视图) xlSurfaceTopView

三维曲面图(框架图) xlSurfaceWireframe

曲面图(俯视框架图) xlSurfaceTopViewWireframe 股价图 盘高-盘低-收盘图 xlStockHLC 成交量-盘高-盘低-收盘图 xlStockVHLC 开盘-盘高-盘低-收盘图 xlStockOHLC

成交量-开盘-盘高-盘低-收盘图 xlStockVOHLC 圆柱图 簇状柱形圆柱图 xlCylinderColClustered 簇状条形圆柱图 xlCylinderBarClustered 堆积柱形圆柱图 xlCylinderColStacked 堆积条形圆柱图 xlCylinderBarStacked

百分比堆积柱形圆柱图 xlCylinderColStacked100 百分比堆积条形圆柱图 xlCylinderBarStacked100 三维柱形圆柱图 xlCylinderCol

圆锥图 簇状柱形圆锥图 xlConeColClustered 簇状条形圆锥图 xlConeBarClustered 堆积柱形圆锥图 xlConeColStacked 堆积条形圆锥图 xlConeBarStacked

百分比堆积柱形圆锥图 xlConeColStacked100

8

ACCESS-VBA编程

百分比堆积条形圆锥图 xlConeBarStacked100 三维柱形圆锥图 xlConeCol

棱锥图 簇状柱形棱锥图 xlPyramidColClustered 簇状条形棱锥图 xlPyramidBarClustered 堆积柱形棱锥图 xlPyramidColStacked 堆积条形棱锥图 xlPyramidBarStacked

百分比堆积柱形棱锥图 xlPyramidColStacked100 百分比堆积条形棱锥图 xlPyramidBarStacked100 三维堆积柱形棱锥图 Color 属性 移动无边框窗体例子 模块:

Declare Function SendMessage Lib \Long, ByVal wParam As Long, lParam As Any) As Long

Declare Function ReleaseCapture Lib \Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2

应用:

Private Sub Form_Close()

DoCmd.RunCommand acCmdAppMaximize End Sub

Private Sub Form_Load()

DoCmd.RunCommand acCmdAppMinimize End Sub

Private Sub XPForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then ReleaseCapture

SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& End If End Sub

Private Sub 命令20_Click() DoCmd.Close End Sub

如何移动没有标题栏的窗口?

我们一般是用鼠标按住窗口的标题栏,然后移动窗口,当窗口没有标题栏时,我们可以用下面的方法来移动窗口:

*API函数声明:

Declare Function ReleaseCapture Lib \\Any) As Long

Public Const HTCAPTION = 2

Public Const WM_NCLBUTTONDOWN = &HA1 在 Form_MouseDown 事件中:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ReleaseCapture SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION,0& End Sub

9

ACCESS-VBA编程

日期、时间函数

如何将文本型:2003.08.04 转换为日期型:2003-08-04 cdate(replace(\显示当前日期在该年中所处的星期号 =Format(Now(), \ww 为 1 到 53。

显示日期字段值的四位年份值。 =DatePart(\订购日期])

显示日期字段值前 10 天的日期值。 =DateAdd(\应付日期]) 显示日期字段值前一个月的日期值。 =DateAdd(\

显示日期1和日期2之间相差的天数。

=DateDiff(\订购日期], [发货日期])

从今天算起到三个月后的日期之间的记录。 Betweeb date() and adddate(3,date()) 根据出生日期计算年龄(周岁)

=IIf(Month(Date())-Month([出生年月日])>-1,Year(Date())-Year([出生年月日]),Year(Date())-Year([出生年月日])-1)

自定义日期/时间格式 (Format 函数)

(:) 时间分隔符。在一些区域,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。

(/) 日期分隔符。在一些区域,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。

C 以 ddddd 来显示日期并且以 ttttt 来显示时间。如果想显示的数值无小数部分,则只显示日期部分,如果想显示的数值无整数部分,则只显示时间部分。 D

以没有前导零的数字来显示日 (1 – 31)。 Dd

以有前导零的数字来显示日 (01 – 31)。 ddd

以简写来表示日 (Sun –Sat)。 dddd

以全称来表示日 (Sunday –Saturday)。 ddddd

以完整日期表示法显示(包括年、月、日),日期的显示要依系统的短日期格式设置而定。缺省的短日期格式为 m/d/yy。 dddddd

以完整日期表示法显示日期系列数(包括年、月、日),日期的显示要依系统识别的长日期格式而定。缺省的长日期格式为 mmmm dd, yyyy。 aaaa

与dddd 一样,它只是该字符串的本地化版本。 W

将一周中的日期以数值表示(1 表星期日~ 7表星期六)。 ww

将一年中的星期以数值表示 (1 – 54)。 M

以没有前导零的数字来显示月 (1 – 12)。如果 m 是直接跟在 h 或 hh 之后,那么显示的将是分而不是月。 mm

10


Access - VBA编程(使用技巧大全)[1](2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:打坐入定的各个阶段&nbsp;

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: