【问题标题】:Maximum Field Reached for Access 20072007 年可访问的最大字段
【发布时间】:2012-01-27 07:49:06
【问题描述】:

有没有办法增加 Database Access 2007 中的字段数量?

这是我的问题:

我必须创建用户需要定义最终产品的顶级数据。

Example: Car Model X

然后我创建了一个包含 4 个部分的项目来列出建造这辆车的成本。示例:

Section 1: Raw Material 
     - lists raw materials to build 1 car where scrap percentage is included.
Section 2: Molding Process 
     - lists equipment cost in Molding Process to build 1 car
Section 3: Assembly Process 
     - lists equipment cost in Assembly Process to build 1 car
Section 4: Purchased Items 
     - list purchased materials to build 1 car

每个部分应包含 20 个相同的项目。示例

Section 1: > Raw Material 1
1. Component Part #,
2. Component Description,
3. Qty,
4. Material Part #, 
5. Material Description,
6. Material Usage,
7. Unit Price,
8. Scrap Rate, etc.

我将在表格中重复这些项目 20 次。

我之所以这样设计,是因为我希望在报告中看到从第 1 节到第 4 节的所有内容。

如果有 20 种原材料/采购材料/工艺来制造一辆汽车,每个部分有 20 个相同的项目。

我编辑了这篇文章以添加:

这与单个文件的最大锁数有关。

我已经达到了大约 773 列。

Table 1 - 179 fields
Table 2 - 221
Table 3 - 221
Table 4 - 121
Table 5 - 7
Table 6 - 11
Table 7 - 8
Table 8 - 3
Table 9 - 1
Table 10 - 1

帮助说为了增加锁,我必须为我的电脑增加注册表。如果我这样做会发生什么?如果其他用户使用其他计算机,数据库是否可以使用?

谢谢,

迈克尔

【问题讨论】:

    标签: ms-access ms-access-2007


    【解决方案1】:

    也许你应该看看你的桌子设计?例如,您说您在四个部分的每个部分中有 20 个字段,并且这些字段是重复的。如果有任何重复,这几乎总是表明应该重新评估设计。先把数据库设计好,再考虑如何输出数据。

    第 1 部分:> 原材料 1

    Component Part #,
    Component Description,
    Qty,
    Material Part #,
    

    但是,将所有这些都视为一张平面桌子有许多优点。我会给表和字段分配一些随机的名称,因为不太清楚你的项目是关于什么的,所以非常粗略:

    输入表

    ID --> Primary key
    Input
    

    数据

    ID  Input
    1   Raw materia
    2   Whatever
    

    输入明细表

    ID --> Primary key
    InputID --> Foreign key
    Detail  
    

    数据

    ID  InputID   Detail
    1      1      Component Part #,
    2      1      Component Description,
    3      1      Qty,
    4      1      Material Part #,
    

    根据项目的工作方式,输入详细信息表可能是一个查找表,每个可能的详细信息只有一行。这将意味着用户从详细信息表中选择详细信息以创建项目表的第三个表。

    【讨论】:

    • 对不起,如果我不清楚。我刚刚在 4shared 中上传了一个 excel 文件。希望这能解释我的项目。链接在这里。 4shared.com/file/ZumahfKb/Project.html 我还是不能使用上面的设计,因为我需要在用户选择产品时显示每个部分的 20 个项目。每个部分的列不只是 4 个字段。它们只是示例
    【解决方案2】:

    Remou 是正确的,重申您需要一张 Product 表

    Product (ProductId, Productname ....)
    

    组成每个部分的产品组件的一个表说是 ProductComponent。

    ProductComponent (ID, ProductId, SectionName, Part_Equip_No, Description, Qty, Scrap)
    

    有一个用户选择产品的表单和一个显示该产品的 ProductComponents 的子表单,按 SectionName 排序

    【讨论】:

    • @Remou 和 Chris 谢谢你们俩。如果我将创建产品组件表(针对每个部分,例如产品组件部分 A、B、C 和 D),我是否需要为每个表建立关系(一个产品到多个产品组件)?如果我这样做,如果我将 Product 表的字段 + 4 个 ProductComponent 表的字段放在一起,则报告将是空白的。这只有在表单或报表中添加两个表格时才有用。
    • Remou 给了我另一个使用 DLookup 的想法。我只需要设置一个未绑定的组合框字段来列出 ProductID。选择一个 ProductID 后,将在未绑定的字段中查找 A-D 部分。我现在的问题是“如果我在报告/表单中使用过多的 Dlookup 来加载每个部分的 20 条记录(5-10 列),我将面临什么问题?
    • 我忘了提到我还设置了数据库,用户需要在其中为他将为每个部分创建的每条记录定义 a-t。如果他选择 a,表格将输出 product+letter(比如 1234a、1234b...1234t)。当用户键入 ProductID 时,我将在报告/表单中查找此代码。注意:“1234”是 ProductID。
    • 我还在每个未绑定的字段中添加了 IIFfunction。示例:=IIF(ProductID_Unbound_Field"",DLookup("Part_Equip_No","ProductComponentA_tabl‌​e","ProductID_Unbound_Field & 'a' = Code")。代码将是我上面提到的 ProductID+字母。我将创建每个部分都有大量的 DLookup。你怎么看?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多