选择Case for Access无法正常工作

时间:2013-09-30 19:27:55

标签: vba ms-access

我在Access中创建了一个数据库。这就是我设置工作流程的方式。

  1. 创建了'字段'表。
  2. 为每个字段指定其唯一列名称(即项目团队字段具有Fld10078字段ID)
  3. 创建'门票'表格
  4. 生成的报告,其中包含一张“票证”卡片,其中所需的字段位于所需的位置。
  5. “门票”上的每个项目团队都有自己的颜色。
  6. 在我来之前,这已经编码并且工作正常。每个项目团队都有自己独特的颜色。我想添加2个具有独特颜色的新团队,但它现在正在出现。只有前4个队伍会在票卡上显示颜色。

    以下是代码:

    Select Case Me.Fld10078
    
            Case "Team A"
                Me.Fld10078.BackColor = RGB(204, 0, 0)
                Me.Fld10078.ForeColor = vbWhite
            Case "Team B"
                Me.Fld10078.BackColor = RGB(51, 102, 255)
                Me.Fld10078.ForeColor = vbWhite
            Case "Team C"
                Me.Fld10078.BackColor = RGB(0, 153, 0)
                Me.Fld10078.ForeColor = vbWhite
            Case "Team D"
                Me.Fld10078.BackColor = RGB(255, 153, 0)
                Me.Fld10078.ForeColor = vbWhite
            Case "Team E"
                Me.Fld10078.BackColor = RGB(204, 0, 0)
                Me.Fld10078.ForeColor = vbWhite
            Case "Team M"
                Me.Fld10078.BackColor = RGB(0, 128, 128)
                Me.Fld10078.ForeColor = vbWhite
            Case Else
                Me.Fld10078.Visible = False
        End Select
    

    以下是控制源的内容:

    =IIf([Fld10078]="Team A","Team A",IIf([Fld10078]="Team B","Team B",IIf([Fld10078]="Team C","Team C",IIf([Fld10078]="Team D","Team D",IIf([Fld10078]="Team E","Team E",IIf([Fld10078]="Team M","Team M"))))))
    

    E队和M队没有显示颜色。它们显示文字但不显示颜色。

1 个答案:

答案 0 :(得分:0)

如果控件的名称与数据库字段名称相同,则访问有时会混淆。

尝试将标签Fld10078重命名为其他名称,例如TeamLabel或lblFld10078。使用属性(F4),全部选项卡,名称属性。

编辑澄清评论

假设Fld10078是列名,lblFld10078是引用它的标签,请执行以下操作:

  • 在Select Case语句
  • 之前设置lblFld10078.Visible = True
  • lblFld10078的标题属性从IIf语句更改为= [Fld10078]