以下是引用sgh2001在2014-9-30 16:00:41的发言:
在成绩系统中,我有一个成绩表,包含学号、姓名、各学科字段,现在要导入一次新的考试成绩,各字段都是一样的,应该用什么命令呀,我用replace with没有做成功,请高手赐教!
从FoxPro中导入Excel数据有点小问题,需要手工处理的。用IMPORT命令导入时,默认的字段名是Excel工作表列标,也就“A”、“B”... 之类,而真正的$1:$1处的字段名反而被当成了一条记录。如果你一直是用手工导入的,建议你从“文件”菜单里选“导入”命令,然后点击“导入向导”钮去做;如果你是要做在程序里的,可能要花一番功夫了。我这里正好有一段导入Excel表的代码,供你参考:
IMPORT FROM 成绩修改单登记表.XLS XL5
=AFIELDS(Temp1)
&&记录下表结构
SCATTER TO Temp2
&&此时只有第一条记录的全部字段被导出到数组
FOR AA=1 TO ALEN(Temp2)
OldFieldName=Temp1[AA,1]
NewFieldName=Temp2[AA]
ALTER TABLE 成绩修改单登记表 RENAME &OldFieldName TO &NewFieldName
NEXT
ALTER TABLE 成绩修改单登记表 ALTER Sjyx V(50) ALTER Kkyx V(50) ALTER Sjrq D;
ALTER Yxg L ALTER Xgz V(50) ALTER Xh V(10);
ALTER Kh V(8) ALTER Bclyy V(200) ALTER Xgrq D ;
ALTER Bh C(6)
INSERT INTO 成绩修改单登记 ;
SELECT Bh,ALLTRIM(Sjyx),ALLTRIM(Kkyx),Sjrq,Yxg,;
ALLTRIM(Xgz),Xgrq,ALLTRIM(Xh),ALLTRIM(Kh),ALLTRIM(Bclyy) ;
FROM 成绩修改单登记表 ;
WHERE Bh NOT IN (SELECT DISTINCT 编号 FROM 成绩修改单登记) AND ISDIGIT(Bh)