Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Per VBA mit SQL nen Listenfeld füllen...

Begonnen von Xoar, Mai 10, 2011, 20:59:30

⏪ vorheriges - nächstes ⏩

Xoar

Hallo ihr Lieben,

bin gerade dabei meine Datenbank zu verfeinern und möchte dabei folgendes erreichen.
Ich habe drei Kontrollkästchen  1,2 und 3 in meinem Formular,

nun hab ich ein Listenfeld, welches ein bestimmten Inhalt aus tblMitarbeiter bekommen soll. In tblMitarbeiter gibt es ein Feld Wachabteilung wo entweder 1,2 oder 3 eingetragen ist. Nun soll das Listenfeld immer mit den Datensätzen befüllt werden, die per Kontrollkästchen ausgewählt sind, also alle mit Wachabteilung 1, 2, 3 oder jegliche Kombination.

Hab angefangen nen VBA Code zu schreiben, der per click-ereignis ausgelöst wird:

Public Sub Kontrollkästchen7_Click()
Dim strSQL As String
'WA I Button
    If Kontrollkästchen7.Value = True Then       
         strSQL = "SELECT Mitarbeiter_ID, Nachname, Vorname" & _
                   "FROM tblMitarbeiter " & _
                  "WHERE Wachabteilung = '1'"
         Form_UfoFahrzeugMitarbeiterzuweisung.ListenfeldName.RowSource = strSQL
    Else
       'kommt noch
    End If 
End Sub

Klappt natürlich nicht -.-
Bestimmt banal für euch, für mich jedoch höchst kompliziert. Also die drei Felder sind ja ausgewählt, Mitarbeiter_ID, Nachname und Vorname, das ganze aus tblMitarbeiter, und alle die wo Wachabteilung = 1 ist. Wo ist der Fehler?

MzKlMu

Hallo,
das Vorhaben ist völlig überflüssig- Du kannst Die Wachabteilung entweder mit einem Kombi (so wie ich es in meinem letzten Upload im anderen Beitrag gemacht habe) auswählen, oder Du legst eine Optionsgruppe an mit 3 Wahlmöglichkeiten (= 3 Häkchen). Eine Optionsgruppe lässt automatisch nur eine Auswahl zu.
Gruß Klaus

Xoar

Optionsgruppe und Kombi ist leider nicht ausreichend, da auch ab und an getauscht wird, sprich zwei Wachabteilungen gleichzeitig im Listenfeld stehen müssen. Ich will ja nicht die Wachabteilung in die DB eintragen, sondern das Listenfeld mit Namen damit füllen.

Oder hab ich dein Post gerade falsch verstanden?


Xoar

ok habs, damit klappts

Public Sub Kontrollkästchen7_Click()
Dim st As String
    If Kontrollkästchen7.Value = True Then
          st = "SELECT Mitarbeiter_ID, Vorname, Nachname" _
          & " FROM tblMitarbeiter" _
          & " WHERE Wachabteilung='1'"
         Form_UfoFahrzeugMitarbeiterzuweisung.ListenfeldName.RowSource = st
         Form_UfoFahrzeugMitarbeiterzuweisung.ListenfeldName.Requery
      Else
         'kommt später
    End If
End Sub