请问如何解决:VB6+ACCESS,用SQL语句复制出一个表,却没有复制出主键?
conn.Execute "select * into " + xinbiao + " from " + yuanbiao
 复制出的新表没有设定主键。

解决方案 »

  1.   

    如果沒有就運行完後再用
    conn.execute"create index 索引名 on 表名(列名)"輕松搞定,沒有就加.
      

  2.   

    Dim myAcc As Object
    Set myAcc = CreateObject("access.application")
        myAcc.OpenCurrentDatabase "d:\db1.mdb"
        myAcc.DoCmd.CopyObject , "表1Copy", acTable, "表1"
        myAcc.Quit
      

  3.   

    学习!谢谢 hhjjhjhj(大头)大侠!
      

  4.   

    alter table a add CONSTRAINT [PK2_Company] primary key  CLUSTERED 
    (
    [CompanyId]
    )  ON [PRIMARY]
      

  5.   

    yoki先生:本人愚笨,请详讲!
    我这样写:
       conn.Execute "select * into " + xinbiao + " from " + yuanbiao
       conn.execute " alter table " + xinbiao + "add primary key 字段名 "
    运行时出错(-2147217900)80040e14,constraint有错。
      

  6.   

    conn.execute " alter table " + xinbiao + " add primary CONSTRAINT key CLUSTERED (字段名) "
      

  7.   

    crystal_heart先生:
       很抱歉,错误依旧,请指示!!
      

  8.   

    各位先生:我用的是VB6+ACCESS数据库,用SQL语句复制出一个表,却没有复制出主键,
       各位的方案可能是vb6+SQL数据库,不是针对ACCESS数据库,
       因为创建SQL数据库的表可以用creat table …… 但创建ACCESS数据库的表,却不能用此
       方法,(即不能用creat table …… )要用ADOX,所以各位先生的方法在ACCESSS数据库里
    无法运行。
       恳请各位继续帮助!
      

  9.   

    一种相对容易的方法是:事先定义好表,主键,再将数据写入定义好的数据库中,下次还用时先删除后再写入.
    select * into " + xinbiao + " from " + yuanbiao --> Inser into ... from ...
      

  10.   

    对.是不会复制主键的.直接用sql复制是没有办法复制出主键的.因此需要另外添加主键.