Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Checkboxen in einer Tabelle speichern und wieder ausgeben
zurück: Arbeiten mit Dateien aus ACCESS heraus..für Anfänger weiter: Access automatisch beenden (mit Sound) Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
mluepkes
Access Intermediate


Verfasst am:
16. Aug 2006, 10:31
Rufname:

Checkboxen in einer Tabelle speichern und wieder ausgeben - Checkboxen in einer Tabelle speichern und wieder ausgeben

Nach oben
       

Problemstellung: Man möchte Kontrollkästchen in der Datenbank speichern, ohne für jedes Kästchen eine eigene Spalte zu erstellen. Der gespeicherte Wert soll später wieder in die entsprechenden Kontrollkästchen umgewandelt werden.

Lösung: Binäre Addierung aller Kontrollkästchen und gemeinsame Speicherung in einem Textfeld mit folgendem Code:

Am besten separat in einem Modul

Code:
Public Sub Chk2Txt(frm As Form, txtName As String, chkName As String, Number As Integer)
    Dim intStartValue As Integer
   
    intStartValue = frm(txtName)
    If frm(chkName) = True Then
        intStartValue = intStartValue + 2 ^ Number
      ElseIf frm(chkName) = False Then
        intStartValue = intStartValue - 2 ^ Number
    End If
    frm(txtName) = intStartValue
End Sub

Public Sub Txt2Chk(frm As Form, chkList() As Variant, txtName As String)
    Dim binValue As Integer
    Dim i As Integer

    ' Überprüfung der Länge der Checkboxliste
    i = UBound(chkList)
    binValue = txtName
    ' Durchlaufen der Schleife, bis das Ende der Liste erreicht ist
    Do While Not chkList(i) = ""
        If binValue >= (2 ^ i) Then
            frm(chkList(i)) = True
            binValue = binValue - (2 ^ i)
          Else
            frm(chkList(i)) = False
        End If
        If i <> 0 Then
            i = i - 1
          Else
            Exit Do
        End If
    Loop
End Sub

In die Eigenschaft "Beim Klicken" der Checkbox kommt dieser Code:
Code:
Private Sub chk1_Click()
    Chk2Txt Me, "txtCheckboxspeicher", "chk1", 0
End Sub
Der erste Parameter bleibt am besten bei "Me", der zweite Parameter enthält den Namen des Textfeldes, in dem die Checkbox-Werte gespeichert werden. Der 3. Parameter ist der Name des Kontrollkästchens selbst. Der 4. Parameter ist eine fortlaufende Numerierung aller Kontrollkästchen, die gespeichert werden sollen, beginnend bei 0. Das erste Kästchen hat hier also 0 stehen, das Zweite 1, das Dritte 2 usw.

Die Eigenschaft "Beim Anzeigen" muss wie folgt aussehen:
Code:
Private Sub Form_Current()
    Dim chkList() As Variant
   
    chkList = Array("chk1", "chk2", "chk4", "chk8", "chk16")
    Txt2Chk Me, chkList, "txtCheckboxspeicher"
End Sub
Der Parameter chkList ist eine Variant Array, welches die Namen aller Checkboxen enthält, die in dem Textfeld gespeichert wurden, und zwar aufsteigend in der Reihenfolge der Numerierung, beginnend bei 0. Der 2. Parameter ist wieder das Textfeld, in dem die Werte gespeichert wurden.

------------------------------------

Für Verbesserungsvorschläge bin ich offen. Ich denke der Code ist solide, aber an vielen Stellen noch nicht sauber oder optimal. V.a. lerne ich bei jeder Verbesserung selbst noch etwas dazu ;)

_________________
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when my fear is gone I will turn and face fear's path, and only I will remain.
Willi Wipp
Moderator


Verfasst am:
22. Aug 2006, 21:27
Rufname:
Wohnort: Raum Wiesbaden


Re: Checkboxen in einer Tabelle speichern und wieder ausgebe - Re: Checkboxen in einer Tabelle speichern und wieder ausgebe

Nach oben
       

Hi mluepkes, schoene Loesung.

{Dieser Beitrag nimmt das Thema aus den unbeantworteten Themen heraus}
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellendaten auf Knopfdruck in Bericht ausgeben... 7 Nico150 694 24. Jun 2004, 12:30
Nico150 Tabellendaten auf Knopfdruck in Bericht ausgeben...
Keine neuen Beiträge Access Tabellen & Abfragen: Tage auf Datum addieren und an bestehende Tabelle anfügen... 1 lorelei 1234 11. Jun 2004, 08:38
stpimi Tage auf Datum addieren und an bestehende Tabelle anfügen...
Keine neuen Beiträge Access Tabellen & Abfragen: Nur Jahr von Datum ausgeben 1 Gast 1837 28. Mai 2004, 22:07
lothi Nur Jahr von Datum ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Spaltennamen einer Tabelle ermitteln 1 Alexander Neron 899 27. Mai 2004, 13:47
lothi Spaltennamen einer Tabelle ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: kein Wert in der Tabelle, dann immer Null (0)?? 3 Michel_9 1005 26. Mai 2004, 14:28
Michel_9 kein Wert in der Tabelle, dann immer Null (0)??
Keine neuen Beiträge Access Tabellen & Abfragen: Daten der Abfrage ausgeben 3 Papa Schlumpf 1007 24. Mai 2004, 17:34
Willi Wipp Daten der Abfrage ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle aus Abfrage erstellen 1 dasti 3317 09. Apr 2004, 12:14
Gast Tabelle aus Abfrage erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Werte aus Formular per VBA in andere Tabelle anfügen 1 Gast 1861 04. Apr 2004, 21:27
el_gomero Werte aus Formular per VBA in andere Tabelle anfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: ausgeblendete Tabelle wieder einblenden 2 Dana79 2758 24. März 2004, 11:54
Dana79 ausgeblendete Tabelle wieder einblenden
Keine neuen Beiträge Access Tabellen & Abfragen: Wert einer Abfrage in Tabelle kopieren? 1 BerlinerWolf 2009 21. März 2004, 12:43
Maya Wert einer Abfrage in Tabelle kopieren?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps