首先声明我不是标题党。
其次是确实需要高手的帮助,我的问题不是一个技术问题,而是经验问题。如何把ACCESS数据库中的一个表重命名?问题由来:需要两份记录表,一份是旧的,命名为:record—old;一份是新的,命名为:record—new。
每次运行软件后,就会自动生成记录,而且要求本次记录与上次记录进行对比,找出不同的地方。问题来了,我想先把原来的存储旧记录的表删除(删除record—old),然后再把原来存储新纪录的表改名为旧记录的名字(就是把record—new重命名为record—old),最后新建一个表(起名为record—new),存储本次软件读取的最新记录。这样每次软件运行之后读出的记录都会存入record—new里面,以前的那个“新纪录”变成旧记录,存入record—old里面。(不知道问题说清楚没)使用sql语句RENAME TABLE ......没有用,会出现异常提示,说期待:INSERT SELECT........请大家看清问题后教教我。还有,千万别说网上搜到的方法,我试过了,没用。。

解决方案 »

  1.   

    我就纳闷那!你表重名难道你写SQL没有报错!~
      

  2.   

     最初学的例子TEMP=A
    A=B
    B=TEMP设几个记录集替换就可以了
      

  3.   

    rename table 还是 alter table啊
      

  4.   

    不用重命名也可以吧。
    重复使用两个表名称,如A和B,使用一个变量flag标记old表,假设flag标识A为old表,则B为新表,删除表A,同时设置flag标识B,则B就成为old表了。所以当你下次新建表的时候只判断flag标识的名称,若flag标识B,你就新建A,若flag标识A,你就新建B。或者,就只用flag标识old表,做完比较等操作之后,删除flag标识的表,然后设置flag标识未被删除的另一份表就ok了。ps:上面说的方法偶都没有试过,哈哈
      

  5.   

    你先select into  一张new表
    然后drop old表
    不就ok了?
      

  6.   

    如果数据量不大的话1 drop record—old
    2 select * into record—old from record—new
    3 你知道该怎么做了。。
      

  7.   

    广传翻墙术,推翻柏林墙ht-tp://lil.cx/hTU3Ju