从Excel中生成的数据更新访问权限

时间:2013-03-08 12:27:56

标签: database excel ms-access reporting

我试图找到一种最佳方法,一旦调查问卷参与者对数据进行了筛选,就可以将Access从Access提取到Excel并更新Access。

Access中的数据非常复杂和庞大(包含在一个主表中 - 50+列和200K +行) - 这使得眼睛不容易。

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

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

Ps明显的答案欢迎,我是一个完整的Access / Excel菜鸟 - 但有MySQL,SQL Server的背景。

1 个答案:

答案 0 :(得分:0)

据我所知,没有一个工具可以做到这一点,如果你想创建自己的,我建议你使用任何.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