【问题标题】:Updating Access from Data yielded in Excel从 Excel 中生成的数据更新 Access
【发布时间】:2013-03-08 12:27:55
【问题描述】:

一旦问卷参与者提供数据,我正在尝试找到将报告从 Access 提取到 Excel 并更新 Access 的最佳方法。

Access 中的数据非常复杂且庞大(包含在一个主表中 - 50 多列和 20 万多行) - 这并不容易让人眼前一亮。

我想从 Access 中提取报告(本质上是数据的一个子集 - N 列中的 M 列)。该报告将由个人更新(即更新的值),并且需要反馈到 Access。

我正在寻找实现上述目标的最用户友好的方法。有没有人有任何想法?

欢迎回答显而易见的问题,我是一个完整的 Access/Excel 菜鸟 - 但有 MySQL、SQL Server 的背景。

【问题讨论】:

  • 问题仍然太宽泛 - 请更准确地输入输入和The database is not normalized 建议。
  • 已编辑 - 基本上只有一张大桌子!

标签: database excel ms-access reporting


【解决方案1】:

据我所知,没有单一的工具可以做到这一点,如果您想创建自己的工具,我建议您使用任何 .NET 语言、ADO.NET 和 Interop 来从 Excel 读取数据和将数据读取到 Excel 中.如果你不想做一些 .NET 编程,有一个名为 DBxtra 的报告工具,它以 Excel、Access 和许多数据库作为输入,并允许你将数据导出到 Excel(静态或动态)和其他格式.路线会是这样的:

1.- 从 DBxtra 中的 Access 数据库创建查询

2.- 将结果导出到 Excel(链接或静态工作表)

3.- 让您的用户更新 Excel 中的数据

4.- 使用 Excel 宏更新 Access 数据库中的数据。

要更新访问数据库,您需要在 Excel 文件中放入这样的宏:

Sub appProb()

    On Error GoTo 1

    Dim XLTable As TableDef

    Set Db = OpenDatabase(mdbFile)
    Set XLTable = Db.CreateTableDef("tblProbTemp")

    XLTable.Connect = "Excel 5.0;DATABASE=" & xlsFile
    XLTable.SourceTableName = "tblXLProb"
    Db.TableDefs.Append XLTable

    strSQL = "Insert into tblProb Select * FROM tblProbTemp"
    Db.Execute strSQL

1:
    Err.Clear
    On Error Resume Next
    Db.TableDefs.Delete "tblProbTemp"
    Db.Close

End Sub

唯一值得注意的是tblXLProb被命名为范围。

注意:这个宏是从这里复制的:http://www.mrexcel.com/forum/microsoft-access/51157-update-access-records-excel.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多