ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1371|回复: 5

求助 excel连接access数据库

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-12-14 17:52 | 显示全部楼层 |阅读模式
各位好

尝试往数据库里面倒入数据,提示错误:在对应所需名称或叙述中未找到项目
不确定数据库是否正常连接。请大神指点。
谢谢!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-12-14 17:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub DataImport()
On Error Resume Next
'Open the original data
Dim tmpBook As Workbook, tmpSheet As Worksheet
'Set tmpBook = Excel.ActiveWorkbook
'Set tmpSheet = tmpBook.Sheets(1)

Dim openFilePN As String
    openFilePN = Excel.Application.GetOpenFilename("All files (*.*),*.*", , "Select the workbook!")
    Set tmpBook = Excel.Workbooks.Open(openFilePN)
    'Set tmpSheet = tmpBook.Sheets(1)
    'Set tmpBook = Excel.ActiveWorkbook
    Set tmpSheet = tmpBook.Sheets(1)

Dim i, j, k, n, m As Integer

Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim SQL As String
Dim myPath As String
Dim myTable As String

myPath = "C:\Users\0000135401\Desktop\TEGE yoursony" & "GE DB.accdb"
myTable = "原紙データ"

SQL = "select * from" & myTable
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myPath & ";Jet OLEDB:Database Password=ge" 'Open DB
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic

m = rs.RecordCount
   
For i = 2 To tmpSheet.Range("B65536").End(xlUp).Row
            rs.AddNew
            
            rs.Fields(0).Value = tmpSheet.Cells(i, 9).Value '大連処理開始日
            rs.Fields(1).Value = tmpSheet.Cells(i, 11).Value '会社名
            rs.Fields(2).Value = tmpSheet.Cells(i, 12).Value '事前申請(伝票区分)
            rs.Fields(3).Value = tmpSheet.Cells(i, 8).Value 'レポートID
            rs.Fields(4).Value = TD '入力担当
            rs.Fields(6).Value = "未審査" '一次審査結果
            rs.Fields(9).Value = "未審査" '二次審査結果
            rs.Fields(14).Value = tmpSheet.Cells(i, 13).Value '領収書が必須
            rs.Fields(15).Value = tmpSheet.Cells(i, 51).Value '入力数
            rs.Fields(16).Value = tmpSheet.Cells(i, 2).Value '申請者提出日
            rs.Fields(17).Value = tmpSheet.Cells(i, 56).Value '従業員 ID
            rs.Fields(18).Value = tmpSheet.Cells(i, 7).Value 'レポート総計
            rs.Fields(19).Value = tmpSheet.Cells(i, 10).Value '担当経理
            
        
                    
            rs.Update
        Next
   
   
    tmpSheet.Range("AE1:AG65536").ClearContents
    tmpBook.Save
    tmpBook.Close

    m = rs.RecordCount - m
    MsgBox m & "件 import to Acess sucessfully"
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
   
End Sub

TA的精华主题

TA的得分主题

发表于 2016-12-19 17:17 | 显示全部楼层
Sub 导入第1次大考名单到表格()
  On Error GoTo ooo
    Dim myData As String, myTable As String, SQL As String
    Dim cnn As Object
    Dim rs As Object
    Dim i As Integer
     Sheets("录入成绩").Select
'    清除表格线
    ActiveSheet.Range("a4, d3000").Delete
    Set cnn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    myData = ThisWorkbook.Path & "\学生成绩库.mdb"
    myTable = "第1次大考成绩"
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open myData
    End With
     Sheets("录入成绩").Range("A4:m3000").Delete     '清除现有表中A列至Z列前1000行的所有内容
     Sheets("录入成绩").Range("A4:d3000").ClearContents     '清除现有表中A列至Z列前1000行的所有内容
    SQL = "select 班别,学号,姓名 from " & myTable & " order by 学号"
    rs.Open SQL, cnn, 3, 3
    If rs.RecordCount > 0 Then
        For i = 1 To rs.Fields.Count
            Cells(3, i) = rs.Fields(i - 1).Name
        Next i
        With Range(Cells(3, 1), Cells(3, rs.Fields.Count))
            .Font.Bold = True
            .HorizontalAlignment = xlCenter
        End With
        Range("A4").CopyFromRecordset rs
        ActiveSheet.Range("a3,m3000").Font.Size = 10
    End If
      With Sheets("录入成绩")
       .CommandButton1.Visible = True
       .CommandButton2.Visible = False
       .CommandButton3.Visible = False
      End With
    MsgBox "数据库中的记录数为:" & rs.RecordCount
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
Exit Sub
ooo:
   MsgBox "对不起,操作错误,不能够为您提供服务!"
End Sub

TA的精华主题

TA的得分主题

发表于 2016-12-19 17:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
仅供参考,希望对你有启发

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-12-20 14:55 | 显示全部楼层
gmts 发表于 2016-12-19 17:18
仅供参考,希望对你有启发

?没有看到附件或者提示之类的呀  麻烦再发一次好么

TA的精华主题

TA的得分主题

发表于 2016-12-22 08:08 | 显示全部楼层
本身都没附件给别人,还要求别人给附件,是不是有点可笑

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-12-22 15:16 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-26 10:04 , Processed in 0.051816 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表