标题:再次请教《请教替换》
只看楼主
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
已结贴  问题点数:20 回复次数:3 
再次请教《请教替换》
前次问题《请教替换》已被吹水佬先生随手解决了,但当我的原表或替换表行数大时,系统会给出“数值溢出,数据已丢失”的提示,我想这个问题是否是与代码是整个原表和整个替换表全部替换好后一次性写入到替换后表中的(期间有关数据是否是存放在临时表中),我想是否边替换边写入就避免这个当行数较多时无法完成的问题,谢谢先生!前次具体代码如下:
CLEAR
CLOSE all
SET TALK ON
SET SAFETY OFF
DIMENSION arr[880,16]
USE 原表 IN 0
USE 替换表 IN 0
*SELECT * FROM 原表 WHERE .F. INTO CURSOR 替换后表 READWRITE
SELECT * FROM 原表 WHERE .F. INTO TABLE 替换后表
FOR i=1 TO RECCOUNT("替换表")-15
    DIMENSION ar[16,1]
    SELECT 替换表
    COPY TO ARRAY ar FIELDS 变量 FOR BETWEEN(RECNO(),i,i+15)
    DIMENSION ar[16]
    FOR j=1 TO 16
        DIMENSION ai[880,1]
        SELECT 原表
        COPY TO ARRAY ai FIELDS ("列"+TRANSFORM(j))
        DIMENSION ai[880]
        FOR k=1 TO 880
            arr[k,j] = ar[ai[k]]
        ENDFOR
    ENDFOR
    SELECT 替换后表
    APPEND FROM ARRAY arr
ENDFOR
SELECT * FROM 替换后表
*COPY to  替换结果
*BROWSE
?"本次运行结束!"

替换表.rar (21.33 KB)
原表.rar (8.21 KB)
搜索更多相关主题的帖子: 是否 SELECT 替换 FOR FROM 
2020-05-09 08:27
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:10 
但当我的原表或替换表行数大时,系统会给出“数值溢出,数据已丢失”的提示.
SELECT * FROM 原表 WHERE .F. INTO TABLE 替换后表
替换后表,字段不够,你把原表的字段从4位改大点,如改到10位。
2020-05-09 08:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
数值溢出,一般是字段宽度不足造成的

坚守VFP最后的阵地
2020-05-09 08:58
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:295
专家分:805
注 册:2012-6-15
得分:0 
“数值溢出,数据已丢失”是字段宽度不够造成的,请检查字段宽度,修改字段宽度。

学习交流VFP,QQ:248561326。
2020-05-09 09:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501501-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.800970 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved