先用sql builder做个框架,然后有规律地修改。

解决方案 »

  1.   

    你的代码不完整,看不出来。
    尤其是你的两个变量的内容:databasename, tablename的值
      

  2.   

            Dim db As Database
            Set db = Workspaces(0).OpenDatabase(c:\mlc\mlc.mdb)
      

  3.   

    databasename指MDB数据库所在路径,如"C:\MLC",tablename是指原来一个比较大的ACCESS表的名称
      

  4.   

    vb有个visual data,设计SQL语句很方便!
      

  5.   

    用msgbox strSqla
    显示SQL语句,
    再贴出来,看看是否有语法错误。
      

  6.   

    SELECT 站名 as ZD1,年份 as ZD2,月份 as ZD3,日期 as ZD4,世代 as ZD5,作物 as  ZD6,'作物总面积(万亩)' as ZD7, '取样面积(平方米)' as ZD8,调查株数 as ZD9,调查网数 as ZD10, '1龄幼虫数量' as ZD11, '2龄幼虫数量' as  ZD12 INTO [dBase III; DATABASE=C:\mlc\export\].[A5a.dbf] FROM [A5]错在字段名被加单引号处(以数字开头以及字段中含有()等)!!!
      

  7.   

    如何正确地让SQL语句识别以数字开头以及字段中含有()、%等字符的字段名呢?
      

  8.   

    注:上述字段名不加单引号时,发生题目中所述及错误,加单引号后则产生赋值性错误,即把单引号内的字段名作为了一个值赋给了新的字段,僻如:在新生成的A5a.DBF文件中,所有记录中ZD7字段的值均为 作物总面积(万亩) ,余类
      

  9.   

    在access中,用[]把字段名或表名括起来。不要用但引号。
      

  10.   

    huanggx(大侠),还是你对数据库比较了解
      

  11.   

    其实ACCESS数据表中导出到DBF文件,对一些特殊字段名要进行“处理”,如,一些带特殊字符的,尤其是特殊字符开头或结尾的,如数字,%,括号,*号等,应该将字段名用[]括起来,另外,字段名长度超过20个字节的,应该改名导出,即将字段名保证<=20个字节
      

  12.   

    我的意见是把你的Sql语句把在SQL中去运行看看,如果错误会有错误提示,这时可以对应
    错误的地方来修改。