VFP如何查找两个表中相同的数据--等VFP高手 15

表1ABCD姓名编号年龄薪水赵A10120李A10221孙A10522王A10823表2ABCD姓名编号年龄薪水赵A101202000钱A102222002孙A10521... 表1
A B C D
姓名 编号 年龄 薪水
赵 A101 20
李 A102 21
孙 A105 22
王 A108 23
表2
A B C D
姓名 编号 年龄 薪水
赵 A101 20 2000
钱 A102 22 2002
孙 A105 21 2001
王 A108 23 2003
比如说我在表2中找到一条与表1中ABC列都相同的数据,然后把这样所有的数据都显示出来,并且把表2中D列符合条件的数据 返回到表1 D列
这样该如何操作!!
两个表都是EXCEL的表
最好把所有操作步骤和程序都告诉下 谢谢
展开
 我来答
百度网友4e9a8072b
2010-03-19 · TA获得超过227个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:280万
展开全部
1、新建表1、表2,结构与EXCEL表结构一致,并执行以下代码将EXCEL表的内容导入表1.DBF和表2.dbf。
objExcel = CreateObject("Excel.Application") &&创建一个EXCEL应用程序实例
wjm=getfile("xls","文件名","确定",0,"选择EXCEL表1")
IF EMPTY(wjm)
RETURN
ENDIF
WAIT wind '正在导入商品信息,请稍候……'nowait at 16,53
objExcel.Workbooks.Open(wjm) &&调用workbooks(Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。)对象的open方法程序来打开指定的文件,并为打开的文件创建一个新的工作簿
LOCAL nrow as Number ,i as Number
i=0
IF objexcel.cells(1,1).value="姓名"
aa=2
ELSE
aa=1
ENDIF
DO WHILE .t.
i=i+1
IF !VARTYPE(objexcel.cells(i,1).value)="C"
nrow=i-1
EXIT
ENDIF
ENDDO
LOCAL arecord(4)
sele 表2
FOR s=aa TO nrow
arecord(1)=objexcel.cells(s,1).value&&A
arecord(2)=objexcel.cells(s,2).value&&B
arecord(3)=objexcel.cells(s,3).value&&C
arecord(4)=objexcel.cells(s,4).value&&D
ENDFOR
INKEY(3)
objexcel.quit
RELEASE objexcel
messagebox("记录添加完毕",48,"系统提示")
WAIT CLEAR

同样方法将第二个EXCEL表导入到表2.dbf

2、在两个DBF表中进行查询
use 表1.dbf
use 表2.dbf
select 表2
go top
do while not eof()
if allt(姓名)==allt(表1.姓名) and allt(编号)==allt(表1.编号) and 年龄=表1.年龄
xinshui=薪水
select 表1
locat for allt(姓名)==allt(表2.姓名) and allt(编号)==allt(表2.编号) and 年龄=表2.年龄
replace 薪水 with xinshui
endif
select 表2
skip
enddo

3、如果要显示出所有符合条件的数据,可运行下列命令:
select * from 表1 where not empty(薪水) into cursor tmp
select tmp
browse
匿名用户
2010-03-19
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
selelove
2010-03-19 · 超过29用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:0
展开全部
use aa in 1
use bb in 2
sele aa
go top
do while !eof()
sele bb
LOCATE ALL FOR A+B+C==aa.A+aa.B+aa.C &&注意字段数据类型,自己转换
IF FOUND()
REPLACE aa.D WITH D
ENDIF
sele aa
SKIP
ENDDO
SET FILTER TO !EMPTY(D)
BROWSE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式