我来告诉你DAO与Jet 连接当通过 DAO 或 Data 控件使用 Jet 访问 ODBC 数据库时,Microsoft Jet 数据库引擎及其连接管理例程就被自动调用。Jet 总是试图只打开尽可能少的连接,在可能的情况下,它总是尽量共享已有的连接。一般来说,Jet 数据库引擎总是尽量共享应用程序已经建立的连接或是对它作高速缓存。首要的原则是,如果请求的数据源名称 (DSN) 被多个 OpenDatabase 调用所引用,那么 DAO 和 Jet 就试图重新使用这个连接。也就是说,如果对某一个特定的 DSN 已经打开了一个连接,只要 Jet 认为可以共享已存在的连接,它就不会再打开另外一个连接。当对一个 DAO Database 对象使用 Close 方法时,如果某个连接是特定 DSN 的最后一个连接,那么 Jet 并不会马上关闭它— 而是对它进行高速缓存以防可能重新建立这个连接。连接的打开
使用 DAO 和 Jet 来访问远程 ODBC 数据源有两种基本的方式。两种方式都要对以下数据源调用 OpenDatabase 方法: ODBC 数据源。这种情况下,OpenDatabase 方法的连接字符串参数规定了一个指向 ODBC 数据源的 DSN。
包含有连接的(附属的)ODBC 数据源表或视图的 Jet 数据库。这种情况下,OpenDatabase dbName 参数指向一个 Jet .mdb 数据库。Jet 数据库包含有 DSN 和用户的名称及密码,后者是可选项。 
每一种技术都有其优点和缺点,但是对 ODBC DSN 使用 OpenDatabase 方法时,要求 Jet 下载较大量的关于目标数据库的、类似于数据定义语言 (DDL) 的描述信息。由于这种信息没有进行高速缓存,所以每当打开 Database 对象时,DDL 均会重复读取操作。这是 Jet 尽量将连接存放在高速缓存区的原因之一─ 不必重复这一过程。将一个 ODBC 数据源附属或链接到一个表时,总是要对 Jet 数据库中的 DDL 信息作高速缓存,所以如果连接已经建立或者数据库已经打开,就用不着进行 DDL 查询。这在打开连接或创建 DAO Database 对象时可以极大地提高性能。