别的程序产生了一个数据文件,可以用access打开,并显示access 2000 格式的数据库数据,我用DAO方式读取其中的一个表单总是报告没有找到这个表单(测试过读取自己作的mdb文件,没有问题),请问读取别的程序产生的数据文件需要什么特别的设置或方法嘛?

解决方案 »

  1.   

    用ado根本就连结不上:
    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=335.brg","","",adModeUnknown);没有用户名,没有密码。
      

  2.   

    brg是啥数据库ADO格式
    m_pConnection->Open("driver={SQL Server};Server=192.168.0.12;DATABASE=机房管理数据库;UID=sa;PWD=850924","","",adModeUnknown);
      

  3.   

    其实就是access2000 阿,用access可以打开,看起来与*.mdb一模一样
      

  4.   

    BOOL CDlgDBConnect::ConnectAccess()
    {
    if(m_strDatabase.IsEmpty())
    {
    ::MessageBox(NULL,"Êý¾Ý¿â²»ÄÜΪ¿Õ£¡","Ìáʾ",MB_OK);
    return false;
    }
    theApp.m_pConnection.CreateInstance(__uuidof(Connection));
    try
    {
    theApp.m_strDatabase=m_strDatabase;
    m_strDatabase.Replace("\\","\\\\");
    _bstr_t strConn;
    if(m_strPassword.IsEmpty())
    {

    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +m_strDatabase;
    theApp.m_pConnection->CursorLocation = adUseClient;
    theApp.m_pConnection->Open(strConn,
       "",
       "",
       adModeUnknown);
    }
    else
    {
    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +m_strDatabase+";Persist Security Info=False;Jet OLEDB:DataBase Password="+m_strPassword;
    theApp.m_pConnection->Open(strConn,
    "",
    "",
    adModeUnknown);
    }
    }
    catch(_com_error e)
    {
    ::MessageBox(NULL,e.Description(),"Ìáʾ", MB_OK);
    return FALSE;
    }

    ::MessageBox(NULL,"Êý¾Ý¿âÁ¬½Ó³É¹¦£¡","Ìáʾ", MB_OK);
    return TRUE;
    }