加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_扬州站长网 (https://www.0514zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

VBA访问access数据库实例

发布时间:2022-09-30 12:48:22 所属栏目:MySql教程 来源:
导读:  最近,同事要用一个excel文件导出每天邮件的信息,邮件基本信息都存在了access数据表中了,要实现这个功能有好几种方式,例如写一个qty文件数据库实例,而我直接用了excel自带的VBA功能,写了一个宏,根据输入的
  最近,同事要用一个excel文件导出每天邮件的信息,邮件基本信息都存在了access数据表中了,要实现这个功能有好几种方式,例如写一个qty文件数据库实例,而我直接用了excel自带的VBA功能,写了一个宏,根据输入的日期直接调用,想要哪一天的就导哪一天的!不能白瞎了我这个程序猿的称号啊,
 
  Sub DaoChuExl()
 
  Dim conn As New ADODB.Connection
 
  Dim rs As New ADODB.Recordset
 
  Dim rowxh As Integer, vhx As Integer, rowzs As Integer, connStr As String, sqlStr As String
 
  On Error Resume Next
 
  connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\maildb.mdb;"
 
  'MsgBox connStr
 
  Dim ws As Worksheet
 
  Set ws = Sheets("Sheet1")
 
  conn.Open connStr
 
  vhx = 1
 
  sqlStr = "SELECT Fax_Name, Fax_ModiTime FROM Fax_ReciveInfo where Fax_Update='" & ws.Cells(1, 6).Value & "';"
 
  'MsgBox sqlStr
 
  rs.Open sqlStr, conn, adOpenStatic, adLockBatchOptimistic
 
  ws.Range("A2:K65535").ClearContents
 
  Do While Not rs.EOF
 
  With ws
 
  .Range("C2").CopyFromRecordset rs, 65535
 
  End With
 
  rs.MoveNext
 
  Loop
 
  rowzs = rs.RecordCount + 1
 
  For rowxh = 2 To rowzs
 
  ws.Cells(rowxh, 1) = vhx
 
  ws.Cells(rowxh, 4).NumberFormatLocal = "yyyy-m-d hh:mm:ss"
 
  vhx = vhx + 1
 
  Next
 
  rs.Close
 
  Set rs = Nothing
 
  End Sub
 

(编辑:应用网_扬州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!