ACCESS-VBA编程
st1 = tMoney End If
s2 = \
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) s2 = CCh(Val(t1)) + s2 End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) If t1 <> \
s2 = CCh(Val(t1)) + \拾\ Else
If Left(s2, 1) <> \零\零\ End If End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) If t1 <> \
s2 = CCh(Val(t1)) + \佰\ Else
If Left(s2, 1) <> \零\零\ End If End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) If t1 <> \
s2 = CCh(Val(t1)) + \仟\ Else
If Left(s2, 1) <> \零\零\ End If End If
s3 = \
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) s3 = CCh(Val(t1)) + s3 End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
41
ACCESS-VBA编程
If t1 <> \
s3 = CCh(Val(t1)) + \拾\ Else
If Left(s3, 1) <> \零\零\ End If End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) If t1 <> \
s3 = CCh(Val(t1)) + \佰\ Else
If Left(s3, 1) <> \零\零\ End If End If
If st1 <> \ t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1) If t1 <> \
s3 = CCh(Val(t1)) + \仟\ End If End If
If Right(s2, 1) = \零\If Len(s3) > 0 Then
If Right(s3, 1) = \零\ s3 = s3 & \万\End If
chMoney = IIf(s3 & s2 = \元\
End Function
ACCESS查询 分段统计人数
这样一个表 tblScore:
班级 姓名 总分 语文 数学 1班 a 601 108 120 2班 b 589 112 133 3班 C 551 98 145 2班 D 502 80 124 1班 E 508 90 85 3班 F 561 97 135
TRANSFORM Count(tblScore.总分) AS 总分OfCount SELECT tblScore.班级 FROM tblScore
GROUP BY tblScore.班级
PIVOT Switch([总分]>=600,\总分]>=550 And [总分]<600,\总分]>=500 And [总分]<550,\
42
ACCESS-VBA编程
可得到第一個查詢
班级 总分600分以上人数 总分550-600人数 总分550以下人数 1班 1 0 1 2班 0 1 1 3班 0 2 0
本示例假设您有一个“Orders”表,且里头含有一个“Freight”字段。程序建立一个“选择”来计算运费落在某些范围内的订单数量。Partition 函数是用来确定这些范围,然后调用 SQL Count 函数来计算在每个范围内的订单数量。本示例中,Partition 函数的参数值为 start = 0,stop = 500,interval = 50。第一个范围会是 0:49,每隔 50 一个范围,依次而下直到运费为 500 为止。 SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range, Count(Orders.Freight) AS Count FROM Orders
GROUP BY Partition([freight],0,500,50);
用代码在ACCESS中生成永久查询 来源:竹笛整理的技巧集 dim strSQL as string dim qdf as QueryDef
strSQL = \为表
Set qdf = CurrentDb.CreateQueryDef(\创建的查询\DoCmd.OpenQuery qdf.Name 屏蔽操作查询提示
DoCmd.SetWarnings False 用代码删除一个已存在的查询 来源:爱赛思应用俱乐部 wxjgw Dim Query1 As QueryDef
CurrentDb.QueryDefs.Refresh For Each Query1 In CurrentDb.QueryDefs
If Query1.Name = \想要删除的查询名称\ CurrentDb.QueryDefs.Delete Query1.Name Exit For End If
Next Query1
使用ADO和SQL语句建立一个新查询 来源:ACCESS中国 huanghai Dim cat As New ADOX.Catalog Dim cmd As New ADODB.Command
Set cat.ActiveConnection = CurrentProject.Connection cmd.CommandText = \表1\cat.Views.Append \
以窗体的文体框为条件进行模糊查询时查询的设计视图中准则:
Like IIf(IsNull([Forms]![存书查询窗体]![作者]),'*','*' & [Forms]![存书查询窗体]![作者] & '*')
用VBA代码生成一个条件组合的字符串作为子窗体的窗体筛选的条件来实现窗体的多条件查询。
Option Compare Database
'==================================
43
ACCESS-VBA编程
'刘小军(ALEX),2003-5-22 '
'由浅入深的介绍几种最常用的利用主/子窗体来实现查询的方法, '使初学者和有一定VBA基础的人可以更好的使用窗体查询这种手段。 '
'本例程是讲解用VBA代码生成一个条件组合的字符串作为子窗体的 '窗体筛选的条件来实现窗体的多条件查询。 '
'欢迎访问 ACCESS编程应用网 www.accxp.com
'==================================
Private Sub cmd查询_Click() On Error GoTo Err_cmd查询_Click
Dim strWhere As String '定义条件字符串
strWhere = \设定初始值-空字符串
'判断【书名】条件是否有输入的值 If Not IsNull(Me.书名) Then '有输入
strWhere = strWhere & \书名] like '*\书名 & \ End If
'判断【类别】条件是否有输入的值 If Not IsNull(Me.类别) Then '有输入
strWhere = strWhere & \类别] like '\类别 & \ End If
'判断【作者】条件是否有输入的值 If Not IsNull(Me.作者) Then '有输入
strWhere = strWhere & \作者] like '*\作者 & \ End If
'判断【出版社】条件是否有输入的值 If Not IsNull(Me.出版社) Then '有输入
strWhere = strWhere & \出版社] like '\出版社 & \ End If
'判断【单价】条件是否有输入的值,由于有【单价开始】【单价截止】两个文本框 '所以要分开来考虑
If Not IsNull(Me.单价开始) Then '【单价开始】有输入
strWhere = strWhere & \单价] >= \单价开始 & \ End If
If Not IsNull(Me.单价截止) Then '【单价截止】有输入
strWhere = strWhere & \单价] <= \单价截止 & \
44
ACCESS-VBA编程
End If
'判断【进书日期】条件是否有输入的值,由于有【进书日期开始】【进书日期截止】两个文本框 '所以要分开来考虑
If Not IsNull(Me.进书日期开始) Then '【进书日期开始】有输入
strWhere = strWhere & \进书日期] >= #\进书日期开始, \\
End If
If Not IsNull(Me.进书日期截止) Then '【进书日期截止】有输入
strWhere = strWhere & \进书日期] <= #\进书日期截止, \\
End If
'如果输入了条件,那么strWhere的最后肯定有\,这是我们不需要的, '要用LEFT函数截掉这5个字符。 If Len(strWhere) > 0 Then '有输入条件
strWhere = Left(strWhere, Len(strWhere) - 5) End If
'先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句 Debug.Print strWhere
'让子窗体应用窗体查询
Me.存书查询子窗体.Form.Filter = strWhere Me.存书查询子窗体.Form.FilterOn = True
'在子窗体筛选后要运行一下自编子程序CheckSubformCount() Call CheckSubformCount
Exit_cmd查询_Click: Exit Sub
Err_cmd查询_Click:
MsgBox Err.Description Resume Exit_cmd查询_Click End Sub
Private Sub cmd导出_Click() On Error GoTo Err_cmd导出_Click '刘小军(Alex) 2003-5-22
'这里将使用DAO来改变查询的SQL语句,必须先在“工具”→“引用”中选择 'Microsoft DAO 3.6 Object Library.
'================================
45
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Access - VBA编程(使用技巧大全)[1](10)在线全文阅读。
相关推荐: