VFP怎样将表A中的某一行复制,然后到B表进行粘贴啊?
要粘贴,首先要求A、B两个表有几个完全相同的字段(名称、类型和大小),不一定要全部字段都一一对应,只要两个表有几个字段相同就可以了。
然后借助scatter命令和gather命令来完成复制和粘贴的过程。
scatter 命令
从当前记录中复制数据到一组内存变量、一个数组或一个对象。
SCATTER [FIELDS FieldNameList | FIELDS LIKE Skeleton
| FIELDS EXCEPT Skeleton] [MEMO] [BLANK]
TO ArrayName | MEMVAR
| NAME ObjectName [ADDITIVE]
示例 1
该例用 SCATTER 创建一组基于 test 表中字段的内存变量。然后为每个字段赋值并向表中添加一条新的空记录。使用 GATHER 命令将数据复制到表中。
CREATE TABLE Test FREE (Object C(10), Color C(16), SqFt n(6,2))
SCATTER MEMVAR BLANK &&创建一个内存变量,如果MEMVAR后有字段,则仅包含字段
m.Object='Box' &&为内存变量赋值
m.Color='Red'
m.SqFt=12.5
APPEND BLANK
GATHER MEMVAR&&从内存变量中复制记录
BROWSE
示例 2
该例用带有 NAME 子句的 SCATTER 命令,创建一个带有基于表中字段的属性的对象。然后为对象的属性赋值,并向表中添加一条新的空白记录。使用带有 NAME 子句的 GATHER 命令,将数据复制到表的新记录中。
1、在A中复制记录
指定一条记录,然后执行scatter,Scatter命令可以将当前记录的每个字段(备注和通用型除外)分散到一个数组,或者对象中,我一般是将一条记录分散到一个对象里。
public myobj
select A
go 5
scatter name myobj
这样就得到了一个myobj对象,这个对象没有方法,只有和表A的字段名称相同的几个属性,当然还是不包括备注和通用型。
并且你可以通过myobj.field1来访问对象的field1属性的值,而这个值就等于表A中field1字段的值。
2、粘贴记录到B表
Select B
append blank
gather name myobj
release myobj
这段代码的意思是在表B的末尾添加一个空记录,然后把数据写入。注意写入的数据只是和myobj的属性的名称、类型、大小都一致的几个字段,其他字段将是空的。
如果没有执行append blank 直接执行gather name myobj,那么将会使当前记录的某几个字段值被myobj的对应属性替换掉。
sele 成绩
loca for *** &&\"*\"为定位到指定记录的条件
scat to cmem fiel 成绩.学号,成绩.姓名
sele chenji
appe from array cmem fiel xuehao,xingming
*以上代码完全可以达到你的要求一系列的dbf表,vfp怎么合并?*表中各列不能同名
alter table 接收表 add cloumn num1 int,price1 Currency,...
*以下为接收,前提是两个表的数据行数一样
select 1
use 接收表
select 2
use 分表1
do while .not. eof()
aa=num
bb=price
select 1
replace num1 with aa,ptice1 with bb
skip
select 2
enddo
在VFP中如何将两个含有相同数据结构的表中的其中某个字段的值复制到另一个表中?
如表1有字段:ID1、D12、ID3
表2有字段:ID1、ID2、ID3
现在要把表2中ID3的值复制到表1中的ID3中,如何实现!?谢谢了!
问题补充:如表1有字段:ID1、D12、ID3
表2有相同的字段:ID1、ID2、ID3
现在要把表2中ID3的值复制到表1中的ID3中,如何实现!?谢谢了!
具体怎样操作,谢谢了!?
select 1
use 表1
select 2
use 表2
do while .not. eof()
t=ID3
select 1
replace ID3 with t
skip
select 2
skip
enddo
*******
前提条件:两个表的数据行数一样,且一一对应赋值。
vfp中如何将一个表中某一字段的值复制到一个新的表中?
很简单
打开你要复制的表
use 原表
copy to 新表名 field 字段列表
use 新表名
browse
看到结果了吧。
在VFP6中如何把多张表中的某一个字段的全部数据合并到一张新表中
select t1.常住人口,t2.现有人口,t3.户籍人口,t4.户籍外出,t5.外来人口,t6.外来离户半,;
t7.街道内户在,t8.区县内户在,t9.市内户在,t10.区县户不在,t11.市内户不在;
from t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11 into table hzrjl where t1.dqm=t2.dqm;
and t1.dqm=t3.dqm and t1.dqm=t4.dqm and t1.dqmt=t5.dqm and t1.dqm=t6.dqm and;
t1.dqm=t7.dqm and t1.dqm=t8.dqm and t1.dqm=t9.dqm and
t1.dqm=t10.dqm and t1.dqm=t11.dqm
一系列的dbf表vfp怎么合并
我有1000多过dbf表,怎么办,才能让其纵向合并,结构都一样,就是同样的字段,比方就两列,一列叫数量(num),一列叫价格(price)?
表中各列不能同名
alter table 接收表 add cloumn num1 int,price1 Currency,...
*以下为接收,前提是两个表的数据行数一样
select 1
use 接收表
select 2
use 分表1
do while .not. eof()
aa=num
bb=price
select 1
replace num1 with aa,ptice1 with bb
skip
select 2
enddo
请教:在两个VFP表如何用一个中的数据替换另一个表的数据(部分)
问题是这样的:我们两个VFP表,一个叫cj.dbf另一个zg.dbf,两个表都有准的字段kh(考号),两个表都有相同的字段zgf(照顾分),现我需要把,cj.dbf里的zgf字段值替换为zg.dbf的zgf字段值
两个表建立临时关联,一点都不难。
select 2
use zg
index on kh tag kh
select 1
use cj
set relation to kh into b
replace all zgf with b.zgf
browse
(目前公司每个月的考勤,可用此方法先建立一个空表,然后空表同每个月建立联系,把每个月的考勤拷贝到此表中,可以计算一年1-12月的出勤)
因篇幅问题不能全部显示,请点此查看更多更全内容