在Access数据库中使用多个备注字段

时间:2016-10-18 04:19:50

标签: sql-server-2008 ms-access ms-access-2007

在Microsoft Access 2010 Accdb数据库中使用备注字段有哪些优点和缺点? 我正在修改Access 2010(accdb)数据库,以将45,000条记录的表中的5列转换为备忘录。然后,此数据将作为varchar(max)导入SQL-Server。

我正在为数据创建新字段,然后将文本(255)字段中的数据复制为“ALTER TABLE'在VBA中也没有通过Ms Access表视图改变列是正常的("没有足够的磁盘空间或内存")。

这使我对使用这么多Memo字段感到非常谨慎。最终将最终成为4个表,每个表有5个备注字段。每个表格总共有100多个字段,最多可记录400,000条记录。

我是否应该回到最终用户并告诉他们必须使用文本(255)而不是多个备注字段,因为我怀疑该字段已被定义为备注'以防万一&#39 ;

1 个答案:

答案 0 :(得分:2)

我真的不认为5个备忘录字段很多,Access只会为实际输入的值声明磁盘空间。虽然它可以容纳1GB的字符(2GB的存储空间),但它可能只显示65K字符左右。我不会过分关注使用备忘录字段,我不认为这是你的问题。

如果备注字段已经是基表的一部分,那么您将使用UPDATE语句将数据从其他字段移动到其中。如果要将表导出到SQL,然后将列放大,则

ALTER TABLE MyTable ALTER COLUMN MyColumn nvarchar(MAX)  

应该没有问题。

您可能需要考虑使用表键,记录键和单个备注字段创建单个关系表,然后根据需要通过以一对多方式引用此表来允许尽可能多的备注字段基表。

所以你会有这种类型的数据:

TABLE          PK           MEMO
---------------------------------
TableA         1            Note A
TableA         1            Note B
TableA         2            Note A
TableB         1            Note A

你究竟在哪里得到磁盘空间不足的错误?