注册 登录
编程论坛 VFP论坛

日期量的处理

sarge_xp 发布于 2021-05-03 07:43, 2497 次点击
数据采集后,要逐个记录加日期信息,如果是当天,可以用  update test set test.日期=date(),但添加的记录与文件名一样,是过去的某天,年份是今年,要怎样批量加到test中?
只有本站会员才能查看附件,请 登录
13 回复
#2
radiofan2021-05-03 14:21
看不懂,啥意思
#3
sarge_xp2021-05-03 22:14
回复 2楼 radiofan
各个文件是每日测体温数据,两个列,学生编号,体温,文件名是采集日期3.26日,以此类推
#4
zhousr2021-05-03 23:40
没怎么看懂你的需求。是不是这意思:你每天采集的体温数据都是以日期命名的EXCEL表,现在要把所有这些EXCEL表的数据转换添加到test.dbf?
“要逐个记录加日期信息”,你在EXCEL表中把这项加进去以后再转成DBF不就可以了?
“各个文件是每日测体温数据,两个列”,这个文件是EXCEL文件还是DBF文件?
真是没看懂你的意思,无能为力
#5
sarge_xp2021-05-04 05:39
以下是引用zhousr在2021-5-3 23:40:30的发言:

没怎么看懂你的需求。是不是这意思:你每天采集的体温数据都是以日期命名的EXCEL表,现在要把所有这些EXCEL表的数据转换添加到test.dbf?
“要逐个记录加日期信息”,你在EXCEL表中把这项加进去以后再转成DBF不就可以了?
“各个文件是每日测体温数据,两个列”,这个文件是EXCEL文件还是DBF文件?
真是没看懂你的意思,无能为力

已经给图了,难道没看出有EXCEL文件? 加记录没问题,加记录后刷个日期值出错

#6
radiofan2021-05-04 07:42
以下是引用sarge_xp在2021-5-3 07:43:41的发言:

数据采集后,要逐个记录加日期信息,如果是当天,可以用  update test set test.日期=date(),但添加的记录与文件名一样,是过去的某天,年份是今年,要怎样批量加到test中?


日期 = ctod(alltrim(str(year(date())))+"-"+left(文件名,2)+"-"+right(left(文件名,4),2))  &&不知猜的对不对
#7
gs25367856782021-05-04 08:18
确实不太理解作者思想,最好多发点图片
#8
瓜瓜19902021-05-04 08:51
cdate=juststem()&&获取文件名
cmonth=left(cdate,2)&&月
cday=right(cdate,2)&&日
dd=date(YEAR(DATE()),VAL(cmonth),VAL(cday))&&日期信息
replace 日期 with dd all
#9
sdta2021-05-04 08:59
C1 = JUSTSTEM("a\0329.xls")
C2 = TRANSFORM(LEFT(DTOS(DATE()), 4) + C1, "@R 9999,99,99")
D1 = DATE(&C2)
? D1
简化:

SET DATE ANSI
SET MARK TO "-"
REPLACE 日期 WITH CTOD(TRANSFORM(LEFT(DTOS(DATE()), 4) + JUSTSTEM("a\0329.xls"), "@R 9999-99-99")) ALL

[此贴子已经被作者于2021-5-4 09:25编辑过]

#10
sdta2021-05-04 09:29
? CTOD(TRANSFORM(YEAR(DATE())) + "-" + STUFF(JUSTSTEM("a\0329.xls"), 3, 0, "-"))
#11
radiofan2021-05-04 09:35
以下是引用瓜瓜1990在2021-5-4 08:51:50的发言:

cdate=juststem()&&获取文件名
cmonth=left(cdate,2)&&月
cday=right(cdate,2)&&日
dd=date(YEAR(DATE()),VAL(cmonth),VAL(cday))&&日期信息
replace 日期 with dd all


很规范的表述
#12
sarge_xp2021-05-06 05:58
[quote]以下是引用瓜瓜1990在2021-5-4 08:51:50的发言:

cdate=juststem()&&获取文件名
cmonth=left(cdate,2)&&月
cday=right(cdate,2)&&日
dd=date(YEAR(DATE()),VAL(cmonth),VAL(cday))&&日期信息
replace 日期 with dd all[/quote

带all的语句作用与update相同吗 ?在帮助里面replace好象没all这一参数
#13
radiofan2021-05-06 08:23
以下是引用sarge_xp在2021-5-6 05:58:53的发言:

[quote]以下是引用瓜瓜1990在2021-5-4 08:51:50的发言:

cdate=juststem()&&获取文件名
cmonth=left(cdate,2)&&月
cday=right(cdate,2)&&日
dd=date(YEAR(DATE()),VAL(cmonth),VAL(cday))&&日期信息
replace 日期 with dd all[/quote

带all的语句作用与update相同吗 ?在帮助里面replace好象没all这一参数


试试看呗 …… 不试怎么知道呢
#14
laowan0012021-05-15 10:17
REPLACE FieldName1 WITH eExpression1 [ADDITIVE]
   [, FieldName2 WITH eExpression2 [ADDITIVE]] ... [Scope]
   [FOR lExpression1] [WHILE lExpression2] [IN nWorkArea | cTableAlias]
   [NOOPTIMIZE]
 

参数
...
Scope
指定要替换的记录范围。REPLACE 的默认范围是当前记录(NEXT 1)。只有在范围内的记录才被替换。Scope 子句有:ALL、 NEXT nRecords、 RECORD nRecordNumber 和 REST。有关Scope 子句的更多信息,请参见 Scope 子句。
FOR lExpression1
1