请教怎么在access中用VBA导入excel数据到access?

Sub 把Excel数据插入数据库中()'***********************

  为了解决用户可能碰到关于"请教怎么在access中用VBA导入excel数据到access?"相关的问题,酷网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"请教怎么在access中用VBA导入excel数据到access?"相关的详细问题如下:请教怎么在access中用VBA导入excel数据到access库

你这个使用太高端了。。如果是SQL我还能告诉你怎么去调用。。ACCESS是微软旗下的简易数据库处理软

扩展阅读,根据您访问的内容系统为您准备了以下扩展内容,希望对您有帮助。

请教怎么在access中用VBA导入excel数据到access库

1、首先为导入文件设置一个按钮:(更新数据)

2、为“更新数据”按钮添加执行代码:

Private Sub Command87_Click()

If MsgBox("请准备好导入的文件!", vbOKCancel, "打印确认") = 1 Then

Dim xdlj As String 'xdlj:相对路径

Dim dklj As String 'dklj:打开路径

dklj = od()

If Not (dklj = "") Then

xdlj = "SELECT 字段名称1,字段名称2,字段名称3," _

& " INTO  ACCESS中表名称 FROM [Excel 8.0;Database=" & dklj & "].[Plan$] WHERE 对EXCEL的筛选条件(可以省略);"   '这句是最关键的

DoCmd.SetWarnings False   '关闭提示警告窗口

DoCmd.RunSQL xdlj '运行SQL

MsgBox "您于" & Now() & "更新数据成功!", vbInformation '人性化提示

End If

End If

End Sub

注意  OD()  意思是open dialogue  我自己定义的函数,为了打开选择文件的会话框:

代码如下:

Public Function od() 'Opendialog

Dim f As FileDialog

Set f = Application.FileDialog(msoFileDialogFilePicker)

'f.Show

If f.Show = True Then

f.Filters.Clear

f.Filters.Add "Excel文件", "*.xls"

od = f.SelectedItems(1)

Else

MsgBox "您中途选择了取消!"

End If

End Function

4、最终效果:

excel中:

ACCESS中:

请教怎么在access中用VBA导入excel数据到access库

下面是我自己写的读取Excel文件内容写入Sql数据库的代码,和写入Access完全一样的。

比较简单,可用,测试过了

记得给分阿,以身相许就算了

'通用对话框打开文件

CommonDialog1.CancelError = False

CommonDialog1.Filter = "XLS|*.XLS "

CommonDialog1.FileName = " "

CommonDialog1.ShowOpen

ExcelName = CommonDialog1.FileName

If ExcelName = " " Then Exit Sub

'创建一个Excel应用对象

Set xlsApp = CreateObject( "Excel.Application ")

'指定要打开的文档

Set xlsWorkbooks = xlsApp.Workbooks.Open(ExcelName)

'指定要打开的工作表

Set xlsWorksheets = xlsWorkbooks.Worksheets(1)

'读取文件标题项内容

dr_KCMC = Trim(xlsWorksheets.Cells(7, 2))

....

Do

'读取文件内容

dr_XSXH = Trim(xlsWorksheets.Cells(i, 2))

dr_XSXM = Trim(xlsWorksheets.Cells(i, 3))

dr_KCCJ = Trim(xlsWorksheets.Cells(i, 4))

If dr_JLXH = " " Or dr_XSXH = " " Or dr_XSXM = " " Then

Exit Do

End If

rsXSCJ.AddNew

rsXSCJ.Fields( "xsxh ").Value = dr_XSXH

rsXSCJ.Fields( "xsxm ").Value = dr_XSXM

.....

rsXSCJ.Update

RecordCount1 = RecordCount1 + 1

i = i + 1

Loop While (dr_JLXH <> " " And dr_XSXH <> " " And dr_XSXM <> " " And dr_XSXM <> " ")

请教怎么在access中用VBA导入excel数据到access库

  Public Sub 客户正常供价批量维护()

If Cells(4, 6) = "" Then

MsgBox "请先选择需要维护价格的系统!", vbInformation

Cells(4, 6).Select

Exit Sub

Else

Dim i As Integer, j As Integer, k As Integer, sht As Worksheet 'i,j,k为整数变量;sht 为excel工作表对象变量,指向某一工作表

Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用

Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表

Dim strCn As String, strSQL As String '字符串变量

Dim mdbFile As String

On Error GoTo add_err

mdbFile = ActiveWorkbook.Path & "\DY_DATA.mdb"

strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbFile '定义数据库链接字符串

cn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn

Set rs = New ADODB.Recordset

rs.Open "dbl直营客户正常供价表", cn, adOpenKeyset, adLockOptimistic

k = Cells(4, 8) + 8

For i = 9 To k

If Cells(i, 7) = "" Then

Else

rs.AddNew

rs(1) = Cells(i, 2)

rs(2) = Cells(i, 7)

rs(3) = Cells(i, 8)

rs.Update

Cells(i, 7) = ""

Cells(i, 8) = ""

End If

Next

MsgBox "数据记录添加成功!", vbInformation

Cells(4, 6).Select

ActiveWorkbook.RefreshAll

add_exit:

Exit Sub

End If

add_err:

MsgBox Err() & vbCrLf & Error()

Resume add_exit

End Sub

相关阅读推荐:

精彩图文

猜你还喜欢

电脑数码美食烹饪健康养生时尚美容情感家庭游戏攻略职场理财生活技巧体育运动 游戏/数码写作指南 办事指南 生活/家居1 健康/养生 职场/理财 爱好/休闲 时尚/美容 美食/营养 教育/学习 家庭/情感 全部科学节气电脑网络体育运动医疗健康游戏社会民生文化艺术电子数码娱乐休闲商业理财教育科学生活烦恼资源共享其它 A B C D12002000400060008000E F G H I J K L M N O P Q R S T U V W X Y Z 0-9 A1

热门推荐