本人在学校工作,有很多excel数据要导入access中进行处理,但不知怎样编程实现数据的导入功能(可以自动选择所要的列数据导入),请帮忙,能有好的实例的话能不能给我看看.

解决方案 »

  1.   

    Dim excel_app As Object
    Dim excel_sheet As Object
    Dim db As Database
    Dim AccessPath As String, AccessTable As String
    Dim sql As String
    Dim frm As New frmMessage
    Dim msg As String
        
        ADOsdb.BeginTrans
        
    '    With ADOsdb
    '        If .State <> adStateOpen Then
    '            .CursorLocation = adUseClient
    '            .ConnectionString = gsOdbcName
    '            .Open
    '        End If
    '    End With    With dlgCommonDialog
            .DialogTitle = "打开"
            .CancelError = False
            'ToDo:   设置   common   dialog   控件的标志和属性
            .Filter = "Excel文件   (*.xls)|*.xls"
            .ShowOpen
            If Len(.FileName) = 0 Then
                    Exit Sub
            End If
            sfile = .FileName
        End With
     
      
      AccessPath = lcspath & "\db.mdb"                                 '数据库路径
      excelpath = sfile                                                  '电子表格路经
      AccessTable = "db"                                                 '数据库内表格
      
      msg = Trim(InputBox("请输入表名,如sheet1或sheet2:", "工作表", "sheet1"))
    '  msg = Str(msg)
      sheet = msg                                            '电子表格内工作表
      Set db = OpenDatabase(excelpath, True, False, "Excel 8.0") '打开电子表格文件
      sql = ("Select * into [;database=" & AccessPath & "]." & AccessTable & " FROM [" & sheet & "$]")
    '  sql = ("Select * into [;database=" & AccessPath & "]." & AccessTable & " FROM [" & sheet & "]")
        
      If sheet = "" Then
          MsgBox "您选择的EXCEL表不存在,请重新导入!", vbInformation, "抱歉!"
          Exit Sub
      End If
      
      If deltable = 1 Then
        With ADOsdb
            .Execute "drop table db", , adCmdText
        End With
      End If
      
      ADOsdb.CommitTrans  db.Execute (sql)                                         '将电子表格导入数据库
                    
                    
      ShowMessage "正在导入EXCEL表,请您稍等..."
      Timer1.Enabled = True
      
     
                
      

  2.   

    为什么我运行到第八行代码(ADOsdb.BeginTrans)的时候显示 实时错误:要求对象        
      

  3.   

    为什么我运行到第八行代码(ADOsdb.BeginTrans)的时候显示 实时错误:要求对象