永发信息网

VB中,建了个ACCESS数据库,里面有6张表,现在我想把这6张表合并显示在控件MSHFlexGrid1,而且可以查询

答案:2  悬赏:20  手机版
解决时间 2021-03-15 08:50
  • 提问者网友:动次大次蹦擦擦
  • 2021-03-14 10:29
合并显示在控件MSHFlexGrid1,我做到了,但是查询做不到,我在数据库里新建了一张“汇总表”,查询语句是Adodc1.RecordSource = "select * from 汇总表 where 文件号='" & Val(Text6.Text) & "'" 原因我也知道,合并显示的数据没有写入这个表。
现在两个问题:
1,是合并显示,直接查询好呢,还是合并然后写入新表,然后查询好,写入操作很费内存么?
2,合并写入怎么写代码,要详细的,合并显示,直接查询,怎么写代码?
求大神指点
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-03-14 12:06
合并后再查询就行了。合并简单 就用个UNIOn函数
(select * from 表1) Union (select * from 表2) Union .........
这才叫合并。要匹配字段那不叫合并,是叫匹配查询。用LEFT JION是把语句左边的表去匹配右边名称的表,RIGHT JION 相反,INNER JOIN是完全匹配,你是要做联合还是匹配呢。
在一个数据库范围内都可以进行N个表的操作。在N个数据库操作N个表就要先在SQL上建立好查询表,或者用VS部署好再操作。VB用数据环境可以实现,写入新表再操作办法不是很好,相当耗内存。
全部回答
  • 1楼网友:往事隔山水
  • 2021-03-14 12:23
用ado控件做个示范吧。在工程引用中找到microsoft ado data control 6.0。mshflexgrid这个控件要去下载,原装vb6.0没有,他有一个是过时的msflexgrid很老的技术,我建议你用datagrid都比msflexgrid好一点,要么就下载一个vsflexgrid8.0注册一下,他支持鼠标滚轮也很美观。 言归正传,直接拖放ado控件和表格控件到窗体上,表格控件的datasource属性(要支持ado的控件才有)设置成adodc1(ado默认名称),再拖放一个按钮command1举例,在按钮单击事件中写代码:(有一件事很重要,把vb工程保存到一个新建的文件夹里,把access数据库也放在里面,作为相对路径文件,就可以随便移动安装了) private sub 按钮名称_click() dim i as string '------------定义变量来存动态数据,节约内存 i = app.path & "\项目申报.mdb" '----------读取access文件的相对路径 adodc1.connectionstring="provider=microsoft.jet.oledb.4.0;data source = " & i '------------拼接字符串,给连接字符串赋值 adodc1.recordsource="select * from 农业局申报 where 文件号='"+控件名称+"'" '-------------创建数据源,查询记录集合 adodc1.refresh '-------------激活 end sub 这样就算是连接数据库,当然你的文件号查询可以做成下拉列表或者显示在有个表单里,点击连接查询,不一定要你去输入,这是做个简单的举例,希望对你有用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