另:
我把con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\tswy\db1.mdb"
改为
con.Open "DSN=data" 'data是用的驱动程序是microsoft access driver
提示“未发现指定数据源(胡扯),或未使用指定驱动程序!”,而改为
con.Open "DSN=date" 'date是用的驱动程序是driver do microsoft access
则datagrid可以显示数据。 
我虽然不喜欢用dsn,但我以前都是用microsoft access driver驱动程序的。

解决方案 »

  1.   

    更奇怪的,我用用户dsn可以使用microsoft access driver,
    用系统dsn,则microsoft access driver无效。难道这个也有讲究吗?
      

  2.   

    我测试过了,在2000下成功没有任何问题。奇怪是不是你的连接字符串中的Jet版本错了?
      

  3.   

    我adodc用的连接字符串和我代码里的一样,adodc可以,代码怎么不可以?
      

  4.   

    呵呵,我测试了。你说的是真的。但是我说的问题也得到了确定,你的Jet版本错了,不信你可以吧Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\tswy\db1.mdb中的4.0改为3.51就可以了。使用access数据库的时候一定要搞清楚它的版本是office97格式的还是office2000格式的。
      

  5.   

    我也遇到这样的问题,后来这样解决了:
    Set Datagrid1.DataSource = rs
    Text1.DataField="FieldName"
    Set Text1.DataSource = rs
    不信试试,肯定没问题。
      

  6.   

    to: huaecho(寒羽良) 
    我的数据库是2000的,3.51打不开.
    adodc用的连接字符串和我代码里的一样,adodc可以,代码怎么不可以?
    to:inforum(坛中人,不得不用VB) 
    文本框本来就可以显示rs的字段,datagrid1还是不能显示表.
    我快发疯了!
    另:dsn问题已经解决,用什么样的驱动都可以,用户dsn and system dsn是一样的,不必再做讨论.
      

  7.   

    如果用同样的方式,rs打开sql server,则datagrid可以正常显示表.
    实现想不通了!这个问题如果没有碰到过,是不可能体会我的感受的.真想把电脑砸了,幸亏是公司的.
      

  8.   

    呵呵,不用砸了主要是数据库游标的问题。你只要在你的
    con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\tswy\db1.mdb"
    语句后面加一条语句:
    con.CursorLocation = adUseClient
    就没有任何问题了。祝成功
      

  9.   

    huaecho(寒羽良) :非常感谢您,这里我送上80分,如果你觉得不够,发短消息给我,我再加给你。我现在有4000可用分。