Excel+vba+access数据库编程视频(请教怎么在access中用VBA导入excel数据到access库)

2024-07-25 01:40:03 :18

excel+vba+access数据库编程视频(请教怎么在access中用VBA导入excel数据到access库)

大家好,关于excel+vba+access数据库编程视频很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于请教怎么在access中用VBA导入excel数据到access库的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

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

下面是我自己写的读取Excel文件内容写入Sql数据库的代码,和写入Access完全一样的。比较简单,可用,测试过了记得给分阿,以身相许就算了’通用对话框打开文件CommonDialog1.CancelError = FalseCommonDialog1.Filter = "XLS|*.XLS "CommonDialog1.FileName = " "CommonDialog1.ShowOpenExcelName = CommonDialog1.FileNameIf 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 = " " ThenExit DoEnd IfrsXSCJ.AddNewrsXSCJ.Fields( "xsxh ").Value = dr_XSXHrsXSCJ.Fields( "xsxm ").Value = dr_XSXM.....rsXSCJ.UpdateRecordCount1 = RecordCount1 + 1i = i + 1Loop While (dr_JLXH 《》 " " And dr_XSXH 《》 " " And dr_XSXM 《》 " " And dr_XSXM 《》 " ")

如何用vba代码将access数据库连接求代码

》》.用vba连接ACESS:Set Conn= Server.CreateObject("ADODB.Connection")Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sample.mdb")Conn.Open》》.用vba连接EXCEL,打开EXCEL记录集:Set connExcel = Server.CreateObject("ADODB.Connection")connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath( "InputExcel\sample.xls") &";Extended Properties=’Excel 8.0;HDR=YES;IMEX=1’;" connExcel.Open connStrSet rs = Server.CreateObject("ADODB.Recordset")rs.Open "Select * From ", connExcel, 0, 1》》.vba数据处理:===============================================用Excel+VBA+SQL Server进行数据处理使用Excel+VBA+SQL Server进行数据处理是一种简单有效方法,掌握以下基础知识实现快速入门(掌握excel/vba/sqlserver各1%内容,你就能成为数据处理高手的:)):一、Excel基础知识了解工作簿(Workbook)、工作表(Worksheet)、单元格(Cell)等的基本概念,熟悉一些基本操作。二、SQL Server基础知识参见1、数据库有关概念:数据库、表、记录、字段A)数据库(Database)B)表(Table)、记录(行,Row,Record)、字段(列,Column,Field)...2、常见数据操作的SQL命令:select, insert , update ,delete三、VBA基础知识:1、基本概念。2、基本控制结构:·顺序结构:程序按顺序执行;·分支结构命令:if 条件 then《如果条件成立执行本语句块》end if 或:if ... then... else ...end if 或:if ... then...elseif ......else...end if 等。。·循环结构命令:for i=? to ??...next或do while ......loop3、在VBA中操纵对象,先理解操纵EXCEL工作表和数据库对象:将值写入EXCEL单元格,如:thisworkbook.worksheets("sheet1").cells(1,2)=1234444从EXCEL单元格取得数值,如:x=thisworkbook.worksheets("sheet1").cells(1,2)数据库操作:cn.open ...(建立数据连接对象)rs.open ... (建立数据集对象)x=rs("...") (读取数值)rs.close (关闭rs)cn.close (关闭cn)cn.execute (执行sql语句)...四、例子sub test() ’定义过程名称Dim i As Integer, j As Integer, sht As Worksheet ’i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表Dim cn As New ADODB.Connection ’定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用Dim rs As New ADODB.Recordset ’定义记录集对象,保存数据表Dim strCn As String ,strSQL as String ’字符串变量strCn = "Provider=sqloledb;Server=服务器名称或IP地址;Database=数据库名称;Uid=用户登录名;Pwd=密码;" ’定义数据库链接字符串’下面的语句将读取数据表数据,并将它保存到excel工作表中:画两张表想像一下,工作表为一张两维表,记录集也是一张两维表strSQL = "select 字段1,字段2 from 表名称" ’定义SQL查询命令字符串cn.Open strCn ’与数据库建立连接,如果成功,返回连接对象cnrs.Open strSQL, cn ’执行strSQL所含的SQL命令,结果保存在rs记录集对象中i = 1Set sht = ThisWorkbook.Worksheets("sheet1") ’把sht指向当前工作簿的sheet1工作表Do While Not rs.EOF ’当数据指针未移到记录集末尾时,循环下列操作sht.Cells(i, 1) = rs("字段1") ’把当前记录的字段1的值保存到sheet1工作表的第i行第1列sht.Cells(i, 2) = rs("字段2") ’把当前字段2的值保存到sheet1工作表的第i行第2列rs.MoveNext ’把指针移向下一条记录i = i + 1 ’i加1,准备把下一记录相关字段的值保存到工作表的下一行Loop ’循环rs.Close ’关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数’下面的语句将读取excel工作表数据,并将之简单计算后存入数据库,这里使用上面程序中的一些变量’假设分别读取工作表sheet1第5行至第500行的第8列和第9列已存在的数据,然后将它们相乘,并将积存入数据库的某个表strSQL="" ’清空上面定义的变量for i=5 to 500 ’循环开始,i从5到500strSQL=strSQL & "insert into 表名(字段) values(" & sht.cells(i,8)*sht.cells(i,9) & ") ;" ’构造SQL命令串next’至此生成一串SQL命令串,保存的内容大概为:insert into 表名(字段) values(数值1);insert into 表名(字段) values(数值2);...cn.execute strSQL ’执行该SQL命令串,如果SQL命令没有错误,将在数据库中添加501个记录;也可以用rs.open strSQL,cn 执行cn.close ’关闭数据库链接,释放资源end sub=====================================》》.听说可以用一条语句实现记录集导入excel表,而且不是用循环的,不知道是真是假,等待高手的回答。

