一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码
2024-06-22 11:46:32阅读量:44 字体:大 中 小
最近在做一个基于ACCESS的检索系统,数据量不是很大,但数据检索窗体比较复杂,如下图(软件界面的文字部分做了隐藏处理),左侧是一个控件树,上方为检索的条件设置,第一个字段为检索值,第二个字段为是用户输入的检索值,第三个为检索逻辑,现把主要的技术难点记录一下:
(一)、学科树和检索条件的结合查询
ACCESS提供一个叫“Treeview”的控件,可以制作学科树,单击学科树的某个叶子节点,可以访问相应的学科数据。但用户又要求,检索后,要在不同学科下浏览检索结果,这就要求,单击学科树时,也要同时触发检索。
具体的实现方法为:
Treeview的NodeClick事件,定义一个SQL变量,用户获取子节点的信息;同时,对进行条件判断,判断用户是否输入检索条件,如用户未输入检索条件,则直接把这个SQL变量赋给查询结果窗体;如用户输入了检索条件,则把用户的输入转化为SQL语句,并用and条件和这个SQL连接,这样就实现了学科树检索和用户条件检索的结合。

一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码1
一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码2
(二)、多字段检索和全文检索
用户要求能进行全文检索,怎么做呢?可以新建一个查询,把要检索的多个字段进行连接,连接成一个长字段,用户进行全文检索时就在这个字段内检索就可以了。这种实现方法不是特别好,但我测试,在目前的数据量下不会有问题,另外,ACCESS的查询保存的是SQL语句,并不会增加数据库表的体积,数据库体积不会增大,目前测试速度没有问题。
(三)、查询结果中记录的导出
查询结果存储在一个子窗体内,用户要求把查询结果导出为EXCEL格式。把窗体导出的数据导出方法很多,在其他开发工具里很容易就实现,但在ACCESS里确有些费周折。网上查了下,主要的方法有复制的方法,用VBA代码把子窗体的光标移动到第一条记录,然后写个循环,依次选中所有的行,然后,调用excel把选中的行复制到excel里去。这种方法在数据量小的时候,一点问题没有,但超过1万条是就很慢了。
我使用的是另一种方法,使用vb里的Excel.Application,这个对象可以直接把窗体里的内容复制到一个excel里,
具体如下:
exlpath = getFilepath(, "excel(*.xls)", "保存文件为xls", , False)
If exlpath = "" Then Exit Sub
(这一段是调用一个函数,给用选择一个保存路径的选择,用户选择的路径保存在exlpath里)
(下面的代码网上有,大意是创建一个excel对象,读取表结构,把表结构拷贝至第一行,从A2单元格开始拷贝数据)
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add()
Me.xiform.Form.Recordset.MoveFirst
For i = 0 To Me.xiform.Form.Recordset.Fields.Count - 1
oBook.Worksheets(1).Cells(1, i + 1).Value = Me.xiform.Form.Recordset.Fields(i).Name
Next
oBook.Worksheets(1).Range("A2").CopyFromRecordset Me.xiform.Form.Recordset
oBook.SaveAs ("" & exlpath & "")
MsgBox "导出成功"
errexit:
oBook.Close False
oExcel.Quit
Set oBook = Nothing
Set oExcel = Nothing
Exit Sub
errit:
MsgBox "错误号为" & Err.Number & " 错误说明:" & Err.Description
End If
Resume errexit
仔细看了Excel.Application这个对象,好像和dde有点像,可以对导出的excel格式进行一些更为精确的实质。但实现起来真的有点麻烦。
(四)调用帮助文件:
做好的帮助文件为chm格式,要在菜单或其他地方调用这个帮助文件。首先在模块里做一个函数:
Public Function help()
ShellExecute 0, "Open", "" & Application.CurrentProject.Path & "helphelp.chm", "", "", SW_SHOW
End Function
在菜单或按钮上调用就可以。
以上就是一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码的全部内容,望能这篇一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码可以帮助您解决问题,能够解决大家的实际问题是谜爱阁生活网一直努力的方向和目标。
免责声明:
本文《一个基于ACCESS的复杂检索系统的功能实现图解教程及关键代码》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

