主题:[原创]当前数据表另存为新表
*当前数据表另存为新的数据表
proc FileSaveAs
myalias = alias()
defa_path = FULLPATH(CURDIR()) &&取当前路径
* 把默认路径设置为前次另存文件的路径
if !used('systable') &&systable是一个数据表专门用于存放应用系统的一些参数
use data\systable in 0 &&如果没有打开,就在一个序号最小的空工作区中打开此表
endif
sele systable &&选择系统参数表为当前工作区
loca for xm = 'LASTSAVEFILE' &&这条记录中存放的是上次曾经另存数据表的路径
if found()
cLastSaveFile = alltrim(hlptxt)
if file(cLastSaveFile) OR !EMPTY(CURDIR(JUSTPATH(cLastSaveFile)))
paths = justpath(cLastSaveFile)
set defa to(paths) &&把当前路径设置为上次另存数据表的路径
endif
endif
**********************
tab_name=putfile('文件名',myalias,'dbf')
if empt(tab_name)
sele( myalias )
set defa to(defa_path) &&恢复原始默认路径
retu
endif
*** 记录新路径 ***
loca for xm = 'LASTSAVEFILE'
if !found()
appen blank
repl xm with 'LASTSAVEFILE',hlptxt with tab_name
else
repl hlptxt with tab_name
endif
use
set defa to(defa_path) &&恢复原始默认路径
**********************
sele ( myalias )
copy to (tab_name)
sele 0
use(tab_name)
browse &&浏览另存了的新表
retu
上列代码作为一个过程程序可以存放在主控程序中,在你的应用系统中做一个菜单项,让它调用这段代码即可.
这段代码可以将当前正在浏览的数据表另存为另一个新表(这个表仍存在)
proc FileSaveAs
myalias = alias()
defa_path = FULLPATH(CURDIR()) &&取当前路径
* 把默认路径设置为前次另存文件的路径
if !used('systable') &&systable是一个数据表专门用于存放应用系统的一些参数
use data\systable in 0 &&如果没有打开,就在一个序号最小的空工作区中打开此表
endif
sele systable &&选择系统参数表为当前工作区
loca for xm = 'LASTSAVEFILE' &&这条记录中存放的是上次曾经另存数据表的路径
if found()
cLastSaveFile = alltrim(hlptxt)
if file(cLastSaveFile) OR !EMPTY(CURDIR(JUSTPATH(cLastSaveFile)))
paths = justpath(cLastSaveFile)
set defa to(paths) &&把当前路径设置为上次另存数据表的路径
endif
endif
**********************
tab_name=putfile('文件名',myalias,'dbf')
if empt(tab_name)
sele( myalias )
set defa to(defa_path) &&恢复原始默认路径
retu
endif
*** 记录新路径 ***
loca for xm = 'LASTSAVEFILE'
if !found()
appen blank
repl xm with 'LASTSAVEFILE',hlptxt with tab_name
else
repl hlptxt with tab_name
endif
use
set defa to(defa_path) &&恢复原始默认路径
**********************
sele ( myalias )
copy to (tab_name)
sele 0
use(tab_name)
browse &&浏览另存了的新表
retu
上列代码作为一个过程程序可以存放在主控程序中,在你的应用系统中做一个菜单项,让它调用这段代码即可.
这段代码可以将当前正在浏览的数据表另存为另一个新表(这个表仍存在)