VB如何筛选数据库内容

VB如何筛选数据库内容,第1张

具体做法:

新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件

然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中选MICROSOFT jet 40 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。

SQL查询语言主要结构为:

Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]

查询字段必须分别用(西文)逗号分开或就用一个号代替,上述查询中排序语句建议最好应用。

SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。

代码如下,请按你实际要求修改,

Private Sub Form_Load()

Text1 = ""

With Adodc1

Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=E:\db1mdb;Persist Security Info=False"

Adodc1RecordSource = "select name from b1 order by name"

Adodc1Refresh

DataGrid1Refresh

End With

End Sub

Private Sub Text1_Change()

Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=E:\db1mdb;Persist Security Info=False"

Adodc1RecordSource = "select name from b1 where name >='" & Text1 & "' order by name"

Adodc1Refresh'对查询更新

DataGrid1Refresh

End Sub

补充代码如下,Tabel1是你需查询的数据表:

Private Sub Command1_Click()

Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=E:\db1mdb;Persist Security Info=False"

Adodc1RecordSource = "select from Tabel1 where 部门 ='" & "车间" & "'"

Adodc1Refresh'对查询更新

DataGrid1Refresh

End Sub

例如:表a中的datetime字段都是‘2013-05-11

13:10:00‘这种格式的,筛选其中8:00到10:00之间的。

select

from

表awhere

substring(convert(varchar,字段名,120),12,8)

between

'08:00:00'

and

'10:00:00'

怎么利用SQL语句查询数据库中具体某个字段的重复行?

可用group

by……having来实现。

可做如下测试:

1、创建表插入数据:

create

table

test

(id

int,name

varchar(10))

insert

into

test

values

(1,'张三')

insert

into

test

values

(2,'李四')

insert

into

test

values

(3,'张三')

insert

into

test

values

(4,'王五')

用查询的设计视图还是要输入代码的。

不好意思,没有认真理解你的题意,今天认真看了,其实就是时间段的查询

WHERE (((表1[日期]) Between #6/1/2015 6:3:0# And #6/11/2015 16:3:0#));

between  ##   and  ##

## 中间是日期时间

下面给你一些截图看看。

设计视图

SQL视图

因为数据量实在是太大,如果用ACCESS数据库自带表筛选功能,

对于超过100万条字的记录表来说其筛选算法导致的系统开销实在是太大了!不是一般电脑能够负担的。

如果你要将“字段13”直接转换为数字类型,同样的道理,其产生的系统开销也不是一般电脑所能承受的!

那么如果你要查出文本类型“字段13”200以上的数据,可以使用Val函数编写一个选择查询,取名“查询2“,

具体代码如下:

SELECT [自贡---1212697]

FROM [自贡---1212697]

WHERE (((Val([字段13]))>=200))

ORDER BY Val([字段13]);

然后运行(双击)上述查询,你就可以非常轻松地得到你要的结果(这里使用了排序,如果不排序速度更快),

耗时几十秒左右即可输出你要的结果。

至于如何将字段13、14、15转换成数字类型,可以将下列SQL代码保存为一个生成表查询,取名“转换为新表”

SELECT 字段1, 字段2, 字段4, 字段5, 字段6, 字段7, 字段8, 字段9, 字段10, 字段11, 字段12,

Val(字段13) AS 数字字段13, Val(字段14) AS 数字字段14, Val(字段15) AS 数字字段15 INTO NewTable

FROM [自贡---1212697];

双击查询“转换为新表”,大约耗时一分钟即可完成转换,生成的新表原来字段13、14、15就变成数字字段了。

以上就是关于VB如何筛选数据库内容全部的内容,包括:VB如何筛选数据库内容、SQL数据库语句筛选某一段时间内某一表某一列相同数据、请问如何在ACCESS数据库的查询中设定时间筛选的条件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/9434790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存