Table1.Fields.Add(Table2.Fields.Fields[0]);
  Table1.Open;我这样写会出错,说Field[0]的字段名找不到!

解决方案 »

  1.   

    query1.close
    query1.sql.clear;
    //query1.sql.add('select * into desttable from sourcetable')      //整表复制
    query1.sql.add('select top 1 * into desttable from sourcetable')  //只拷贝字段
    query1.execute;
      

  2.   

    'select top 1 * into desttable from sourcetable' 这是copy 第一条记录到目标中表。
    'select top 0 * into desttable from sourcetable' 这才是建立空表。
    但将一个表中某个字段创建到另一个表中,一条SQL语句我也搞不定。
      

  3.   

    可以先修改表1的结构,然后将对应的值追加进去不就行了吗?
    alter table1
    ………………
    ……………………
    update table2
    set addcol=……
    where ……
      

  4.   

    1、如果只是查看的话,就不必创建字段了,只须构造视图即可;
    2、创建或修改字段可用ALTER TABLE ;
      

  5.   

    TFieldDef def=Table1.FieldDefs.AddFieldDef;
    def.Name=Table2.Fields.Fields[0].FieldName;
    def.DataType=Table2.Fields.Fields[0].DataType;
    def.Size=Table2.Fields.Fields[0].Size;
      Table1.Open;
      

  6.   

    可以考虑构建一个新表,然后将原始表删除,再将新表改名为原表
    如原始表名为OLDTABLE;
    关联的表名为CONTACTTABLE;
    要构建的表名为NEWTABLE;
    1、select a.*,b.objCol into NewTable from oldtable a,Contacktable b  --(objCol 表示需要追加的列)
    where a.?=b.?  --(?表示相关联的条件)
    2、drop table Oldtable   (在确认删除之前要做好备份)
    3、将NEWTABLE 改名为OLDTABLE
      

  7.   

    这两个表在你copy之前都有你要Copy的这个字段吗?
      

  8.   

    to vsice(为你):
       你的正确,我回答的时候没有仔细检查,呵呵。