【请教】关于vfp数据复制的命令.
我想将名为1.dbf的表里的ID从20060701到20060799的内容复制到名为2.dbf的表的内容的后面.请问这个命令应该怎么写?谢谢~
注:两个表的结构一样.
最好写出直接的命令,因为偶不懂vfp.:(:( 原帖由 PCCMWAP 于 2006-8-3 16:42 发表
SELECT 1
USE 1.DBF
SELECT 2
USE 2.DBF
APPEND FROM 1 FOR BETW(ID, 20060701, 20060799)
CLOSE ALL
好像不行.:( 回车后没什么提示.然后我在看2.dbf也没什么改变. 说实话,我不知道该怎么操作.也许是操作的不对.
我是先打开1.dbf和2.dbf.
然后复制
SELECT 1
USE 1.DBF
SELECT 2
USE 2.DBF
APPEND FROM 1 FOR BETW(ID, 20060701, 20060799)
CLOSE ALL
到命令窗口粘贴.回车.
没反应.. 不熟悉VFP,虽然“学”过好几遍了 use 1
locate for id=20060701
copy next 99 to 3
use 2
append from 3 原帖由 PCCMWAP 于 2006-8-4 09:17 发表
另外,我估计你是将这段指令直接"复制"然后"粘贴"到VFP的命令窗口里面了,对吧?
这是不行的,因为你直接粘贴内容的话,VFP只将它看作一个回车符号,相当于你直接打入一个回车, 这样当然什么提示 ...
看样子我是太懒了.:D
另外还有个疑问.如果我输入这些命令的话.vfp怎么会在没有文件路径的情况下找到我硬盘上的这些文件呢?
还有,我的表是按ID序列排列的.我要复制的是20060701-20060799之间的这些文件. 应该一条一条命令的打呀 输入locate for id=20060701的时候提示"操作类型不匹配".. 原帖由 PCCMWAP 于 2006-8-4 09:43 发表
看来,你数据表里的不是数字型的, 应该是字符型的, 那就这样吧:
LOCATE FOR ALLTRIM(ID)==ALLTRIM()
其中, ALLTRIM是指删除任何空格, "=="(连续两个等号)是字符串比较运算符,用来测试两个字符串是 ...
OK了,送上小花几朵,聊表谢意. oracle的话通常是这样:
insert into dbf2 (select * from dbf2 where rowid >=20060701 and rowid <=20060799) :D **\ ^v^ *.*lll
页:
[1]