Access表下两个表表1(字段A1和T1)A1           T1
0                
3                
10               
101              
1010             
10002
200
……表2(字段 十位  百位 千位 万位)  十位  百位 千位 万位
   10   100  1000   10000需要得到的结果:当0~9,T1为个位,10~99T1为十位……以此类推。
我自己写了几句:     begin
      adoquery1.close;
      adoquery1.sql.clear;
      adoquery1.sql.add('update 表1,表2 set 表1.T1=''个位'' where 表2.十位>表1.A1');
      adoquery1.ExecSQL;
     end;
     begin
      adoquery1.close;
      adoquery1.sql.clear;
      adoquery1.sql.add(表1,表2 set 表1.T1=''十位'' where 表2.百位>表1.A1');
      adoquery1.ExecSQL;
     end;
    ……
这样写下去不会出错,但后几位(百位、千位、万位)就不能正常附给T1了。各位能否帮小弟看一下呢?

解决方案 »

  1.   

    哦,对,是我提问的适合疏忽了,其实我遇到的问题比这个复杂一点,也就是表二的数据是可自定义的。也就是说在Access下的表2 有十位  百位 千位 万位四个字段,它们的字段内容分别由DBedit1、Dbedit2、Dbedit3、Dbedit4控制,操作者可以把表二定义为十位  百位 千位 万位
    20   200   3000  10000总之表二的内容是变量。
    所以我用了:
         begin
          adoquery1.close;
          adoquery1.sql.clear;
          adoquery1.sql.add(表1,表2 set 表1.T1=''十位'' where 表2.百位>表1.A1');
          adoquery1.ExecSQL;
         end;
    的语句。