以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2281)

--  作者:老有所乐
--  发布时间:2009/4/4 7:16:00
--  请教

怎样在[日期]列输入完日期后日期(如2008-01-01)后,[rq]列改为2008-01的样式,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期.table

[此贴子已经被作者于2009-4-4 7:23:02编辑过]

--  作者:程兴刚
--  发布时间:2009/4/4 8:23:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.table


--  作者:czy
--  发布时间:2009/4/4 13:39:00
--  
可能改成这样好一点,比如,粘贴剪切时不会出错。

Dim r As row = e.row
if e.col.name = "日期" and r.IsNull("日期") = false then
    r("rq") = Format(r("日期") ,"yyyy-MM")
else
    r("rq") = Nothing
end if
[此贴子已经被作者于2009-4-4 13:51:16编辑过]

--  作者:程兴刚
--  发布时间:2009/4/4 14:14:00
--  

学习!


--  作者:老有所乐
--  发布时间:2009/4/4 15:47:00
--  

谢谢两位版主!我要这个的目的是为了在状态栏按年月显示数量合计。谢谢!


--  作者:czy
--  发布时间:2009/4/4 19:27:00
--  
以下是引用老有所乐在2009-4-4 15:47:00的发言:

谢谢两位版主!我要这个的目的是为了在状态栏按年月显示数量合计。谢谢!


如果仅用于状态栏显示,这个列无需增加的,试试下面的代码放到PositionChanged事件中。
说明,如果用一楼的文件测试,请在表中增加数量列。

Dim r As Row = CurrentTable.Current
Dim Dt,StartDate,EndDate As Date
Dim Sum As Integer
Dt = r("日期")
If r.IsNull("日期") Then
    StatusBar.Message1= ""
Else
    StartDate = New Date(Dt.Year,Dt.Month,1)
    EndDate = New Date(Dt.Year,Dt.Month,Date.DaysInMonth(Dt.Year,Dt.Month))
    Sum = DataTables("表C").Compute("Sum(数量)","[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#")
    StatusBar.Message1= "本月总计数量: " & Sum
End If


--  作者:老有所乐
--  发布时间:2009/4/4 21:34:00
--  
谢C版主!我将你6楼的代码放到订单表中,结果不会按日期显示合计,而是按产品显示合计。

可以。是我错了,我在项目的事件中设置了状态栏显示代码,所以将你的代码设置在表中,就没有发挥作用。
[此贴子已经被作者于2009-4-4 21:48:48编辑过]

--  作者:老有所乐
--  发布时间:2009/4/5 8:39:00
--  
再次请教,下面这句好像不显示小数,小数自动五舍六入了,如果要显示小数,该怎样处理,谢谢!
Sum = DataTables("表C").Compute("Sum(数量)","[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#")
    StatusBar.Message1= "本月总计数量: " & Sum
[此贴子已经被作者于2009-4-5 8:40:40编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/4/5 9:57:00
--  
Dim Sum As Integer

改为:

Dim Sum As Double
--  作者:老有所乐
--  发布时间:2009/4/5 16:35:00
--  

谢谢贺老师!小数显示是解决,但是有的小数位数太多,我只想显示3位,该如何设置。