做了个DLL(WIN32 Dynamic_Link Library方式创建的),做一个打开ACCESS数据库的函数
1。在stdafx.h 中加了#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
2。函数如下:
extern "C"  int EditTest1(char *ConnStr,long DataResult)
{
  ::CoInitialize(NULL);
   _ConnectionPtr m_pConn;
   m_pConn.CreateInstance(__uuidof(Connection));
   HRESULT hr=m_pConn->Open((_bstr_t)ConnStr,"","",adConnectUnspecified); 
   if (FAILED(hr))

    ::CoUninitialize();
return -1; 
}    
m_pConn->Close;
m_pConn=NULL;
::CoUninitialize();
   return 0;
}
3。用VB调用,声明如下:
Public Declare Function EditTest1 Lib "DLLT1.dll" (ByVal ConnStr As String, ByVal DataResult As Long) As Long
4。调用函数如下:
    Dim l_result As Long
    l_result = EditTest1("Provider=Microsoft.Jet.OLEDB.4.0.1;Data Source=E:\MYTEST\CTEST\DLLT1\Debug\CardMake.mdb;UID=;PWD=", -1)
在DEBUG 到m_pConn->Open处,程序报如下的错误:
0XE06D7363:Microsoft c++ Exception
请指正!