回 帖 发 新 帖 刷新版面

主题:请教高手为下表中“THIS_YMD"一列设置向下填充时间的语句,谢谢

本人不懂语句,谢谢高人帮忙,想求一个和EXCEL中向下填充列功能的语句。

回复列表 (共10个回复)

沙发

CLEAR

set date to YMD

YY=0

go bott

*加100条记录

DO WHILE YY<100

ddate='20'+DTOC(ctod(substr(this_ymd,1,10))+1)+SUBSTR(THIS_YMD,11,10)

xx=data_id

appe blan

repl data_id with STR(VAL(xx)+1,12,0),this_ymd with ddate

YY=YY+1

ENDDO

RETU

板凳

谢谢!但是我边怎么执行这个语句都不会,劳烦好人做到底吧!太感谢了!!!!

3 楼

好像执行后自动填充的是DATA_ID这一列,我想要的是填充THIS_YMD这一列,时间按一秒向下自动填充,例如:依次2012-08-01 10:02:59
2012-08-01 10:03:00
2012-08-01 10:03:01

4 楼

*先创建个程序:LS.PRG
*命令 MODI COMM LS
*将下面的内容写入程序LS,然后保存,然后执行LS程序,命令 DO LS
CLEAR
use cbjxz.dbf
set date to YMD

YY=0

go bott

*加100条记录

DO WHILE YY<100

ddate='20'+DTOC(ctod(substr(this_ymd,1,10))+1)+' '+substr(ttoc(ctot(SUBSTR(THIS_YMD,11,8))+yy),10,8)

xx=data_id

appe blan

repl data_id with STR(VAL(xx)+1,12,0),this_ymd with ddate

disp data_id,this_ymd
YY=YY+1

ENDDO

RETU

5 楼

for ln_secord = 0 to 59
ldt_ymd = datetime(2012,08,01,10,03,ln_secord)
append blank
replace this_ymd with ldt_ymd
endfor

6 楼


4、5楼的高手,你们帮忙弄出来的好像这个THIS_YMD填充时,日期先往下填充了,我要的是先按“秒”再按“分”,然后按“小时”,最后按“日”、“月”、“年”往下填充,要求很高,太麻烦各们哥了,谢谢!

7 楼

参照以下格式,进行扩充:
for ln_hour = 0 to 23
   for ln_min = 0 to 59
      for ln_secord = 0 to 59
         ldt_ymd = datetime(2012,08,01 , ln_hour , ln_min , ln_secord )
         append blank
         replace this_ymd with ldt_ymd
      endfor
   endfor
endfor

8 楼

谢谢老大,但是我是个编程盲啊,你指的扩充怎么弄啊?烦请给我个仔细点的操作步骤方法,谢谢!

9 楼

好像还存在“数据类型不匹配”之类的提示,请教高手了!

10 楼

高手啊!请你们现身,行行善事!

我来回复

您尚未登录,请登录后再回复。点此登录或注册