库发过来,我看看。
[email protected]

解决方案 »

  1.   

    嫌麻烦的话先重装一便access数据库试试
      

  2.   

    查一查病毒,
    并且试一试是否可以用VB+ODBC(MS Access Database)打开,
    如果VB做个程序打开没有问题应该就是你的Access的问题,
    而不是库本身的损坏。
      

  3.   

    '看看位于 Program Files\Microsoft Visual Studio\MSDN98\98VS\2052\Samples\VB98\visdata 下的VB工程其中的一段代码:
    '------------------------------------------------------------
    '------------------------------------------------------------
    Sub OpenLocalDB(bSilent As Boolean)
      On Error GoTo OpenError  Dim sConnect As String
      Dim sDatabaseName As String
      Dim dbTemp As Database
      Dim sTmp As String  sDatabaseName = gsDBName
      
      If Not bSilent Then
        Select Case gsDataType
          Case gsMSACCESS
            frmMDI.dlgCMD1.Filter = MSG49 & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG36
          Case gsDBASEIII, gsDBASEIV, gsDBASE5
            frmMDI.dlgCMD1.Filter = "Dbase DBs (*.dbf)|*.dbf" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG37
          Case gsFOXPRO20, gsFOXPRO25, gsFOXPRO26, gsFOXPRO30
            frmMDI.dlgCMD1.Filter = "FoxPro DBs (*.dbf)|*.dbf" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG38
          Case gsPARADOX3X, gsPARADOX4X, gsPARADOX5X
            frmMDI.dlgCMD1.Filter = "Paradox DBs (*.db)|*.db" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG39
          Case gsEXCEL50
            frmMDI.dlgCMD1.Filter = "Excel Files (*.xls)|*.xls" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG40
          Case gsBTRIEVE
            frmMDI.dlgCMD1.Filter = "Btrieve DBs (FILE.DDF)|FILE.DDF" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG41
          Case gsTEXTFILES
            frmMDI.dlgCMD1.Filter = "Text Files (*.txt)|*.txt" & MSG50
            frmMDI.dlgCMD1.DialogTitle = MSG42
        End Select    frmMDI.dlgCMD1.FilterIndex = 1
        frmMDI.dlgCMD1.FileName = gsDBName  '""
        frmMDI.dlgCMD1.CancelError = True
        frmMDI.dlgCMD1.Flags = FileOpenConstants.cdlOFNFileMustExist
        frmMDI.dlgCMD1.ShowOpen    If Len(frmMDI.dlgCMD1.FileName) > 0 Then
          gsDBName = frmMDI.dlgCMD1.FileName
        Else
          Exit Sub
        End If
      Else
        gsDBName = sDatabaseName
      End If
      
      If Len(gsDBName) = 0 Then
        MsgBar vbNullString, False
        Exit Sub
      End If  MsgBar MSG43, True
      Screen.MousePointer = vbHourglass  'set the connect string
      If gsDataType = gsMSACCESS Then
        sConnect = vbNullString
      Else
        sConnect = gsDataType
      End If
      
      'set the database name for non Microsoft Access and Btrieve dbs that
      'came from the Common Dialog
      If gsDataType <> gsMSACCESS And gsDataType <> gsBTRIEVE And _
         gsDataType <> gsEXCEL50 And (Not bSilent) Then
        'need to strip off filename for these dbs
        sDatabaseName = StripFileName(gsDBName)
        gsDBName = sDatabaseName
      Else
        sDatabaseName = gsDBName
      End If  gsODBCDatasource = vbNullString  'reset it  GoTo OneMoreTry
      
    GetPWD:
      Dim frmPWD As New frmDBPWD
      frmPWD.Show vbModal
      If Len(frmPWD.PWD) > 0 Then
        sConnect = ";pwd=" & frmPWD.PWD
        Unload frmPWD
        Set frmPWD = Nothing
        MsgBar MSG43, True
        Screen.MousePointer = vbHourglass
      Else
        'they cancelled the pwd dialog so we need to exit
        Unload frmPWD
        Set frmPWD = Nothing
        Exit Sub
      End IfOneMoreTry:
      If (frmMDI.dlgCMD1.Flags And FileOpenConstants.cdlOFNReadOnly) = FileOpenConstants.cdlOFNReadOnly Then
        gnReadOnly = True
      Else
        gnReadOnly = False
      End If
      Set dbTemp = gwsMainWS.OpenDatabase(sDatabaseName, False, gnReadOnly, sConnect)
      If gbDBOpenFlag Then
        'save the db name
        sTmp = gsDBName
        'restore it
        CloseCurrentDB
        gsDBName = sTmp
        If gbDBOpenFlag Then
          Beep
          MsgBox MSG35, 48
          Exit Sub
        End If
      End If  'success
      frmMDI.Caption = "VisData:" & sDatabaseName
      Set gdbCurrentDB = dbTemp
      gbDBOpenFlag = True
      ShowDBTools
      RefreshTables Nothing
      gdbCurrentDB.QueryTimeout = glQueryTimeout  AddMRU
      If gsDataType <> gsMSACCESS Then
        MsgBar MSG44, False
      End If
      Screen.MousePointer = vbDefault  Exit SubAttemptRepair:
      Screen.MousePointer = vbHourglass
      MsgBar MSG45 & gsDBName, True
      DBEngine.RepairDatabase gsDBName
      Screen.MousePointer = vbDefault
      GoTo OneMoreTryOpenError:
      Screen.MousePointer = vbDefault
      If Err = 3049 Then
        If MsgBox(Err.Description & vbCrLf & vbCrLf & MSG46, 4 + 48) = vbYes Then
          Resume AttemptRepair
        End If
      ElseIf Err = 3031 Then
        'password protected database
        Resume GetPWD
      End If
      gbDBOpenFlag = False
      gsDBName = vbNullString
      gsDataType = vbNullString
      gsODBCDatabase = vbNullString
      gsODBCUserName = vbNullString
      gsODBCPassword = vbNullString
      gsODBCDriver = vbNullString
      gsODBCServer = vbNullString
      If Err <> 32755 And Err <> 3049 Then   'check for common dialog cancelled
        ShowError
      End If
    End Sub'使用DAO是可以打开FoxPro的对于本地数据库好像比ADO要简单
      

  4.   

    一下子找不到安装盘,可能要到晚上才能找到重装了。to feihong0233(泓) : 我按您说的做了个测试界面,可打开数据库中的表。
    可我这两天并没有破坏ACCESS2000这个程序啊?怎会无
      

  5.   

    可以用ACCESS2000的数据库修复工具,修复一下试试,不行的话,找个好的机子试试,看是什么地方出了问题。
      

  6.   

    先查查毒,
    然后在看看是不是ACCESS坏了。
      

  7.   

    建议重新安装ACCESS2000看看,可能感染病毒,如:求职信
      

  8.   

    谢天谢地,重装一次ACCESS2000就搞定了。心情舒畅中。。
      

  9.   

    呵呵我的Access2000有时也有问题,但是重启是就好使。