以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]求查找公式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=829)

--  作者:barryliu
--  发布时间:2008/10/11 9:52:00
--  [求助]求查找公式
有如下一表:

日期                             ID 
2008-01-01                 1
2008-01-01                 2
2008-01-02                 1
2008-01-02                 2
2008-01-02                (查到当前日ID,最大为2,此ID则为3)
2008-10-11                (查到当前日ID集合为1,且此列数为空,此ID则为1)



DataColChanged 中不知如何设置 ID

日期列为自动录入
新增行时,则查找DATE.TODAY对应的ID列的最大数,则E.DATEROW("ID")=这个最大数+1,如集合只为1,则E.DATEROW("ID")=\'1\'


麻烦各位老师指教
--  作者:yuanbin
--  发布时间:2008/10/11 10:45:00
--  
IF e.DataCol.Name = "日期" Then 
   e.datarow("ID")=CurrentTable.Compute("max(ID)","[日期] =#" & DATE.TODAY & "#")+1
end if

--  作者:smileboy
--  发布时间:2008/10/11 11:04:00
--  
以下是引用yuanbin在2008-10-11 10:45:00的发言:
IF e.DataCol.Name = "日期" Then 
   e.datarow("ID")=CurrentTable.Compute("max(ID)","[日期] =#" & DATE.TODAY & "#")+1
end if

修改日期就不行了
IF e.DataCol.Name = "日期" Then
   e.datarow("ID")=CurrentTable.Compute("count(日期)","[日期] =#" & e.datarow("日期") & "#")
end if


--  作者:barryliu
--  发布时间:2008/10/11 11:29:00
--  
谢谢,日期是不能更改的,呵呵
--  作者:gdtgl
--  发布时间:2008/10/11 11:40:00
--  
IF e.DataCol.Name = "日期" Then
   e.datarow("ID")=CurrentTable.Compute("max(id)","[日期] =#" & e.datarow("日期") & "#") +1
end if

应是用找最大值(防止有删除,数据重复)

--  作者:barryliu
--  发布时间:2008/10/11 12:48:00
--  
以下是引用gdtgl在2008-10-11 11:40:00的发言:
IF e.DataCol.Name = "日期" Then
   e.datarow("ID")=CurrentTable.Compute("max(id)","[日期] =#" & e.datarow("日期") & "#") +1
end if

应是用找最大值(防止有删除,数据重复)



非常感谢三位!