1.1你想从sql server==>access实现这样的转 换吗?你可以先从sqlwerver查询出来所有记录存为xml文件,sqlserver支持xml,而access2003也支持从xml改入,这样可以实现了吧
1.2如果你想往access.mdb中导入数据你应该到access中使用openrowset,而现在我也不清楚access是否支持这个,当然,在sqlserver中也可以这样使用,但是往openrowset中再写数据我没试过,也不明白到底可不可以成功,如果你非要这么做,那么请尝试这样应该可以,但是绕了好几圈,
select * from openrowset("这里是配置打开access数据库的","insert into A表 select(openrowset(这里是打开sql数据库的地方)"2.如果数目不同,你可以使用select sourcetbl.f1,sourcetbl.f2,0 as 源表中不存在的字段,这样产生的结果集会是正确的,或是你也可以在insert into 要insert的目标表(f1,f2,f3,f4....)这里,在源表中找不到的字段就不要写了
3.用access的向导是要提问你的,难道你也是用sql语句的方法来导的吗?如果是那么你可以自己控制的,如果不是,你手动操作一次,同时录制你的宏,然后查看宏的代码,copy一下,就该可以了,这种方法是我在excel中录制宏查看代码得到的方法,当然access是否支持,也不知是否可用,你先试一下吧,祝你好运。

解决方案 »

  1.   

    高人啊,十分感谢,但我不是很明白。
    我其实就是想用sql语句将excel表导入到access中,但现在的问题是无法同过那个sql代码在access中自动生成表,必须提前在access中建好表才能导入。而且导入的时候excel表的第一行无法作为字段名导入。excel导入sql server的语句我已经搞定。
      

  2.   

    那你得先用sql语句建好这个表,就是说,用两条语句实现
      

  3.   

    如果不行的话我怎么读取excel表第一行的字段作为数据库中的字段名来创建表啊?
      

  4.   

    使用ADOX对象动态创建access库和表,在msdn里查查,里边有示例