| |

Fortgeschrittene ProgrammierungCheckbox aktivieren/deaktivieren | |  | Autor: RoDiMa | Datum: 29.11.03 10:44 |
| Hallo VB-Könner,
ich habe ein Programm übernommen, das ich etwas meinen Bedürfnissen anpassen möchte.
Es handelt sich um eine Fehlzeiten-Verwaltung.
Es gibt hierbei ein Formular, nachdem die Checkbox aktiviert ist, der Mitarbeiter für den ausgewählten Monat in einem MsflexGrid angezeigt wird, Fehlzeiten-Einträge.
Jetzt sind es aber über 80 MA. Um alle anzeigen zu wollen, muß ich also 80x klicken.
Mein Wunsch:
Wenn ich dieses Formular öffne, dann sollen gleich alle aktiviert sein. Wen ich nicht angzeigt haben will, möchte ich deaktivieren.
Reihenfolge des Aufrufs:
Ich habe eine Gesamtübersicht der MA. Nach Klick auf einen Button kommt nächstes Formular mit allen MA die ich angzeigt haben will. Aktiviere ich nun die Checkbox vor der MA-Nummer, dann wird mir der MA nach betätigen eines Buttons in der Übersicht angezeigt.
Lasse ich mir das Formular(Unterformular) in der Entwurfsansicht anzeigen dann sieht es so aus:
O ListView1
Der Code für das anzeigen des Grid ist:
Private Sub Form_Load()
Dim intIdx As Integer, li As ListItem, mrs As New ADODB.Recordset
For intIdx = 1 To 12
Me.cmbMAb.AddItem Format(CStr(intIdx), "00") & " - " & Format(DateSerial(Year(Date), intIdx, 1), "mmmm")
Me.cmbMBis.AddItem Format(CStr(intIdx), "00") & " - " & Format(DateSerial(Year(Date), intIdx, 1), "mmmm")
Next
Me.cmbMAb.ListIndex = Month(Date)
Me.cmbMBis.ListIndex = Month(Date)
For intIdx = -5 To 5
Me.cmbJahr.AddItem Year(Date) + intIdx
Next
Me.cmbJahr.Text = Year(Date)
If mrs.State = adStateOpen Then mrs.Close
With mrs
.ActiveConnection = cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
If intGroup = 5 Then
.Open "SELECT * FROM tblMitarbeiter WHERE MA_Abt='" & strMAAbt & "'"
Else
.Open "tblMitarbeiter"
End If
End With
With ListView1
'.ColumnHeaders.Add , , "ID", 800
.ColumnHeaders.Add , , "Pnum", 800
.ColumnHeaders.Add , , "Name", 1700
.ColumnHeaders.Add , , "Vorname", 1000
.ColumnHeaders.Add , , "Abteilung", 1900
.View = lvwReport
End With
If mrs.EOF = True Then
ListView1.ListItems.Clear
Exit Sub
End If
mrs.MoveFirst
ListView1.ListItems.Clear
Do While Not mrs.EOF
Set li = ListView1.ListItems.Add(, , mrs!MA_Pnum)
'li.SubItems(1) = mrs!MA_Pnum
li.SubItems(1) = mrs!MA_Name
li.SubItems(2) = mrs!MA_Vorname
li.SubItems(3) = mrs!MA_Abt
mrs.MoveNext
Loop
mrs.Close
Set mrs = Nothing
End Sub
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
PopupMenu Me.mnuEdit
End If
End Sub
Private Sub mnuBack_Click()
Load fMAStart
Unload Me
fMAStart.Show
End Sub
Private Sub mnuHelpAbout_Click()
Call MDI_Info
End Sub
Private Sub mnuHelpContents_Click()
Call MDI_HelpCont
End Sub
Private Sub mnuLegende_Click()
Call MDI_Legende
End Sub
Private Sub mnuView_Click()
Dim intCount As Integer, intIdx1 As Integer
intCount = 0
For intIdx1 = 1 To Me.ListView1.ListItems.Count
If Me.ListView1.ListItems(intIdx1).Checked = True Then intCount = intCount + 1
Next
If intCount > 0 Then
frmGUebers.Show
Else
MsgBox "Bitte min. 1 Mitarbeiter wählen!", vbCritical, "Fehler"
End If
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next
Select Case Button.Key
Case "view"
Call mnuView_Click
Case "back"
Call mnuBack_Click
End Select
End Sub
Zusammenfassung meines Wunsches:
1. Beim Öffnen des Formulars sollen alle Checkboxes aktiviert sein um alle MA in der Übersicht zu sehen.
2. Um einzelne MA nicht sehen zu wollen deaktivieren der Checkbox. Mitarbeiter wird in der Übersicht herausgenommen.
Erbitte Eure Hilfe.
Vielen Dank schon mal.
Gruß aus der Residenz des Rechts
RoDiMa |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevAniGif (VB/VBA) 
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere Infos
|