标题:[求助]VFP中的日期查询应该怎么写
只看楼主
wuming1014
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-6
 问题点数:0 回复次数:9 
[求助]VFP中的日期查询应该怎么写

在窗体中的两个TEXT控件中分别输入开始日期与结束日期来对数据库进行日期查询.可我试了多种方法都不行,提示语法错误,语句为红色部分.但是这种方法在ACCESS中能够查询.请各位大虾帮忙了
Public cnn As New ADODB.Connection
Public rs As ADODB.Recordset
Public cnstr As String
cnstr = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" & App.Path & ";SourceType=DBF;"
Set rs = New ADODB.Recordset
cnn.Open cnstr
rs.CursorLocation = adUseClient
rs.Open "select 文件名 from 表1 where 日期 between # " & Trim(Text3.Text) & " # and # " & Trim(Text3.Text) & " # ", cnn, 3, 3
Set DataGrid1.DataSource = rs
DataGrid1.SetFocus
End Sub

搜索更多相关主题的帖子: VFP Microsoft 数据库 cnn Public 
2006-11-09 17:51
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
得分:0 
rs.Open "select 文件名 from 表1 where 日期 between # " & Trim(Text3.Text) & " # and # " & Trim(Text3.Text) & " # ", cnn, 3, 3
RS.RECORDSOURCE = "select 文件名 from 表1 where 日期 between # " & Trim(Text3.Text) & " # and # " & Trim(Text3.Text) & " # ", cnn, 3, 3

[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-11-09 18:57
wuming1014
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-6
得分:0 

不是吧,RS是定义为RECORDSET,怎么会为RS.RECORDSOURCE?


2006-11-09 19:41
ruhong1
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-11-9
得分:0 

vfp 中支持 sql 语句支持到哪个份上,是不容易搞懂的,我曾经在VB中查询过vfp的数据库,你看看有没有帮助:
select * from abc where date>=ctod('" & format(var,"mm/dd/yy") &"')"

你可以用 date<=ctod(xxx) and date>= ctod(xxx) 来作日期的间距查询好了,vfp用得不多,我也没有深究。

这里要说明的是,你通过vfp的数据引擎调用vfp数据库,那么你在他的sql 语句中要注意的是要符合vfp 的语法习惯。
比如在vb中的cdate函数,在vfp中就是ctod,还有他的日期格式是mm/dd/yy,反正问题是较多。

微软对vfp的支持好象不多。

2006-11-09 21:15
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
得分:0 

何必那么麻烦?
With ado1
ado1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xq.mdb;Persist Security Info=False"
ado1.RecordSource = "select 文件名 from 表1 where 日期 between # " & Trim(Text3.Text) & " # and # " & Trim(Text3.Text) & " # ", cnn, 3, 3
ado1.Refresh
Data1.Refresh
End With


[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-11-10 08:19
wuming1014
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-6
得分:0 

我跟4楼的很有同感.总感觉对操作ACCESS数据库比VFP要好很多,谢谢你
还有版主,你那个语句运行后出现语法错误


2006-11-10 12:29
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
对VFP不熟..

我的msn: myfend@
2006-11-10 13:35
lyyjh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-8-21
得分:0 
其实,vfp很简单啦. 其他的都不用了.
select * from 表1 WHERE 表1.日期 BETWEEN thisform.text1.value AND thisform.text2.value
2006-11-23 15:34
wuming1014
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-6
得分:0 
你说的方法调不出来,如果你有源码的话贴上来看看.谢谢

2006-11-23 20:25
wuming1014
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-6
得分:0 
4楼朋友的方法是对的.在此表示感谢!!!!

2006-11-23 20:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-101828-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068006 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved