【问题标题】:Single form to create multiple SKU's from user options从用户选项创建多个 SKU 的单一表单
【发布时间】:2020-07-22 19:45:00
【问题描述】:

这很复杂,很难解释,但它就是这样。我创建了一个运行良好的数据库。它可以节省时间,但对用户来说效率不高。我有一个商品表单,用户从组合框中选择纸张类型。他们有两个选择。他们还必须从另一个组合框中选择打印尺寸。他们有 5 个选择。我有基于这些选择创建 SKU 编号的 VBA 代码。

一件艺术品可以使用两种纸张类型,并且有 5 种尺寸可供选择。我想弄清楚的是如何在此表单上提供所有可能的选择,允许用户为该作品选择选项。例如,用户选择纸张类型和所有打印尺寸。这将为一件艺术品创建 10 个 SKU 编号。以下是当前视图中的表单副本:

这可以通过一种形式完成吗?如果是这样,如何以最有效的方式完成?我觉得可以。在 VBA 中,这将是 IF 嵌套的噩梦,尤其是在连接 SKU 变量时。 Select 语句或我不知道的其他方法可能是解决方案。

提前感谢您提供的任何建议和帮助。

编辑:我希望这有助于澄清。我更喜欢使用这种形式

完成任务。复选框不在选项组中,因此如果用户需要,它们都可以被选中。出于这个问题的目的,我们假设用户已选中所有框。这将等于总共 10 个组合。

我运行此子程序以根据纸张类型和打印尺寸生成 SKU:

Private Function UpdateArtwork()

Me.MerchandiseSKU = Me.cboArtworkID_A5A.Column(5) & _
Me.cboPrintTypeID_A5A.Column(2) & Me.cboPaperTypeID_A5A.Column(0) & _
Format(Me.cboPrintSizeID_A5A.Column(0), "00")

Call UpdateArtworkPic

End Function

我正在尝试弄清楚如何为新表单编写代码,以允许生成所有 10 个 SKU 编号并为 Artwork_ID(Artwork 表)创建 10 条新记录。

【问题讨论】:

  • 除非我在这里遗漏了什么,虽然有 10 种可能的纸张类型/尺寸组合,但他们只会选择其中一种吗?所以您的 SKU 只是将选定的 SKU 纸张部分连接到选定的 SKU 纸张尺寸?
  • @Applecore 是的,有 10 种可能的组合。目前,每种形式一次只允许我创建其中一种组合。但可能有多种尺寸可供选择。纸张类型或打印尺寸的每一种变化都需要用户为每一种类型填写此表格。我试图让表单允许所有组合(可能对每个选择使用复选框?)并以某种方式为每个组合获取一个唯一的 SKU 编号。我知道这将创建(最多)10 条记录,这就是我所期望的。但我尽量避免填写 10 次表格。
  • Continued... 最后,如果选择所有 10 种组合,则每个 Artwork_ID 将有 10 个商品 SKU 编号(总共 10 条记录)。我已经有 VBA 可以成功运行 SKU 的串联。我希望这能澄清我对这个表格的意图。
  • @Applecore - 我喜欢你的回答并理解这个概念。但是,我无法让它为我正常工作。这可能是我想念的东西。无论如何,如果我说没有必要使用子表单,这有什么不同吗?当用户将艺术品作为商品添加到表单上时(从上方),哪种方法最适合为 10 种组合中的每一种创建 MerchandiseSKU 并自动创建与 Artwork_ID 关联的 10 条新记录?此时,我应该创建一个新问题吗?

标签: ms-access-2016


【解决方案1】:

我认为最好的方法是创建一个名为 tblArtworkSKU 的新表,其中包含以下字段:

  • ArtworkSKU_ID - 自动编号,主键;
  • Artwork_ID - 编号,Artwork 表中的外键;
  • PrintSize_ID - PrintSize 表中的外键;
  • PrintType_ID - PrintType 表中的外键;
  • 艺术品SKU - 文字。

然后,您将基于此表创建一个小的连续表单,并通过组合框选择 PrintSize_ID 和 PrintType_ID。当您将此表单放在您拥有的主表单上时,Access 应该会自动让您加入 Artwork_ID 以创建一对多关系。

然后您可以使用每个组合框的 AfterUpdate 事件来创建 SKU。

问候,

【讨论】:

  • 谢谢。我会解决这个问题,让你知道结果如何。这似乎是一个不错的方法。
猜你喜欢
  • 2018-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2012-12-23
相关资源
最近更新 更多