zoukankan      html  css  js  c++  java
  • 20161208xlVBA工作表数据导入Access

    Sub InsertToDataBase()
    
        Dim DataPath As String
        Dim SQL As String
        Const DataName As String = "yunying.mdb"
        Const TableName As String = "关键词效果分析"
    
        DataPath = ThisWorkbook.Path & "" & DataName
    
        Dim Rng As Range
        Dim Arr As Variant
        Dim EndRow As Long
        Dim Fileds As String
        Dim Values As String
        
        With ThisWorkbook.Worksheets(1)
            EndRow = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
            Set Rng = .Range("A1:R" & EndRow)
            Arr = Rng.Value
    
            For i = 2 To Rng.Rows.Count
                Fileds = ""
                Values = ""
                For j = 1 To 6
                    Fileds = Fileds & Arr(1, j) & ","
                    Values = Values & "'" & Arr(i, j) & "'," '数值转为文本
                Next j
    
                For j = 7 To Rng.Columns.Count
                    Fileds = Fileds & Arr(1, j) & ","
                    Values = Values & Arr(i, j) & ","
                Next j
    
                Fileds = Left(Fileds, Len(Fileds) - 1)
                Values = Left(Values, Len(Values) - 1)
    
                SQL = "INSERT INTO " & TableName & " (" & Fileds & ") VALUES(" & Values & ")"
    
                Debug.Print SQL
                CnnRunSQL DataPath, SQL
    
                'If i = 2 Then Exit Sub
            Next i
        End With
        Set Rng = Nothing
    End Sub
    Sub CnnRunSQL(ByVal DataPath As String, ByVal SQL As String)
    '对象变量声明
        Dim CNN As Object
        Dim RS As Object
        '数据库引擎——Excel作为数据源
        Const DATA_ENGINE As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
        '创建ADO Connection 连接器 实例
        Set CNN = CreateObject("ADODB.Connection")
        ' On Error Resume Next
        '创建 ADO RecordSet  记录集 实例
        'Set RS = CreateObject("ADODB.RecordSet")
        '连接数据源
        CNN.Open DATA_ENGINE & DataPath
        '执行查询 返回记录集
        
         CNN.Execute (SQL)
        'RS.Open SQL, CNN, 1, 1
        '关闭记录集
        'RS.Close
        '关闭连接器
        CNN.Close
        '释放对象
        Set RS = Nothing
        Set CNN = Nothing
    End Sub
    

      

  • 相关阅读:
    luogu 2742 二维凸包
    poj2398 Toy Storage 计算几何,叉积,二分
    luoguP1742 最小圆覆盖
    bzoj4501 旅行
    cf1173 D. Nauuo and Circle
    bzoj3745: [Coci2015]Norma 分治,单调队列
    bzoj1176: [Balkan2007]Mokia cdq
    luoguP3964 [TJOI2013]松鼠聚会
    浅谈数学期望
    tarjan模板(带注释)
  • 原文地址:https://www.cnblogs.com/nextseven/p/7133808.html
Copyright © 2011-2022 走看看