顺便提一下,这段是多余的:Private Sub Form_Load() dd.Value = DateAdd("d", 0, Now) End Sub
你在commands(1)、commands(4)的SQL文本里写上SQL的参数形式的语句。参考我上面写的。调用例:dataenvironment1.command1 dtpicker.value set datareport1.datasource=dataaenvironment1.rscommand1
确定吗 为什么我这里总是出错呢 DataEnvironment1.Commands(4) dd.Value Set DataReport4.DataSource = DataEnvironment1.rsCommand1
我建立了一个类似的环境进行测试,没有发现问题。你的日期字段是用的什么类型?试改用datetime或smalldatetime,SQL语句相应地去掉转换部分:SQL = "SHAPE {select * from dd where ccrq=? group by yxy} AS Command4 COMPUTE Command4 BY 'bz'"
date()
注:
我是在数据环境中的command的属性中写的这句话
convert(varchar(10),getdate(),120)
果然可以
我一定给你分
我想再问一下
如果吧getdate() 变成dd.value怎么改
dd 是dtpicker
例:
rs.open "insert into tablename set datefieldname=convert(varchar(10), '" & dtpicker1.value & "', 120) where ..."
"
写错了。应该写cn.execute "..."
字符串转化为datetime 出错
注
我实在数据环境中的commmand的属性中写的
我给你的是写在代码中的形式。如果是command中设计环境下写的SQL文本,要用参数的形式。select * from dd where ccrq=convert(varchar(10),?,120)
发现没什么反映
也不是从dd.value所选择的日期
说的是调用datareport的语句吗?
Dim strq
Dim cc As DateIf Text1.Text = "" ThenSQL = "SHAPE {select * from dd where ccrq='" & dd.Value & "'group by yxy} AS Command4 COMPUTE Command4 BY 'bz'"
DataEnvironment1.Commands(4).CommandText = SQL
DataReport4.Title = strq
DataReport4.Show 1
Unload DataEnvironment1ElseSQL = "SELECT * FROM dd WHERE yxy='" & Text1.Text & "'and ccrq='" & dd.Value & "'"
DataEnvironment1.Commands(1).CommandText = SQL
DataReport1.Title = strq
DataReport1.Show 1
Unload DataEnvironment1
End IfEnd SubPrivate Sub Form_Load()
dd.Value = DateAdd("d", 0, Now)
End Sub
调用该command的相关语句。因为是运行时才能确定日期的值,所以,你得写代码调用才行。不能简单地在设计环境下赋报表的数据源就完事了。 建议先看看有关调用带参数的command的联机帮助。
ccrq是什么字段类型?
dd.Value = DateAdd("d", 0, Now)
End Sub
你在commands(1)、commands(4)的SQL文本里写上SQL的参数形式的语句。参考我上面写的。调用例:dataenvironment1.command1 dtpicker.value
set datareport1.datasource=dataaenvironment1.rscommand1
为什么我这里总是出错呢 DataEnvironment1.Commands(4) dd.Value
Set DataReport4.DataSource = DataEnvironment1.rsCommand1
我建立了一个类似的环境进行测试,没有发现问题。你的日期字段是用的什么类型?试改用datetime或smalldatetime,SQL语句相应地去掉转换部分:SQL = "SHAPE {select * from dd where ccrq=? group by yxy} AS Command4 COMPUTE Command4 BY 'bz'"
谢谢了
我用dd.value取代你的?
SQL文本里写上SQL的参数形式的语句
结果还是按照文本上的选择
select * from dd
dd是订单表
dd.value是个dtpicker