标题:请教交换“整块”
只看楼主
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
已结贴  问题点数:20 回复次数:19 
请教交换“整块”
各位前辈好,前次曾请教过sdta和kiff两位先生关于任意交换整行(那次是共7行的问题,可以是任意交换2行或3行或4行...直至7行,行的次序与原表行次序不一样就算一种新情况)的问题。现在请教关于任意交换“整块”的问题:是这样,共5块,每块5行5列(既然是“整块”交换,故我想每块几行几列是无关的),块的次序与原表中块的次序不一样时就算得到一种新情况,谢谢先生指教,诚挚的感谢(下面所附的每块5行5列粘在一起了,在excel表中比较明显)
1    2    3    4    5
6    7    8    9    10
11    12    13    14    15
16    17    18    19    20
21    22    23    24    25
26    27    28    29    30
31    32    33    34    35
36    37    38    39    40
41    42    43    44    45
46    47    48    49    50
51    52    53    54    55
56    57    58    59    60
61    62    63    64    65
66    67    68    69    70
71    72    73    74    75
76    77    78    79    80
81    82    83    84    85
86    87    88    89    90
91    92    93    94    95
96    97    98    99    100
101    102    103    104    105
106    107    108    109    110
111    112    113    114    115
116    117    118    119    120
121    122    123    124    125
搜索更多相关主题的帖子: excel 
2015-01-07 10:57
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
在自由表中交换??在excel表中交换???

DO IT YOURSELF !
2015-01-07 11:01
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:3 
如果是交换“块”,感觉在excel中直接用VBA比在VFP中效率更高,因为VBA可直接操纵EXCEL复制、粘贴,用range(Cell(行1,列1),Cell(行2,列2))来定义块也很容易,为何不试一下呢?代码这里就不写了,很简单的。
2015-01-07 11:12
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 2楼 wp231957
想用VFP代码交换,谢谢先生
2015-01-07 11:16
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 3楼 厨师王德榜
先生您好,VBA代码我不会搞,麻烦您能否帮我搞下代码,谢谢先生
2015-01-07 11:18
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:3 
用我原代码稍修改一下,看看是不是你所说的按“块”排列
CLOSE DATABASES
CREATE CURSOR 原表 (a c(4),b c(4),c c(4),d c(4),e c(4))
FOR i=1 TO 25
    INSERT INTO 原表 (a) VALUES (TRANSFORM(i))
ENDFOR
GO TOP IN 原表

SELECT * FROM 原表 INTO CURSOR 新表 WHERE .f. READWRITE  &&原表可换你的表
FOR I1=1 TO 5
    FOR I2=1 TO 5
        IF i2<>i1
            FOR I3=1 TO 5
                IF i3<>i2 AND i3<>i1
                    FOR I4=1 TO 5
                        IF i4<>i3 AND i4<>i2 AND i4<>i1
                            FOR I5=1 TO 5
                                IF i5<>i4 AND i5<>i3 AND i5<>i2 AND i5<>i1
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I1
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I2
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I3
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I4
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I5
                                    APPEND BLANK IN 新表
                                ENDIF
                            ENDFOR
                        ENDIF
                    ENDFOR
                ENDIF
            ENDFOR
        ENDIF
    ENDFOR
ENDFOR
SELECT 新表
COPY TO 新表
BROWSE
2015-01-07 12:19
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 6楼 kiff
哦,先生您好,运行的结果在新表中只有第一列有数据,后面四列都是空白
2015-01-07 12:33
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 7楼 fdxxhjc
并且第一列中的数据只是1-25的顺序号,不是原表中的数据
2015-01-07 12:36
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 8楼 fdxxhjc
先生我把原表的dbf文件发给您吗
2015-01-07 12:38
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 6楼 kiff
并且第一列中的数据只是1-25的顺序号,不是原表中的数据,先生是否我把原表的dbf文件发给您
2015-01-07 12:41



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




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

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