假设我在 Microsoft Access 数据库中有以下 VBA 代码。
Option Compare Database
Public Enum testdata
foo = 0
bar = 1
baz = 2
End Enum
现在,我想要发生的是让表中的类别字段自动填充基于此枚举的列表项,如下所示:
我必须手动输入每个列表项才能显示我想要的内容,但肯定有一种方法可以将 VBA 代码中的常量枚举列表“链接”到表中的字段,以便当我添加新的枚举条目,类别列表会相应更新。我尝试在互联网上查找,但我无法找出在不使用图片的情况下解释我想要做什么的最佳方法。
除了创建一个笨拙的
Select Case
来返回文字之外,我没有找到其他方法,例如:
' Windows Phone colour enumeration.
Public Enum wpThemeColor
' Official colour names from WP8.
Lime = &HC4A4&
Green = &H17A960
Emerald = &H8A00&
Teal = &HA9AB00
Cyan = &HE2A11B
Cobalt = &HEF5000
Indigo = &HFF006A
Violet = &HFF00AA
Pink = &HD072F4
Magenta = &H7300D8
Crimson = &H2500A2
Red = &H14E5&
Orange = &H68FA&
Amber = &HAA3F0
Yellow = &HC8E3&
Brown = &H2C5A82
Olive = &H64876D
Steel = &H87766D
Mauve = &H8A6076
Sienna = &H2D52A0
' Colour name aliases from WP7.5
Viridian = &HA9AB00
Blue = &HE2A11B
Purple = &HFF00AA
Mango = &H68FA&
' Used for black in popups.
Darken = &H1D1D1D
' Additional must-have names for grey scale.
Black = &H0&
DarkGrey = &H3F3F3F
Grey = &H7F7F7F
LightGrey = &HBFBFBF
White = &HFFFFFF
End Enum
' Returns the literal name of the passed colour value if
' it is one of the Windows Phone Theme Colors.
'
' 2017-04-21. Gustav Brock, Cactus Data ApS, CPH.
'
Public Function LiteralWpThemeColor( _
ByVal Color As wpThemeColor) _
As String
Dim Name As String
Select Case Color
Case wpThemeColor.Lime
Name = "Lime"
Case wpThemeColor.Green
Name = "Green"
Case wpThemeColor.Emerald
Name = "Emerald"
Case wpThemeColor.Teal
Name = "Teal"
Case wpThemeColor.Cyan
Name = "Cyan"
Case wpThemeColor.Cobalt
Name = "Cobalt"
Case wpThemeColor.Indigo
Name = "Indigo"
Case wpThemeColor.Violet
Name = "Violet"
Case wpThemeColor.Pink
Name = "Pink"
Case wpThemeColor.Magenta
Name = "Magenta"
Case wpThemeColor.Crimson
Name = "Crimson"
Case wpThemeColor.Red
Name = "Red"
Case wpThemeColor.Orange
Name = "Orange"
Case wpThemeColor.Amber
Name = "Amber"
Case wpThemeColor.Yellow
Name = "Yellow"
Case wpThemeColor.Brown
Name = "Brown"
Case wpThemeColor.Olive
Name = "Olive"
Case wpThemeColor.Steel
Name = "Steel"
Case wpThemeColor.Mauve
Name = "Mauve"
Case wpThemeColor.Sienna
Name = "Sienna"
Case wpThemeColor.Viridian
Name = "Viridian"
Case wpThemeColor.Blue
Name = "Blue"
Case wpThemeColor.Purple
Name = "Purple"
Case wpThemeColor.Mango
Name = "Mango"
Case wpThemeColor.Darken
Name = "Darken"
Case wpThemeColor.Black
Name = "Black"
Case wpThemeColor.DarkGrey
Name = "DarkGrey"
Case wpThemeColor.Grey
Name = "Grey"
Case wpThemeColor.LightGrey
Name = "LightGrey"
Case wpThemeColor.White
Name = "White"
End Select
LiteralWpThemeColor = Name
End Function
从这里,您可以创建一个循环来填充值列表以填充组合框。
旁注:请小心 MV(多值)字段,因为这些字段会按字母顺序对列表中的名称进行排序,这可能不是您想要的。
美好的一天。 我知道您希望将枚举连接到表中列出。我以相反的方式创建一个类(从表到模块创建枚举),我认为这是更实用的解决方案。如果你愿意我可以和你分享。我是 stackflow 的初学者并创建了我的数据库,因此我在该领域并不专业,但通过一些更改和更好的实践,它将对您有用。让我知道。 费尔南多