achtergrondkleur wijzigen

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
Op basis van een keuzelijst met invulvak kan de achtergrondkleur van het formulier gewijzigd worden.
De tabel heeft een afhankelijke kolom en een zichtbare kolom waarin de de volgende kleuren staan.
kolom1 kolom2
vbBlack Zwart
vbRed Rood
vbGreen Groen
vbYellow Geel
vbBlue Blauw
vbMagenta Magenta
vbCyan Cyan
vbWhite Wit

Op basis van de gemaakte keuze wordt bv vbRed in de variabele gezet.
Code:
Dim VarKleur As String
VarKleur = Forms!Hoofdmenu!cboKleurset
Me.Section(0).BackColor = VarKleur 'detail
Me.Section(1).BackColor = VarKleur 'kop
Me.Section(2).BackColor = VarKleur 'voet

De melding dat de typen niet overeenkomen kan ik niet achterhalen.
Ook andere type aanduidingen geven dezelfde melding.
Als ik Me.Section(0).BackColor = VarKleur vervang door Me.Section(0).BackColor = vbRed werkt het wel.
Waar zit de fout?
 
BackColor verwacht een Long, niet een String.
vbRed is een Long met de waarde 255.
 
Laatst bewerkt:
Breng je keuzelijst terug naar één kolom (de kleur) en doe het zo:

Code:
Select Case VarKleur
    Case "Zwart"
        Me.Section(0).BackColor = RGB(0, 0, 0)
        Me.Section(1).BackColor = RGB(0, 0, 0)
        Me.Section(2).BackColor = RGB(0, 0, 0)
    Case "Rood"
        Me.Section(0).BackColor = RGB(255, 0, 0)
        Me.Section(1).BackColor = RGB(255, 0, 0)
        Me.Section(2).BackColor = RGB(255, 0, 0)
    Case "Groen"
        Me.Section(0).BackColor = RGB(0, 255, 0)
        Me.Section(1).BackColor = RGB(0, 255, 0)
        Me.Section(2).BackColor = RGB(0, 255, 0)
    Case "Geel"
        Me.Section(0).BackColor = RGB(0, 255, 255)
        Me.Section(1).BackColor = RGB(0, 255, 255)
        Me.Section(2).BackColor = RGB(0, 255, 255)
    Case "Blauw"
        Me.Section(0).BackColor = RGB(0, 0, 255)
        Me.Section(1).BackColor = RGB(0, 0, 255)
        Me.Section(2).BackColor = RGB(0, 0, 255)
    Case "Magenta"
        Me.Section(0).BackColor = RGB(255, 0, 255)
        Me.Section(1).BackColor = RGB(255, 0, 255)
        Me.Section(2).BackColor = RGB(255, 0, 255)
    Case "Cyan"
        Me.Section(0).BackColor = RGB(255, 255, 0)
        Me.Section(1).BackColor = RGB(255, 255, 0)
        Me.Section(2).BackColor = RGB(255, 255, 0)
    Case "Wit"
        Me.Section(0).BackColor = RGB(255, 255, 255)
        Me.Section(1).BackColor = RGB(255, 255, 255)
        Me.Section(2).BackColor = RGB(255, 255, 255)
End Select
 
Of:
Code:
Select Case VarKleur
    Case "Zwart":   Kleur = RGB(0, 0, 0)
    Case "Rood":    Kleur = RGB(255, 0, 0)
    Case "Groen":   Kleur = RGB(0, 255, 0)
    Case "Geel":    Kleur = RGB(0, 255, 255)
    Case "Blauw":   Kleur = RGB(0, 0, 255)
    Case "Magenta": Kleur = RGB(255, 0, 255)
    Case "Cyan":    Kleur = RGB(255, 255, 0)
    Case "Wit":     Kleur = RGB(255, 255, 255)
End Select

Me.Section(0).BackColor = Kleur
Me.Section(1).BackColor = Kleur
Me.Section(2).BackColor = Kleur
 
Edmoor en Octafish, bedankt voot jullie oplossing.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan