0

这是我的问题:

[编辑]:好的,此时这几乎变成了一个单独的问题......我很抱歉。切入正题,这是我的业务需求。我有一个包含薪水字段的员工记录(列表中的一项)。我需要能够查看员工工资历史记录的报告。

而已。在我看来(这肯定来自 SQL/数据库背景),这意味着一个一对多的表(一个员工有很多薪水)。事实证明,这在 SharePoint 中并不那么简单,因为我必须过滤 Salary 字段以仅显示给定员工 SalaryHistory 列表中的 Salaries。

我的新问题是最好的方法是什么?是否可以仅使用带有 Salary 字段的 Employee 列表,然后以某种方式查看或显示该特定 Salary 字段的历史记录?例如,如果员工 00001 的薪水从 50,000 更改为 60,000,我可以查看显示此薪金字段历史记录的某种报告/页面吗?

[/编辑]

我想将现有的 MS Access/VBA 旧系统转换为 SharePoint 2010。现有的 MS Access 系统相当简单:一个员工数据库,其中包含典型的员工信息,包括工资历史。我遇到的一个问题是员工不仅有薪水,而且有薪水历史。这意味着主管应该能够查看员工的工资历史,而不仅仅是员工的当前工资。

在我看来,这是一个一对多的关系:一个 Employee 表链接到一个 Salary History 表(一对多是一个 Employee 在一段时间内可以有多个 Salaries)。

在 SharePoint 中实现此功能的最佳方式是什么?我曾尝试使用 InfoPath 以及一些自定义代码,但我似乎无法正确使用它。在我看来,这是一个相对简单的概念,但我在将其从概念转变为具体的 SharePoint 解决方案时遇到了麻烦。

有什么想法或建议吗?

谢谢,

格伦

4

1 回答 1

1

这种设置在 SharePoint 中运行良好。唯一真正的基本要求是您的关系需要是“基本”设置。

两个表之间的关系需要两件事:

a) 您对父表使用标准的自动编号主键。

b)您为子表使用标准的长数字列。

事实证明,无论如何,以上都是 Access 的基本默认设置。因此,第一个提示/技巧是确保您正确设置您的关系。如果您正确执行此操作,则您可以扩大表格大小并将其发送到 SharePoint,您的关系数据将完好无损。

既然 SharePoint 支持级联删除(和删除限制)的关系数据库功能,那么如果您删除父记录,那么子表中的子记录将为您级联删除。

请记住,在上载期间,可能会更改“无意义”的 PK 编号 ID(这意味着也可能发生子 FK(外键)的级联更新。

因为你现有的关系百合不会正确,那么你最好“删除”关系,并重新创建它们。

另外不要忘记检查 Access 中的选项以使用“新”缓存格式。我说的是这个:

在此处输入图像描述

此设置的结果令人惊叹,因为您的应用程序现在将在“离线”断开连接模式下运行。这意味着即使有多个用户都连接到这个数据库,如果你拔掉网络插头,他们都可以继续工作。它们都有一个本地高速缓存(这种设置通常可以围绕 sql server 运行)。因此,如果您在 10,000 条记录表上运行报告,则不需要任何带宽!

当互联网连接恢复或您从现场返回到有 Wi-Fi 的咖啡店时,数据将为您同步(所有连接用户之间的数据实时同步)。这种设置通常需要对现有 VBA 代码进行零更改。(有一个例外需要更改代码)。

现在,下一个问题/部分是如何设置关系,以便它们上升到 SharePoint。我在以下视频中解释了这些步骤:

http://www.youtube.com/watch?v=3wdjYIby_b0&list=PL27E956A1537FE1C5&index=2&feature=plpp_video

请注意,在上面这意味着您必须使用关系向导,而不是关系设计窗口来正确设置这些关系。如果您执行上述操作,那么扩大到 SharePoint 将因此发送表格并在 SharePoint 上保持关系完整。

编辑:另外,在上面的视频中,我将数据库发布到 SharePoint,因为我有 Access Web Services 可用。您不需要发布,但您可以使用“数据库工具”选项卡并使用“SharePoint”按钮。 在此处输入图像描述

于 2012-07-31T00:15:19.980 回答