本帖最后由 wsm00wsm 于 2009-11-07 15:35:30 编辑

解决方案 »

  1.   

    我是先让用户输完再建表,但是之后怎么打开那个表呢,我用参数传递表名,但是用Set tb = db.OpenRecordset("表名")打不开,哪位大侠知道的,说一下
      

  2.   

    建完是有啊,但是该怎么引用。
    例如我要打开表
    Set tb = db.OpenRecordset("表名")
    那表名该怎么写?
      

  3.   

    难道不是
    Set rs = db.OpenRecordset ( " select * from 表名 " )
    或者
    Set rs = db.OpenRecordset ("表名", dbOpenTable)
      

  4.   

    Dim strInputTableName as string
    strInputTableName = textBox1.text
    Set rs = db.OpenRecordset ( "select * from "&strInputTableName )像这样不可以吗?
      

  5.   

    具体的表名是不知道的,可以用参数传递,例如text1.text=表名,但是用
    Set rs = db.OpenRecordset ( " select * from  text1.text" )
    Set rs = db.OpenRecordset ("text1.text", dbOpenTable)
    Set rs = db.OpenRecordset (text1.text, dbOpenTable),这几个都打不开表,大家有什么办法吗
      

  6.   

    这样写肯定不行的,表名还没传入就变成字符串了,
    会认为表名叫text1.text
      

  7.   

    将strInputTableName输出一下,看结果是什么,我怀疑
    strInputTableName = textBox1.text
    没有赋值成功然后使用
    Set rs = db.OpenRecordset (strInputTableName,dbOpenTable)
      

  8.   

    赋值是成功了,就是用Set rs = db.OpenRecordset (strInputTableName,dbOpenTable)打开表时,提示说数据库引擎找不到表,但是我点调试,什么都不改,然后再运行,它又可以打开了
      

  9.   

    建表->关闭数据库->打开数据库->打开表
      

  10.   

    加一个延迟就好了option   explicit 
      Private   Declare   Sub   Sleep   Lib   "kernel32"   (ByVal   dwMilliseconds   As   Long)   '开头要有api声明
      ...  ' 建表
      sleep(1000)   
      ...   '使用
      

  11.   

    是的是的,加个延迟就好了,谢谢jhone99了啊