Access数据库怎么用VBA

最近有不少的Access用户们,会询问小编数据库使用VBA的操作,今日在这篇文章内小编就为你们带来了Access数据库使用VBA的操作方法。Access数据库使用VBA的操作方法1、打开Access数据库,如图所示。2、点击“数据库工具”选项卡中“VisualBasic”,如图所示。3、在弹出的VBA界面,先选择数据库,然后点击右键,选择“插入”,“模块”,不同于excel中的VBA,Access中的VBA代码需要放置于模块中,如图所示。4、在模块中输入VBA代码,并点击“运行子程序”,如图所示。5、这样,所输入的VBA代码就会在Access数据库中运行,如图所示。Access|

如何在EXCEL中,用VBA实现数据自动更新到ACCESS中

以下是我用了实现从Excel导数据进ACCESS的代码,你参考一下,应该就可以做出来了:(Excel和Access两个文件放一个文件夹下)Public Sub 客户正常供价批量维护() If Cells(4, 6) = "" Then MsgBox "请先选择需要维护价格的系统!", vbInformation Cells(4, 6).Select Exit Sub ElseDim 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 StringOn Error GoTo add_errmdbFile = ActiveWorkbook.Path & "\DY_DATA.mdb"strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbFile ’定义数据库链接字符串cn.Open strCn ’与数据库建立连接,如果成功,返回连接对象cnSet rs = New ADODB.Recordsetrs.Open "dbl直营客户正常供价表", cn, adOpenKeyset, adLockOptimistick = Cells(4, 8) + 8For i = 9 To kIf Cells(i, 7) = "" ThenElse 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 IfNextMsgBox "数据记录添加成功!", vbInformationCells(4, 6).SelectActiveWorkbook.RefreshAlladd_exit: Exit SubEnd Ifadd_err: MsgBox Err() & vbCrLf & Error() Resume add_exitEnd Sub

如何将access中将数据导入excel,用VBA编程实现

Public Sub ImportData() Dim mydata As String, mytable As String, SQL As String Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset ActiveSheet.Cells.Clear mydata = ThisWorkbook.Path & "\成绩管理.mdb" ’指定数据库 mytable = "考试成绩" ’指定数据表 ’建立与数据库的连接 Set cnn = New ADODB.Connection With cnn .Provider = "microsoft.jet.oledb.4.0" .Open mydata End With SQL = "select 班级,avg(数学) as 数学平均,avg(语文) as 语文平均," _ & "avg(物理) as 物理平均,avg(化学) as 化学平均,avg(英语) as 英语平均, " _ & "avg(体育) as 体育平均,avg(总分) as 总分平均 " _ & "from " & mytable & " group by 班级" Set rs = New ADODB.Recordset rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic ’复制字段名 For i = 1 To rs.Fields.Count Cells(1, i) = rs.Fields(i - 1).Name Next i ’复制全部数据 Range("A2").CopyFromRecordset rs rs.Close cnn.Close Set rs = Nothing Set cnn = NothingEnd Sub

Excel VBA连接ACCESS数据库

 stpath = ThisWorkbook.Path & Application.PathSeparator & "attendance.accdb"    CN.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & stpath & ";Jet OLEDB:Database Password=cjw123456"

供参考。

excel中如何直接调用access数据

实现你的要求有编程和非编程两种办法

先说编程的方法:

