MS访问动态添加目标数量的文本框

ms access dynamically adding textbox for amount of goals

晚上好,

我完全卡在 ms 访问中,试图创建动态添加的字段。

我有一个名为 frmMatch 的表格。

它包含 6 个字段,称为:

MatchDate - Date field
CompetitionType - ComboBox
Location - Input field
TeamName - Input field
ResultHome - Input field
ResultAway - Input field

现在我想创建的只是一个简单的按钮,名称类似于 添加得分球员

问题是,如果是主场比赛,我不知道如何通过 ResultHome 字段获得 VBA 到 运行,如果是客场比赛,我不知道如何通过 ResultAway 获得 VBA 到 运行。

例如,当主场比赛以 3-1 获胜时,我希望通过循环 VBA 到 运行 直到它达到 ResultHome 值,在本例中为 3.

并根据ResultHome值添加文本框的数量。

所以我可以输入组合框或文本框中的名字和他得分的时间。

希望大家能帮帮我。

我已经在这个表格和其他网站上进行了搜索,但找不到任何对我有帮助的东西。

这里你需要的不是"add textboxes",而是让它们可见。

因此,您需要做的是创建所有文本框并将它们的可见性 属性 设置为 "False"。用数字命名它们,例如 "tbScore1"、"tbScore2"、"tbScore3" 等...

然后,您需要在按钮后面添加一些 VBA 以使适当数量的文本框可见。类似于:

'If both scores are 0, no need to show anything
  If ResultHome.Value = 0 and ResultAway.Value = 0 then
    exit sub
  else
'Otherwise, set the value of the loop to whatever the score is
    If ResultHome.Value <> 0 then
      LoopVal = ResultHome.Value
    else
      LoopVal = ResultAway.Value
    endif
  endif

'Make as many textboxes visible as necessary
  For i = 1 To LoopVal
    MyFormName.Controls("tbScore" & i).Visible = True
  Next

注意:这是所有 "aircode" 并且未经测试,因此可能需要进行一些调整才能使其正常工作。但这是您可以用来实现结果的逻辑结构。