我有excel表单,其中包含可以从Server中提取数据并在excel窗体上显示信息的宏。用户可以更新表单,并将宏写回Server。
这是excel表单。用户需要输入那些突出显示在黄色上的值。例如,John输入用户字段为'JOHN‘,然后是区域'LATAM’、年份'2016‘和月份'3’。完成后,John将单击“检索”按钮,从Server中提取所有数据,其中Region = LATAM、Year=2016和Month = 3。所有相关信息将显示在字段区域、区域、Mgmt、CompanyCode、AcctUnit、帐户和值上(它可能有多行记录,用户不允许编辑这些记录)。现在John需要输入字段注释的值。完成后,John将单击“Save”按钮,excel宏将向Server写入注释值

在这里,excel宏的表结构将读写。
CREATE TABLE [dbo].[Sales](
[Region] [varchar](10) NOT NULL,
[Area] [varchar](10) NOT NULL,
[Mgmt] [varchar](10) NOT NULL,
[CompanyCode] [int] NOT NULL,
[AcctUnit] [varchar](7) NOT NULL,
[Account] [varchar](10) NOT NULL,
[Comment] [varchar](100) NULL,
[Year] [int] NULL,
[Jan] [float] NULL,
[Feb] [float] NULL,
[Mar] [float] NULL,
[Apr] [float] NULL,
[May] [float] NULL,
[Jun] [float] NULL,
[Jul] [float] NULL,
[Aug] [float] NULL,
[Sep] [float] NULL,
[Oct] [float] NULL,
[Nov] [float] NULL,
[Dec] [float] NULL,
[SYS_CreatedBy] [varchar](15) DEFAULT SYSTEM_USER,
[SYS_CreatedDate] [datetime] DEFAULT GETDATE(),
[SYS_ModifiedBy] [varchar](15) DEFAULT SYSTEM_USER,
[SYS_ModifiedDate] [datetime] DEFAULT GETDATE(),
CONSTRAINT [PK_Sales] PRIMARY KEY NONCLUSTERED
(
Region ASC,
Area ASC,
Mgmt ASC,
CompanyCode ASC,
AcctUnit ASC,
Account ASC,
)
)基于上面的表结构,其他用户如何在不影响John已经更新为Server的注释的情况下发表评论呢?例如,John已经输入了他的注释,并且已经更新到SQL Server,现在Alice从SQL Server提取相同的数据,其中区域= LATAM,年份= 2016和月份= 3。她应该得到与John相同的数据,除了comments字段,在本例中,这个字段应该是空的,而不是John的注释。
在上表设计的基础上,评论的价值会因用户的不同而不断变化。如何重新设计表格结构,使评论对每个用户都是唯一的?
发布于 2016-05-09 14:52:44
我将创建一个Comments表,并通过外键将其与Sales表关联。
为此,我将向Sales表添加一个代理键,这样就不需要将所有PK列添加到Comments表中。
https://stackoverflow.com/questions/37118660
复制相似问题