VB用ACCESS按日期查询然后显示在datagrid上面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB用ACCESS按日期查询然后显示在datagrid上面相关的知识,希望对你有一定的参考价值。

VB6用ACCCESS数据库,按日期查询字段,字段本身是日期格式的,然后显示在datagrid控件上
首先在我的窗体上有Adodc1控件,DataGrid1控件,command1按钮,DTPicker1,DTPicker2,ACCESS数据库,从表a中的b字段查询一段时间范围内的结果,而b字段是日期类型的。把查询结果显示到DataGrid1上面!

可以用Adodc控件结合Datagrid控件(至于怎样添加这两个控件你应该知道吧)
Adodc.Recordsource="select *(或者是你需要的一些字段名) from 表 where 日期字段=#" & 日期表达式 & "#"(不知道你是不是需要这样的查询,如果是一段时间范围,也可以用between……and……,但都别忘了#号)
Set Datagrid.Datasource=Adodc
Datagrid.Refresh
由于时间比较仓促,也没有做验证,大致意思是这样,具体的事件过程你再自己往里代入吧。

补充回答:
楼主正好用我上面提到的between……and……呀
Adodc.Recordsource="select * from a where b between #" & DTPicker1.value & "# and #" & DTPicker2.value & "#"
然后就和上面的一样了,当然日期控件你事先需要设置好显示方式。
参考技术A 哥们;我自己做了一个音乐播放器里面有一段代码 你看看 研究研究

不懂可以Q我 164498180

Dim adocnn As ADODB.Connection
Dim adorst As ADODB.Recordset
Dim cnnstr As String
Dim sqlstr As String
Dim mdbpath As String

Set adocnn = New ADODB.Connection
Set adorst = New ADODB.Recordset
adocnn.CursorLocation = adUseClient
mdbpath = App.Path & "\playlist.mdb"
cnnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbpath & ";Persist Security Info=False"
sqlstr = "select * from playlist where 歌曲名='" & filename & "'"
adocnn.Open cnnstr
adorst.Open sqlstr, adocnn, adOpenKeyset, adLockOptimistic
If adorst.RecordCount > 0 Then
MsgBox "歌曲已经存在!", vbExclamation, "提示"
Form2.filename.Text = ""
Exit Sub
End If
adorst.AddNew
adorst.Fields("歌曲名") = filename
adorst.Fields("歌曲存储地址") = filedir
adorst.Fields("歌曲文件格式") = filetype
adorst.Update
Form2.filename.Text = ""
adorst.Close
adocnn.Close

我不习惯用控件,喜欢用对象。

下面是我的百度空间的链接:http://hi.baidu.com/0512109051
里面有一个完整的音乐播放器的源代码, 设计时界面。里面有数据库的操作。 你可以看看。
参考技术B 引用ADO
声明RS变量(dim Rs as new adodb.recordset)

rs.open "select ... from ... where ... order by ...",sql边接字符串,1,1

set datagrid1.datasource=rs
参考技术C 多次想这个问题,大学值不值得读?可能自己的主观因素也很多,有一段时间沉溺网络,根本没

vb编写学生基本信息实现access数据库的增删改查

这个代码怎么写,真心不会,谢谢,实现增删改查,连接access数据库,谢谢,坐等。

1)首先需要用Office软件中的Access软件建立一个学生基本信息数据库。表中新建几个表,可以是学生名册表,学生各专业课程分数登录表等等。

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

3)然后在FORM1窗体中添加ADO数据控件,右键-ADODC1控件属性页-使用连接字符串,选生成,在提供者选项中选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。

ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。

4)可以将SQL查询语句赋值给ADO数据控件的RecordSource属性来达到添加、删除、修改或查询。

5)数据的输入、修改等可灵活应用文本框或数据表格控件与ADO数据控件通过代码绑定。

6)想使用ADO数据对象,也可将ADO数据控件所写的代码较方便的移植给ADO数据对象。

典型的ADO数据控件的数据连接和查询代码:

Private Sub Command4_Click()
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Program Files\\Microsoft Visual Studio\\VB98\\BIBLIO.MDB;Persist Security Info=False"
    Adodc1.RecordSource = "select * from Authors where Author=\'Jacobs_Russell\'"
    Adodc1.Refresh
    Set DataGrid1.DataSource = Adodc1
End Sub

典型的数据对象代码:

Private Sub Command11_Click()
    Dim cn As New ADODB.Connection \'定义数据库的连接
    Dim rs As New ADODB.Recordset
    Dim sql As String
    sql = "select * from guzhang_sj" \' where madanhao=\'1\'"
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\wd.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation = adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs
    rs.AddNew
    rs.Fields(0).Value = "14"
    rs.Update
End Sub
参考技术A 1、连接ACCESS
set db=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("<数据库路径及名称>")'最好放在同一路径下
db.Open "driver=Microsoft Access Driver (*.mdb);dbq=" & DBPath
set rs= Server.CreateObject("ADODB.RecordSet")
rs.open "select * from <表名>&"'",db
2、将控件和数据表绑定
3、分别在添加、删除、更新、及那几个移动数据指针的按钮上添加命令:rs.append,rs.delete rs.update,rs.bof,rs.eof,rs.movenext,rs.MovePrevious本回答被提问者采纳
参考技术B

我这里有个类似的程序,你修改一下就可以了。。   见附件。。。

追问

我看了,我用vs2010vb做的界面,打不开啊

追答

VB6.0。。。

追问

我知道了,2010打不开,需要怎么才能打开,谢谢,我是个小白

追答Dim cnn As New ADODB.Connection        
Dim rs As New ADODB.Recordset        
Dim cmd As New ADODB.Command        
Private Sub Form_Load()
  cnn.Open "Driver=Microsoft Access Driver (*.mdb);DBQ=" & App.Path & "\\db_kfgl.mdb" 
  Set cmd.ActiveConnection = cnn         
  cmd.CommandText = "select * from kf where 房间号='2301'"    
  cmd.CommandType = adCmdText        
  cmd.CommandTimeout = 15          
  Set rs = cmd.Execute           
  MsgBox rs.Fields("房间号")
End Sub

只能用VB6.0打开

 

这是查找的代码,我的附件中没有的

 直接复制为什么中文会乱码

以上是关于VB用ACCESS按日期查询然后显示在datagrid上面的主要内容,如果未能解决你的问题,请参考以下文章

vb编写学生基本信息实现access数据库的增删改查

我想用VB的文本框显示access数据库某行某列的一个数据,该怎么做?

如何从 VB.net 将日期写入 Access DB

在 Access 报告中使用查询参数

VB 如何把access中的字符串日期转换成日期格式并能计算日期

如何用C#从access中读取一个日期,然后判断这个日期是星期几?