|
发表于 5-7-2004 11:33 AM
|
显示全部楼层
可以,design report是使用Group Band。
Group Customer先,然后才Group Item。 |
|
|
|
|
|
|
|
发表于 8-7-2004 09:32 PM
|
显示全部楼层
在其中一个 REPORT 里,是 GROUP DATE, GROUP ITEMS, GROUP CUSTOMER。
1。为何当我 PREVIEW 时,它会显示全部的 DATABASE 的 RECORD 而不是我所 SEARCH 的 RECORD?应该要如何或用什么 COMMAND 才能让它显示我所 SEARCH 的 RECORD?
2。是不是一定要 DELETE REPORT 里 DATA ENVIRONMENT 的 DATA?
当我 DELETE REPORT 里 DATA ENVIRONMENT 的 DATA 后,就可以只显示我所 SEARCH 的 RECORD?但为何显示出来的 RECORD 只是 GROUP by DATE 而已?ITEMS 和 CUSTOMER 都不会 GROUP 在一起? |
|
|
|
|
|
|
|
发表于 9-7-2004 10:50 AM
|
显示全部楼层
EXAMPLE:
我是问为何删除数据环境中的数据表后,它显示成:
01/01/04
ITEMS 1
CUSTOMER A
INVOICE 001
ITEMS 3
CUSTOMER A
INVOICE 001
ITEMS 1
CUSTOMER B
INVOICE 002
ITEMS 3
CUSTOMER B
INVOICE 002
但在还没有除数据环境中的数据表前,它可显示成:
01/01/04
ITEMS 1
CUSTOMER A
INVOICE 001
CUSTOMER B
INVOICE 002
ITEMS 2
CUSTOMER A
INVOICE 001
CUSTOMER B
INVOICE 002
而我要的是第二种,请问应该怎样写?
我的是 GROUP DATE, GROUP ITEMS, GROUP CUSTOMER。 |
|
|
|
|
|
|
|
发表于 15-7-2004 09:51 AM
|
显示全部楼层
在一个 FORM 里有 TIEM IN 和 TIME OUT,请问要如何写才能算出总共用了多少时间? |
|
|
|
|
|
|
|
发表于 15-7-2004 11:21 AM
|
显示全部楼层
tstan135 于 15-7-2004 09:51 AM 说 :
在一个 FORM 里有 TIEM IN 和 TIME OUT,请问要如何写才能算出总共用了多少时间?
Example:
a = in_time
b = out_time
? out_time - in_time
如果 A 和 B 是 CHRACTER,
? ctot(out_time) - ctot(in_time)
它所算出的時間是秒,如果要轉換去 hh:mm:ss, 那麼可要再加點程式. |
|
|
|
|
|
|
|
发表于 15-7-2004 12:06 PM
|
显示全部楼层
itgenius 于 15-7-2004 11:21 AM 说 :
Example:
a = in_time
b = out_time
? out_time - in_time
如果 A 和 B 是 CHRACTER,
? ctot(out_time) - ctot(in_time)
它所算出的時間是秒,如果要轉換去 hh:mm:ss, 那麼可要再加點程式.
1.请问转换去 hh:mm:ss 应该如何写?
2.假设 TIME OUT 是第二天的时间又应该如何写?
3.假设 TIME IN 和 TIME OUT 的 TYPE 是 DATETIME 又应该如何写?
请写它的指令给我,谢谢! |
|
|
|
|
|
|
|
发表于 15-7-2004 02:45 PM
|
显示全部楼层
tstan135 于 9-7-2004 10:50 AM 说 :
EXAMPLE:
我是问为何删除数据环境中的数据表后,它显示成:
01/01/04
ITEMS 1
CUSTOMER A
INVOICE 001
ITEMS 3
CUSTOMER A
INVOICE 001
ITEMS ...
先index on dtos(date)+item+customer to ...
再去,modify report,用Report菜单,Data Grouping项目。
弄3个Group,即Date,Item,Customer(一定要跟次序)
Group Header不要放东西,在Detail band里放这些field...
[Date][Item][Customer][Invoice] |
|
|
|
|
|
|
|
发表于 15-7-2004 03:01 PM
|
显示全部楼层
tstan135 于 15-7-2004 12:06 PM 说 :
1.请问转换去 hh:mm:ss 应该如何写?
2.假设 TIME OUT 是第二天的时间又应该如何写?
3.假设 TIME IN 和 TIME OUT 的 TYPE 是 DATETIME 又应该如何写?
请写它的指令给我,谢谢!
*
CLEAR
D_IN = CTOT('01/01/2004 10:05:20 AM')
D_OUT = CTOT('03/01/2004 09:05:20 PM')
*
IF D_OUT < D_IN && CHECKING DATED
? 'DATE NOT VALID'
RETURN
ENDIF
*
TSECOND = D_OUT - D_IN
DD = INT(TSECOND / 86400)
TSECOND = TSECOND - (DD*86400)
HH = INT(TSECOND / 3600)
TSECOND = TSECOND - (HH*3600)
MM = INT(TSECOND / 60)
TSECOND = TSECOND - (MM*60)
SS = INT(TSECOND)
*
? ' DAYS :' + ALLTRIM(STR(DD))
? ' HOURS :' + ALLTRIM(STR(HH))
? ' MINUTE :' + ALLTRIM(STR(MM))
? ' SECOND :' + ALLTRIM(STR(SS))
RETURN
這是小弟所寫的, 請多多指教!!!
[ Last edited by itgenius on 16-7-2004 at 11:22 AM ] |
|
|
|
|
|
|
|
发表于 15-7-2004 03:21 PM
|
显示全部楼层
tstan135 于 15-7-2004 09:51 AM 说 :
在一个 FORM 里有 TIEM IN 和 TIME OUT,请问要如何写才能算出总共用了多少时间?
这是我在4年前Hotel Mgt Sys里的程序。
create 5个控件:
txtCheckIn, cmdCheckIn
txtCheckOut, cmdCheckOut
txtDiff
txtCheckIn.ControlSource = CheckIn && 资料栏
txtCheckOut.ControlSource = CheckOut
在cmdCheckIn.Click编程
Replace CheckIn With DateTime()
Thisform.txtCheckIn.Refresh
在cmdCheckOut.Click编程
Replace CheckOut With DateTime()
Thisform.txtCheckOut.Refresh
Thisform.txtDiff.Value = CheckOut - CheckIn && 秒数
1. 使用60进制,自己想下!
2. 参考上面。
3. 系统自动的。
4. 指令只是上面5行。 |
|
|
|
|
|
|
|
发表于 16-7-2004 08:40 AM
|
显示全部楼层
有誰原意把 SOURCE CODE 放上來分享分享!!!或者有什麼好用的 FUNCTIONS.謝謝!!! |
|
|
|
|
|
|
|
发表于 16-7-2004 09:59 AM
|
显示全部楼层
itgenius∶
你的编码计算小时错误,超过24小时没进位去多一日。
以下编码指正。
dIn = {^2004/01/01 8:25:20 A}
dOut = {^2004/01/02 04:49:21 P}
nD = Ttod(dOut) - Ttod(dIn)
tS = dOut - dIn && Total Second
tS = tS - (nD * 86400)
nH = Int(tS / 3600)
tS = tS - (nH * 3600)
nM = Int(tS / 60)
nS = tS % 60
? datetime(2001,1,nD,nH,nM,nS) |
|
|
|
|
|
|
|
发表于 16-7-2004 05:33 PM
|
显示全部楼层
在一个REPORT里有很多种ITEM,而每一种ITEM的QTY多不同。要如何才能在REPORT(纸)的最下方算出每一种ITEM的QTY的总数?它的EXPRESSION要如何写? |
|
|
|
|
|
|
|
发表于 17-7-2004 09:11 AM
|
显示全部楼层
在一个FORM里有ADD和EDIT的BUTTON,当我按ADD时,ADD就会变成SAVE和EDIT就会变成REVERT。当我按SAVE时,它就会储存资料而SAVE就会变回ADD和REVERT就会变回EDIT;按REVERT时,它就不会储存资料,同样的SAVE就会变回ADD和REVERT就会变回EDIT。请问它的COMMAND应该如何写? |
|
|
|
|
|
|
|
发表于 17-7-2004 04:16 PM
|
显示全部楼层
计算错误。
假设 TIME IN 是 17/07/2004 08:00:00 AM
TIME OUT 是 17/07/2004 08:20:00 PM
itgenius 于 15-7-2004 03:01 PM 说 :
*
CLEAR
D_IN = CTOT('01/01/2004 10:05:20 AM')
D_OUT = CTOT('03/01/2004 09:05:20 PM')
*
IF D_OUT < D_IN && CHECKING DATED
? 'DATE NOT VALID'
RETURN
ENDIF
*
TSECOND = D_OU ...
itgenius的显示出来的是 12H 19M 59S
白日梦 于 16-7-2004 09:59 AM 说 :
itgenius∶
你的编码计算小时错误,超过24小时没进位去多一日。
以下编码指正。
dIn = {^2004/01/01 8:25:20 A}
dOut = {^2004/01/02 04:49:21 P}
nD = Ttod(dOut) - Ttod(dIn)
tS ...
白日梦的显示出来的是 12H 19M 60S |
|
|
|
|
|
|
|
发表于 17-7-2004 11:45 PM
|
显示全部楼层
tstan135 于 16-7-2004 05:33 PM 说 :
在一个REPORT里有很多种ITEM,而每一种ITEM的QTY多不同。要如何才能在REPORT(纸)的最下方算出每一种ITEM的QTY的总数?它的EXPRESSION要如何写?
只要在CALCULATION里面的SUM点一点就行了!!! |
|
|
|
|
|
|
|
发表于 19-7-2004 10:52 AM
|
显示全部楼层
tstan135 于 16-7-2004 05:33 PM 说 :
在一个REPORT里有很多种ITEM,而每一种ITEM的QTY多不同。要如何才能在REPORT(纸)的最下方算出每一种ITEM的QTY的总数?它的EXPRESSION要如何写?
不用写的,把Qty sum起来放在Group Footer。
tstan135 于 17-7-2004 09:11 AM 说 :
在一个FORM里有ADD和EDIT的BUTTON,当我按ADD时,ADD就会变成SAVE和EDIT就会变成REVERT。当我按SAVE时,它就会储存资料而SAVE就会变回ADD和REVERT就会变回EDIT;按REVERT时,它就不会储存资料,同样的SAVE就会变回 ...
有时你也得自己想一想,不要一直靠别人。
答案是用if ...和this.caption=。
tstan135 于 17-7-2004 04:16 PM 说 :
计算错误。
假设 TIME IN 是 17/07/2004 08:00:00 AM
TIME OUT 是 17/07/2004 08:20:00 PM
白日梦的显示出来的是 12H 19M 60S
错误在于你的debuging skill不强。
一位美国电脑界前辈的话∶一位高级程序员同时也是除错高手。
把dIn = {^2004/07/17 8:00:00 A}
dOut = {^2004/07/17 8:20:00 P}
<运算照回我回复的帖>
? datetime(2000,1,1,nH,nM,nS)
[ Last edited by 白日梦 on 19-7-2004 at 11:04 AM ] |
|
|
|
|
|
|
|
发表于 19-7-2004 11:46 AM
|
显示全部楼层
白日梦 于 19-7-2004 10:52 AM 说 :
OOP不用写的,把Qty sum起来放在Group Footer。
因为我是想计算各自不同ITEM的总数,所以不能用 QTY SUM来做。
我想应该用SQL来写。好像:SUM QTY TO nTotal FOR items = "HDD"。
白日梦 于 19-7-2004 10:52 AM 说 :
有时你也得自己想一想,不要一直靠别人。
答案是用if ...和this.caption=。
我也知道是用IF...this.caption=...
我只是想不到REVERT应该如何写。
白日梦 于 19-7-2004 10:52 AM 说 :
<运算照回我回复的帖>
nD = Ttod(thisform.time_out1.Value) - Ttod(thisform.time_in1.Value)
tS = thisform.time_out1.Value - thisform.time_in1.Value
tS = tS - (nD * 86400)
nH = Int(tS / 3600)
tS = tS - (nH * 3600)
nM = Int(tS / 60)
nS = tS % 60
?nd
?nh
?nm
?ns
不知这样对不对?
有些时间它就计算正确,但有些时间它就计算错误。就好像:
假设 TIME IN 是 17/07/2004 08:00:00 AM
TIME OUT 是 17/07/2004 08:20:00 PM
但显示出来的是 12H 19M 60S
答案应该是12H 20M 00S 才对。 |
|
|
|
|
|
|
|
发表于 19-7-2004 02:30 PM
|
显示全部楼层
1. 先index Item,用Data Grouping...,Group Footer加入Qty的field,properties改它的Sum on Item.
2. 先用array存起资料栏的内容,当revert时才拿出来放回去。
3. 既然你知道出错,就想办法找出来。很简单,错在分钟的计算。 |
|
|
|
|
|
|
|
发表于 21-7-2004 12:45 PM
|
显示全部楼层
我用SQL找到我要的资料,但要如何才能让它显示在一个FORM里的GRID里?它的COMMAND要如何写? |
|
|
|
|
|
|
|
发表于 21-7-2004 01:51 PM
|
显示全部楼层
我没用SQL方式写。
试改Grid的属性(Properties):
Grid1.RecordSourceType = 4
Grid1.RecordSource = ..... && SQL Statement |
|
|
|
|
|
|
| |
本周最热论坛帖子
|