vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück

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

Visual-Basic Einsteiger
Collection Klasse 
Autor: guenni255
Datum: 03.01.21 09:25

Hallo Forum
Ein frohes und gesundes neues Jahr allen Mitgliedern.

Mal wieder hab ich ein Problem bei dem ich mir eure Hilfe erhoffe.

Grundlage war euer Workshop OOP-Objektorientierte Programmierung.

nun möchte ich in einer Collection-klasse mehrere Collections einbinden. Doch schon bei der ersten Streikt es.
Frage: Geht das überhaupt?
der Testlauf des unten stehenden Code´s endet bei der Zeile .WT=test in der Collection mit der Fehlermeldung "Argument ist nicht optional".

Was mache ich falsch??
Hier der gesamte Code

'Modul Deklarationen
Option Explicit
Public Teilnehmer As colWochenende
Public Test As Collection
 
Option Explicit
'clsWochenende
Private xTlnname As String
Private xWT As Collection
Private xTage As Integer
Private xNächte As Integer
Private xAnreise As Date
Private xAbreise As Date
 
Public Property Get Tlnname() As String
Tlnname = xTlnname
End Property
Public Property Let Tlnname(ByVal vNewValue As String)
xTlnname = vNewValue
End Property
Public Property Get WT() As Collection
WT = xWT
End Property
Public Property Set WT(ByVal vNewValue As Collection)
xWT = vNewValue
End Property
Public Property Get Tage() As Integer
Tage = BerTage
End Property
Public Property Let Tage(ByVal vNewValue As Integer)
xTage = vNewValue
End Property
Public Property Get Nächte() As Integer
Nächte = BerNächte
End Property
Public Property Let Nächte(ByVal vNewValue As Integer)
xNächte = vNewValue
End Property
Public Property Get Anreise() As Date
Anreise = xAnreise
End Property
Public Property Let Anreise(ByVal vNewValue As Date)
xAnreise = vNewValue
End Property
Public Property Get Abreise() As Date
Abreise = xAbreise
End Property
Public Property Let Abreise(ByVal vNewValue As Date)
xAbreise = vNewValue
End Property
 
Public Function BerTage() As Integer
BerTage = DateDiff("d", Anreise - 1, Abreise)
End Function
Public Function BerNächte() As Integer
BerNächte = DateDiff("d", Anreise, Abreise)
End Function
 
 
Option Explicit
 
'colWochenende
Private tempjeTln As Collection
Public WT As Collection
Public Property Get item(ByVal Index As Long) As clsWochenende
Set item = tempjeTln(Index)
End Property
Public Property Get count() As Long
count = tempjeTln.count
End Property
Public Sub remove(ByVal Index As Integer)
tempjeTln.remove Index
End Sub
Private Sub Class_Initialize()
Set tempjeTln = New Collection
Set WT = New Collection
End Sub
 
Private Sub Class_Terminate()
Set tempjeTln = Nothing
Set WT = Nothing
End Sub
Public Function Add(Tln As String, _
                              anr As Date, _
                              abr As Date, _
                              Test As Collection) As clsWochenende
Dim DSnew As clsWochenende
Set DSnew = New clsWochenende
With DSnew
     .Tlnname = Tln
     .Anreise = anr
     .Abreise = abr
     .WT = Test'**********hier bleibt es mit der Fehlermeldung hängen********
 
End With
tempjeTln.Add DSnew
Set Add = DSnew
Set DSnew = Nothing
End Function
 
'Eingabeform
Option Explicit
 
Private Sub chkWT_Click(Index As Integer)
Dim temp As Collection
Set temp = New Collection
Set Test = New Collection
Select Case Me.chkWT(Index).Value
     Case 1
          temp.Add 1, CStr(Index)
     Case 0
          temp.remove (CStr(Index))
End Select
Set Test = temp
Set temp = Nothing
Debug.Print Test.item(1)
Teilnehmer.Add Me.txt1_Ebene1, Me.txtAnreise, Me.txtAbreise, Test
 
End Sub
 
Private Sub Command1_Click()
Call colkontrolle'Modul zur Prüfung der Inhalte
End Sub
Private Sub Form_Load()
Set Teilnehmer = New colWochenende
End Sub
 
Private Sub txtAnreise_Click()
Me.txtAnreise = "1/1"'Testeingabe
End Sub
 
Private Sub txtAnreise_LostFocus()
Me.txtAnreise = Format(Me.txtAnreise, "dd.mm.yy")
End Sub
 
Private Sub txtAbreise_Click()
Me.txtAbreise = "8/1"'Testeingabe
End Sub
 
Private Sub txtAbreise_LostFocus()
Me.txtAbreise = Format(Me.txtAbreise, "dd.mm.yy")
End Sub
Ich würde mich sehr freuen wenn mir jemand helfen könnte und bedanke mich herzlich im voraus.

Gruß Günni
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Collection Klasse188guenni25503.01.21 09:25
Re: Collection Klasse56Souffleurlos03.01.21 11:21
Re: Collection Klasse54guenni25503.01.21 14:07
Re: Collection Klasse52guenni25503.01.21 17:15

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-2021 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