回 帖 发 新 帖 刷新版面

主题:vf中FILE()函数的应用问题

有一个表单文件,上面有二个按钮,一个确定,一个关闭,有一个SFGL.DBF文件,我想在每次按关闭按钮时,能在不同文件夹中备份一个文件,也就是每按一次关闭按钮会备份一个SFGL.DBF文件,或在相同文件夹中备份不同文件名的SFGL.DBF文件,如何编写代码?谢谢!!
FYYYLYL专家:
用ttoc(datetime())作为文件名或文件夹名,还是不能解决存为不同文件的问题。因为在备份时提示是或否,点是就覆盖,点否就不能备份,如何解决,请高手写出详细代码。谢谢!!
fyyylyl专家:
我在表单“确定”按钮的CLICK事件中编写了代码:
set safe off
COPY TO E:\sjbf\ttoc(datetime()).DBF
每按一次“确定”按钮,就是会覆盖前一个文件的啊?如何达到不覆盖呢?请专家明示!谢谢!!
补充:也就是说,如何达到每按一次“确定”按钮,不覆盖前一个文件,而生成一个新的文件呢?也就是说,如果按十次“确定”按钮,就会备份十个不同文件名的文件。本人愚趸,请专家详细说明!!
FYYYLYL专家:
使用COPY TO ("E:\sjbf\"+chrtran(ttoc(datetime())," .:",""),显示“无效的路径或文件名”的错误提示,其实不用去掉"., ",我想问题的关键不在这里,但我又想不出,如何修改?请告知,谢谢!!

回复列表 (共11个回复)

沙发

可以ttoc(datetime())作为文件名或文件夹名。

板凳

用 PUTFILE() 函数得到一个要保存的文件路径并给文件起名。

3 楼

1楼方法可行,这样每次备份的文件就不会是相同的。

4 楼

FYYYLYL专家:
用ttoc(datetime())作为文件名或文件夹名,还是不能解决存为不同文件的问题。因为在备份时提示是或否,点是就覆盖,点否就不能备份,如何解决,请高手写出详细代码。谢谢!!

5 楼

cNAME= PUTFILE("","SFGL.dbf","*.DBF")
COPY TO &cNAME

6 楼

ttoc(datetime())两次生成间隔精确到了“秒”,理论上讲除非在同一秒钟内备份两次,否则不会重名。

“点是就覆盖,点否就不能备份”----set safe off

7 楼


fyyylyl专家:
我在表单“确定”按钮的CLICK事件中编写了代码:
set safe off
COPY TO E:\sjbf\ttoc(datetime()).DBF
每按一次“确定”按钮,就是会覆盖前一个文件的啊?如何达到不覆盖呢?请专家明示!谢谢!!
补充:也就是说,如何达到每按一次“确定”按钮,不覆盖前一个文件,而生成一个新的文件呢?也就是说,如果按十次“确定”按钮,就会备份十个不同文件名的文件。本人愚趸,请专家详细说明!!

8 楼

COPY TO ("E:\sjbf\"+chrtran(ttoc(datetime())," .:",""))

----使用chrtran()函数将变量中不符合文件命名规则的“.”、“:”及空格去去掉

9 楼

FYYYLYL专家:
使用COPY TO ("E:\sjbf\"+chrtran(ttoc(datetime())," .:",""),显示“无效的路径或文件名”的错误提示,其实不用去掉"., ",我想问题的关键不在这里,但我又想不出,如何修改?请告知,谢谢!!

10 楼

“E:\sjbf”文件夹是否已经存在?如不存在,需先建立(可先用directory( )判断,若不存在,用MD命令建立)。

因与磁盘盘符、文件扩展名冲突,文件名中的“:”、“.”必须去掉。

我来回复

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