If AdoTable1.Active then AdoTable1.Close;
If AdoTable1.TableName=Expense //判断时冒号去掉
  then AdoTable1.TableName:=Income
  else AdoTable1.TableName:=Expense;
If AdoTable1.Active=False then AdoTable1.Active//判断时冒号去掉

解决方案 »

  1.   

    很感谢tikkypeng每次都回答我的问题,谢谢你了.同样的,也很谢谢这里的各位朋友.
    但是你的办法我也试过了,还是不行啊.老是说没有确定TableName参数.
    还有,TableName是WideString 类型的,要是光这样写程序,会报错没有声明变量Income,Expense,后来我就把他们都声明成了WideString 类型,但还是不行.
      

  2.   

    光设置数据库表的名称Tablename是不行的~~你有没有设置ADOQuery的ConnectString属性~~直接连接到你的Access数据库Cover。mdb呢?
      

  3.   

    别客气~~
    错了~~是ADOTable的ConnectString属性~~
      

  4.   

    我都设置好了,在delphi里可以设置active的,一切正常,就是不能在程序运行的时候进行更换.
      

  5.   

    我这样做可以呀,你试下:
    If AdoTable1.Active then AdoTable1.Close;
    If AdoTable1.TableName='Expense' 
      then AdoTable1.TableName:='Income'
      else AdoTable1.TableName:='Expense';
    If AdoTable1.Active=False then AdoTable1.Active=true;
      

  6.   

    If AdoTable1.Active then AdoTable1.Close;If AdoTable1.TableName='Expense'  //如果Expense、Income是表名要加引号
      then AdoTable1.TableName:='Income'
    else AdoTable1.TableName:='Expense';If AdoTable1.Active=False then 
       AdoTable1.Open;