可以在数据库端编写程序,每当ACCESS数据库表发生变化时同时将变更写入EXCEL文档中;也可在电子表格端用EXCEL工作表显示来自ACCESS数据库某张表的内容,并用VBA编写代码每隔一段时间自动刷新其数据源。编程的方法说起来简单但是实施起来涉及的技术细节很多、工作量不小,尤其是数据库端编程更是如此,挺费事的,就不提供具体程序了。

再说非编程方法,以你的程度来看这种方法也许更加适合:

打开EXCEL文档选择其中一个工作表,点击 数据——导入外部数据——新建数据库查询 打开 选择数据源对话框 在数据库选项卡选择“MS Access Database*”点击确定按钮 打开选择数据库对话框 选择要连接的ACCESS数据库文件所在的驱动器、文件夹和数据库文件名 点击确定按钮 打开 查询向导 - 选择列 对话框 双击 左边“可用的表和列” 中的某张表 点击 “》”按钮将需要输出的字段送到右边“查询结果中的列”之中,连续点击“下一步”直到“完成”按钮 出现 选择 “将数据返回Microsoft Office Excel”点击“完成”按钮 打开 导入数据对话框 选择 “现有工作表”点击“确定”按钮后 系统会将ACCESS表中的数据导入到EXCEL工作表中。

数据导入工作表后,如要反映ACCESS数据表的最新变动情况,请右击其中一个有数据的单元在弹出菜单中选择点击“刷新数据”即可。

你还可以随时调整“数据区域属性”以便实现“自动刷新数据”等功能,办法如下:

右击其中一个有数据的单元在弹出菜单中选择点击“数据区域属性”打开 外部数据区域属性 对话框 设置适合自己要求的属性后 点击“确定”按钮即可

涉及的图片较多,这里只给出“数据区域属性”对话框截图供参考 

2.使用非编程方法虽然可以自动刷新跟进数据库的变动情况,但是其刷新频率最短只能设定为1分钟,如果需要将刷新频率缩短至秒级则需要编写VBA程序。下面是相关VBA代码:

首先导入数据库表的方法请参照上列手动非编程方法之说明

导入数据后请右击其中一个有数据的单元格,在弹出菜单中选择点击“数据区域属性”打开 外部数据区域属性 对话框(见附图) 修改外部数据区域的各个属性如下,然后点击确定

名称:QuertTbl

允许后台刷新复选框:不勾选

刷新频率复选框:不勾选

打开工作簿时,自动刷新复选框:勾选

第二步 编写VBA程序

1)使用快捷键Alt+F11 打开VBE(Visual Basic Editor)器

2)单击菜单 插入——模块,打开模块代码窗口

3)在右边代码窗口输入以下代码:

’这段代码执行刷新数据源动作

Sub AutoRefresh()

    Sheets("sheet1").QueryTables("QueryTbl").Refresh

    Call AUTO_OPEN

End Sub

’这段代码设定刷新频率为10秒。注意刷新频率越高系统开销越大在数据量较大时更要注意这个问题,请尽量设定较长的刷新时间间隔。

Sub AUTO_OPEN()

    Application.OnTime Now + TimeValue("00:00:10"), "AutoRefresh"   

End Sub

4)在左边对象窗口,双击Microsoft Excel对象下的 Sheet1(Sheet1),在右边代码窗口输入以下代码:

’这段代码,令每次从其他工作表转到工作表1时刷新数据源

Private Sub Worksheet_Activate()

    Sheets("sheet1").QueryTables("QueryTbl").Refresh   

End Sub

第三步退出VBE器,关闭工作簿,记得保存修改。

重新打开工作簿后,系统会提示安全警告,请点击“启用宏按钮”,跟着系统会提示查询刷新,请点击“启用自动刷新”按钮。之后工作簿就会每5秒自动刷新数据源,当你从其他工作表跳回工作表1时,即使未到刷新时间系统也会立即刷新数据。

附:用代码创建新的工作表并写入值的函数使用方法。

Dim xlapp As Excel.Application

    Dim xlbook As Excel.Workbook

    Dim xlsheet As Excel.Worksheet

    Set xlapp = CreateObject("excel.application")

    Set xlbook = xlapp.Workbooks.Add

    xlbook.Saveas "c:\aaa.xls"’你要保存的文件路径

    xlapp.Visible = True ’设置EXCEL对象可见(或不可见)

    Set xlsheet = xlbook.Worksheets(1) ’设置活动工作表

    xlsheet.Cells(1, 1) = "aa" ’给单元格(row,col)赋值

    xlsheet.Cells(1, 2) = "bb"

    xlbook.Close (True) ’关闭工作簿

    xlapp.Quit ’结束EXCEL对象

    Set xlapp = Nothing ’释放xlApp对象

如果你还想了解更多这方面的信息,记得收藏关注本站。

excel+vba+access数据库编程视频(请教怎么在access中用VBA导入excel数据到access库)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.