vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: ein Form als Klasse in eine Collection 
Autor: guenni255
Datum: 04.04.20 11:13

verschiedene EINSATZFORM´S Daten als Collection

Option Explicit
Private tempcol As colEinsätze
 
Private xDatum As Date
Private xAnfang As String
Private xEnde As String
Private xStd As Double
Private xEinsNr As Integer
 
'Erstellen einer Collection für Neuen Einsatz
Public Function fEinsatzNeu(datum As Date) As colEinsätze
Set tempcol = New colEinsätze
With tempcol
     xDatum = datum
     xAnfang = "00:00"
     xEnde = "00:00"
     xEinsNr = 1
     tempcol.Add xDatum, 0, xAnfang, xEnde, xEinsNr
End With
Set fEinsatzNeu = tempcol
Set tempcol = Nothing
 
End Function
 
''Erstellen einer Collection für Vorhandene Einsätze
Public Function fEinsatzVorhanden(datum As Date) As colEinsätze
Set tempcol = New colEinsätze
Dim rsEins As DAO.Recordset
strDSQ = "SELECT * FROM Einsätze WHERE Datum=" & Format(datum, _
  "\#yyyy\-mm\-dd\#") & " ORDER BY Einsatz"
Set rsEins = DB.OpenRecordset(strDSQ, dbOpenSnapshot)
If rsEins.BOF = True And rsEins.EOF = True Then Exit Function
rsEins.MoveFirst
Do While Not rsEins.EOF
      xDatum = datum
      xEinsNr = rsEins.Fields(2)
      xAnfang = Format(rsEins.Fields(3), "hh:mm")
      xEnde = Format(rsEins.Fields(4), "hh:mm")
      tempcol.Add xDatum, 1, xAnfang, xEnde, xEinsNr
      rsEins.MoveNext
Loop
rsEins.Close
Set fEinsatzVorhanden = tempcol
Set tempcol = Nothing
 
End Function
 
'Erstellen einer Collection für weiteren Einsatz
Public Function fEinsatzWeitere(datum As Date) As colEinsätze
Set tempcol = New colEinsätze
With tempcol
     xDatum = datum
     xAnfang = "00:00"
     xEnde = "00:00"
     xEinsNr = fletzterEinsatz(datum) + 1
     tempcol.Add xDatum, 2, xAnfang, xEnde, xEinsNr
End With
Set fEinsatzWeitere = tempcol
Set tempcol = Nothing
 
End Function
Die Klasse für die EINSATZFORM Daten (vielleicht liege ich da mir der Bezeichnung KLASSE falsch)

Option Explicit
'KLASSE EINSÄTZE
'Erstellen der collectionKlasse(clsEinsätze)
Private xDatum As Date
Private xFormmodus As String
Private xEinsAnfang As String
Private xEinsEnde As String
Private xEinsStd As Double
Private xEinsNr As Integer
 
Public Property Get datum() As Date
datum = xDatum
End Property
 
Public Property Let datum(ByVal vNewValue As Date)
xDatum = vNewValue
End Property
 
Public Property Get Formmodus() As Integer
Formmodus = xFormmodus
End Property
 
Public Property Let Formmodus(ByVal vNewValue As Integer)
xFormmodus = vNewValue
End Property
 
Public Property Get EinsAnfang() As String
EinsAnfang = xEinsAnfang
End Property
 
Public Property Let EinsAnfang(ByVal vNewValue As String)
xEinsAnfang = vNewValue
End Property
 
Public Property Get EinsEnde() As String
EinsEnde = xEinsEnde
End Property
 
Public Property Let EinsEnde(ByVal vNewValue As String)
xEinsEnde = vNewValue
End Property
 
Public Property Get EinsStd() As Double
EinsStd = xEinsStd
End Property
 
Public Property Let EinsStd(ByVal vNewValue As Double)
xEinsStd = vNewValue
End Property
 
Public Property Get EinsNr() As Integer
EinsNr = xEinsNr
End Property
 
Public Property Let EinsNr(ByVal vNewValue As Integer)
xEinsNr = vNewValue
End Property
Die Collection

Option Explicit
'COLLECTION
'Erstellen der Collection zur Klasse
Private tempEinsätze As Collection
 
Public Property Get item(ByVal Index As Long) As clsEinsätze
Set item = tempEinsätze(Index)
End Property
Public Property Get count() As Long
count = tempEinsätze.count
End Property
Public Sub remove(ByVal Index As Integer)
tempEinsätze.remove Index
End Sub
 
Private Sub Class_Initialize()
Set tempEinsätze = New Collection
End Sub
 
Private Sub Class_Terminate()
Set tempEinsätze = Nothing
End Sub
Public Function Add(datum As Date, modus As Integer, Anfang As String, Ende As _
  String, EinsNr As Integer) As clsEinsätze
Dim DSnew As clsEinsätze
Set DSnew = New clsEinsätze
With DSnew
    .datum = datum
    .Formmodus = modus
          ' 0 -> ersterDS neuer tag
          ' 1 -> vorhandener DS
          ' 2 -> Weiterer DS
          ' 3 -> markierter DS
    .EinsAnfang = Anfang
    .EinsEnde = Ende
    If Anfang <> "" And Ende <> "" Then .EinsStd = fMinBerechnen(Anfang, _
      Ende) Else .EinsStd = 0
    .EinsNr = EinsNr
 
End With
tempEinsätze.Add DSnew
Set Add = DSnew
Set DSnew = Nothing
 
End Function
Hoffe ist nicht zuviel zum Übermitteln.

LG Günni
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ein Form als Klasse in eine Collection1.100guenni25502.04.20 16:55
Re: ein Form als Klasse in eine Collection479Wobi04.04.20 01:56
Re: ein Form als Klasse in eine Collection558guenni25504.04.20 09:08
Re: ein Form als Klasse in eine Collection495guenni25504.04.20 11:12
Re: ein Form als Klasse in eine Collection466Wobi05.04.20 03:05
Re: ein Form als Klasse in eine Collection452guenni25505.04.20 09:22
Re: ein Form als Klasse in eine Collection468guenni25504.04.20 11:13
Re: ein Form als Klasse in eine Collection462guenni25505.04.20 10:33
Re: ein Form als Klasse in eine Collection483guenni25505.04.20 12:31
Re: ein Form als Klasse in eine Collection471Wobi06.04.20 02:27
Re: ein Form als Klasse in eine Collection461effeff07.04.20 10:56
Re: ein Form als Klasse in eine Collection461guenni25508.04.20 09:08

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel