Probleme mit CHECKBOX

zyclop

Erfahrenes Mitglied
Hallo ich habe Probleme mit der Checkbox...kann mir da jemand weiter helfen. Ich möcht das wenn die checkbox Aktiviert sind, dass dann die Ordner ausgeschlossen werden welche mit folgenden Buchstaben beginnen. _et & _sow

Hier mein Code aber er spuckt nur Fehlermeldungen.

Visual Basic:
If chk_samOrdner.Value = True Then

  'If Überprüfung - Auschschliessung der Obersten Verzeichnisse
  If LCase(Mid(objsubfolder.Name, 1, 3)) <> "_et" Then
  Else
  End If
  If chk_samOrdner.Value = 1 Then
  If LCase(Mid(objsubfolder.Name, 1, 4)) <> "_sow" Then
  Else
End If

FehlerMeldung

Methode oder Mitgliedsnamen nicht gefunden

Folgendes ist Markiert
Zeile1:
Code:
 If chk_samOrdner.Value = True Then

Seht ihr was ich falsch mache? Ich finde Nichts.
 
Hallo,

Checkboxen können als Wert 0, 1 oder 2 haben. Angewählt ist also 1 und nicht True (True ist -1). Deshalb ist True nicht zulässig.

Du kannst aber einfach schreiben:

If chk_samOrdner.Value Then
...
END IF

Außerdem fehlen ein paar End If's (falls dies Deine ganze Funktion war).

Ronald
 
Checkboxen können als Wert 0, 1 oder 2 haben. Angewählt ist also 1 und nicht True (True ist -1). Deshalb ist True nicht zulässig.

Funktioniert immer noch nicht.
Du kannst aber einfach schreiben:

If chk_samOrdner.Value Then
...
END IF

funktioniert auch Nicht er meldet mir die selbe Fehlermeldung. Ist value überhaupt richtig? Wenn ich CTRL + Space drücke dann schlägt er mir andere funktionen vor aber nicht VALUE.

Schgugg...
 
Zuletzt bearbeitet:
Dein Bild war hilfreich !

Du hast ein Array von Checkboxen. In diesem Fall musst du über den Index spezifizieren welche du überprüfen willst.

Visual Basic:
If chk_samOrdner[1].Value = True Then

oder alternativ

Visual Basic:
If chk_samOrdner.item(1).Value = True Then

Grüsse bb
 
Sry das war ein Fehler hier nochmal der Code, dein Vorschlag Funktioniert auch nicht...

Visual Basic:
                If chkAnOrdner.Value Then
                'If Überprüfung - Auschschliessung der Obersten Verzeichnisse
                If LCase(Mid(objsubfolder.Name, 1, 3)) <> "_an" Then
                Else
                End If
                End If
                If chk_samOrdner.Value Then
                If LCase(Mid(objsubfolder.Name, 1, 4)) <> "_sam" Then
                Else
                End If
                End If
 
Zuletzt bearbeitet:
Brainbyte hat aber Recht. Guck in den Eigenschaften der Checkbox nach, was im Feld "Index" steht. Den Eintrag musst Du dann verwenden.

z.B. wenn da 0 steht, dann:

if chkanordner(0).value then...

Du hast dort vielleicht versehentlich einen Index eingetragen, damit wird es automatisch ein Array, auch wenn es sonst keine derartigen Checkboxen gibt.

Nochmal grundsätzlich: ChkAnOrdern ist doch auch wirklich als Checkbox angelegt? Oder reden wir hier alle die ganze Zeit aneinander vorbei?

Checkboxen haben definitiv eine Value-Eigenschaft, diese kann definitiv nur 0, 1 oder 2 sein.
 
Hast du das mit dem Array berücksichtigt? Dies passiert schnell wenn man mit dem GUI-Manager Komponenten kopiert statt hinzufügt. Ist mir auch schon passiert...:)
 
Ich habs gefunden...

Hier der Richtige COde jedoch habe ich nun Probleme mit dem Ausschliessen dieser Ordner aber da mache ich einen neuen Thread...


Thx @ll

Code:
                If chkAnOrdner(0).Value = 1 Then
                'If Überprüfung - Auschschliessung der Obersten Verzeichnisse
                If LCase(Mid(objsubfolder.Name, 1, 3)) <> "an_" Then
                MsgBox ("AN ORDNER")
                Else
                If chk_samOrdner(1).Value = 1 Then
                If LCase(Mid(objsubfolder.Name, 1, 4)) <> "_sam" Then
                MsgBox ("SAM ORDNER")
                Else
                End If
                End If
                End If
                End If
 

Neue Beiträge

Zurück