Vba 使用可变颜色名称设置访问背景色

Vba 使用可变颜色名称设置访问背景色,vba,ms-access,Vba,Ms Access,我正在从数据库字段中提取颜色,希望该列确定窗体上控件的颜色。所以我知道我可以这样做来静态设置颜色: Me.txtPartNum.BackColor = vbRed 现在,我的数据库中有一个红色,所以我尝试: Me.txtPartNum.BackColor = "vb" + varMyColor 但是,这会导致运行时错误“13”类型不匹配 如何使用可变颜色设置窗体或窗体中控件的背景色。我使用此函数结束了我们的工作,该函数从十六进制值中给出vbcolor值: Function

我正在从数据库字段中提取颜色,希望该列确定窗体上控件的颜色。所以我知道我可以这样做来静态设置颜色:

Me.txtPartNum.BackColor = vbRed
现在,我的数据库中有一个红色,所以我尝试:

Me.txtPartNum.BackColor = "vb" + varMyColor
但是,这会导致运行时错误“13”类型不匹配


如何使用可变颜色设置窗体或窗体中控件的背景色。

我使用此函数结束了我们的工作,该函数从十六进制值中给出vbcolor值:

Function HexToLongRGB(sHexVal As String) As Long
    Dim lRed As Long
    Dim lGreen As Long
    Dim lBlue As Long

    lRed = CLng("&H" & Left$(sHexVal, 2))
    lGreen = CLng("&H" & Mid$(sHexVal, 3, 2))
    lBlue = CLng("&H" & Right$(sHexVal, 2))

    HexToLongRGB = RGB(lRed, lGreen, lBlue)

End Function

vbRed
相当于
255
,即
vbRed
“vbRed”
不同。我会在这里创建一个helper函数来解析存储为文本的颜色,即“red”,并返回等效的颜色常量。但是颜色是由用户输入的。有没有一个地方可以让我得到一个相当于这些常量的颜色代码列表。这些常数是十六进制。我可以设置我的数据库列来存储十六进制数字。我最终使用了我发布的解决方案