qq进群特效怎么关闭
想要关闭qq进群特效,可以在qq群的进群特效相关功能进行关闭,开通超级会员才能享受进群特效,通过以下步骤关闭qq进群特效: qq进群特效怎么关闭 1、打开qq,点击qq群”进入qq群聊天页...
阅读: 811

地摊怎么申请微信商家码
地摊想要申请微信商家收款二维码,可以从微信收款小账本进行相关设置即可申请微信商家收款二维码,通过以下步骤可以申请微信商家收款二维码: 地摊怎么申请微信商家码 1、打开微信,切换到发现页面,点击小程序&...
阅读: 907

微信拉黑和删除
微信加入黑名单后给对方发消息,对方可以看到但不能回复,微信删除后双方都不能发消息,微信拉黑和删除具体步骤如下: 微信拉黑和删除 1、打开微信,切换到通讯录页面,点击联系人”进入联系人名片...
阅读: 846

qq音乐删除访问记录别人能看见吗
qq音乐删除了访问记录别人是不能看到的,可以在访客功能中删除访问记录,通过以下步骤删除qq音乐访问记录: qq音乐删除访问记录别人能看见吗 1、打开qq音乐,切换到个人中心,点击头像”进入...
阅读: 803

新加好友怎么才能分享屏幕
qq聊天中自带有分享屏幕的功能,只要加了好友,直接点击分享屏幕就可以将屏幕分享给对方。具体操作方法如下: 新加好友怎么才能分享屏幕 1.在qq中找到要分享屏幕的好友,点击进入对话界面。 2.点击对话...
阅读: 886

手机锁屏微信语音视频没有提示声音
手机锁屏微信语音视频没有提示声音可能是关闭了,接收语音和视频通话邀请提醒,如果关闭了就不会有提醒,可以通过设置重新开启这个功能,具体操作步骤如下: 手机锁屏微信语音视频没有提示声音 1、打开微信app...
阅读: 895
热门文章
1.美团外卖代金券卡密怎么兑换
- 1

- 美团外卖代金券卡密怎么兑换
- 2022-12-28
- 1
2.淘宝超过七天退货技巧
- 2

- 淘宝超过七天退货技巧
- 2022-12-28
- 2
3.可话怎么看别人动态
- 3

- 可话怎么看别人动态
- 2022-12-28
- 3
4.快手上的流动文字怎么弄
- 4

- 快手上的流动文字怎么弄
- 2022-12-28
- 4
5.英语趣配音怎么导出视频
- 5

- 英语趣配音怎么导出视频
- 2022-12-28
- 5
6.上传群相册怎么不在群里显示
- 6

- 上传群相册怎么不在群里显示
- 2022-12-28
- 6
7.电子稿怎么弄
- 7

- 电子稿怎么弄
- 2022-12-28
- 7
8.在喜马拉雅上怎么接配音任务
- 8

- 在喜马拉雅上怎么接配音任务
- 2022-12-28
- 8
9.微信删除好友频繁了怎么继续删除
- 9

- 微信删除好友频繁了怎么继续删除
- 2022-12-28
- 9
10.朋友圈动图怎么不动
- 10

- 朋友圈动图怎么不动
- 2022-12-28
- 10
最近更新

酷狗音乐中使用蝰蛇音效制作工具的具体操作方法
2024-11-11

win7电脑中出现声音图标不见了的具体解决方法
2024-11-11

车到哪app的详细软件介绍
2024-11-11

小米9se中查看序列号的具体操作方法
2024-11-11

迅雷中使用FTP探测器的详细操作方法
2024-11-11

ppt制作出小荷才露尖尖角动画场景的具体操作步骤
2024-11-11
