Sub 把Excel数据插入数据库中()'***********************
为了解决用户可能碰到关于"请教怎么在access中用VBA导入excel数据到access?"相关的问题,酷网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"请教怎么在access中用VBA导入excel数据到access?"相关的详细问题如下:请教怎么在access中用VBA导入excel数据到access库
你这个使用太高端了。。如果是SQL我还能告诉你怎么去调用。。ACCESS是微软旗下的简易数据库处理软
扩展阅读,根据您访问的内容系统为您准备了以下扩展内容,希望对您有帮助。
请教怎么在access中用VBA导入excel数据到access库
1、首先为导入文件设置一个按钮:(更新数据)
2、为“更新数据”按钮添加执行代码:
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() 'OpendialogDim 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