vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

VB.NET - Ein- und Umsteiger
Verständnishilfe in OOP für VBA-Umstieg 
Autor: sronny
Datum: 08.02.16 16:12

Ein herzliches Hallo an die Gemeinschaft...

Angemeldet hab ich mich hier, weil es doch ein sehr umfangreiches Board ist und ich derzeit am Umstieg von VBA zu VB.Net (Community Studio 2015)...

Unter Excel VBA habe ich mir ein Programm geschrieben, wofür mittlerweile Excel nur noch zum Ausdrucken der Daten herhält. Warum also nicht gleich ein richtiges Programm daraus basteln- das lässt sich ja dann auch viel flexibler auf unterschiedlichen Rechnern einsetzen.

Also jetzt schon mal viel Lektüre gelesen und gelesen und Kopf schwirrt. Ich bräuchte da mal eine Initialzündung für mein Verständnis. Wäre toll, wenn mir da jemand helfen könnte...

In VBA habe ich für allerlei Sachen Klassen erstellt. Hier mal, wo ich am Grübeln bin, wie ich das in VB(.net) umsetzen kann:

Klasse Adresse
liest und schreibt Strasse, PLZ und Ort aus und in Datenbank

Klasse Einsatzort
enthält ein Objekt der Klasse Adresse und wird ergänzt durch Namen des Ortes
speichert dann in der DB-Tabelle den Einsatzort oder liest aus

Klasse Fahrtenbuch
enthält drei Objekte von Einsatzort (Startort, Einsatzort, Endort)

Klasse Einsatz
enthält ein Objekt von Fahrtenbuch

Klasse Rechnung
enthält (unter anderem) ein bis viele Objekt(e) von Einsatz

In der Userform Rechnung gibt es nun ein Objekt von Rechnung (oRechnung) dessen Daten in der Userform angezeigt werden - die Verwaltung (speichern, ausdrucken, berechnen etc.) der Daten geschehen in den einzelnen Klassen.

Bedeutet, ich kann nun viele Objekte von Typ Rechnung erstellen (also viele Rechnungen), welche alle ein oder mehrere Einsätze haben, jeder Einsatz kann genau einen Start-, End-, Einsatzort haben und jeder Ort hat einen Namen und Anschrift.

Bsp: oRechnung.Einsatz.Fahrtenbuch.Startort = Rathaus - automatisch wird dann unter
Startort.Name (Rathaus) auch Startort.Strasse / PLZ / Ort herausgesucht (erledigt alles Klasse Einsatzort)
Funktioniert genau so, wie ich mir das vorstelle.

Nun gibt es VB, in welchem Vererbung und ganz viel viel mehr möglich ist.

Ich denke halt aber noch im Schema VBA und komme nun nicht klar, wie ich das in VB umsetze. Ich habe erst gedacht, ich erstelle mir nach dieser Hierachie genauso meine Klassen und vererbe dann durch bis Rechnung. Und von Rechnung kann ich mir dann noch Kostenvoranschlag oder Mahnung etc. ableiten...

Aber ich komme noch nicht klar, wie binde ich denn dann die drei Orte ein, wenn ich Einsatzort nur einmal vererben darf?

In der gesamten Lektüre wird immer nur eine Klasse beschrieben, welche sich vererbt. In einem Hauptprogramm wird dann alles zusammengebastelt. Also bspw. würde dann der Kunde (welcher sich von Adresse ableitet) im Hauptprogramm hinzugefügt. Ist ja so nicht gewollt. Nach meiner Vorstellung (und Realisierung unter VBA) gibt es dann in der Klasse Rechnung noch ein Objekt von Kunde und ein Objekt von Kostenträger (welche sich in diesem Moment von Adresse ableiten lassen würden).

Der Vorteil meiner Aufteilung unter VBA ich kann fast jede einzelne Klasse unabhängig voneinander benutzen. Bspw. unter Rechnung wähle ich mir Klient, die Orte etc. aus. Andererseits habe ich eine unabhängige Adressverwaltung, welche auf die Klassen beruhen. Jeder Klient, Kostenträger etc. kann auch mehrere Adressen oder Kontakte haben. Wo würde ich denn nun meine Kontakte hererben - welches bei mir auch wieder ein einzelnes Objekt ist).

Meine DB ist auch soweit Normalisiert, so dass für jeden Punkt eine einzelne Tabelle existiert.

Darauf bauen dann halt viele Klassen auf...

Mit welchen Ansätzen muss ich arbeiten und welche Funktionen (Schnittstellen, Structur, List(of..) Vererbung etc. dazu am Besten nutzen?

Oder verwende ich genau wie unter VBA dann die einzelnen Objekte oder implementiere ich die einzelnen Klassen:

also Dim Klient as clsKlient
Dim Einsatz as clsEinsatz

oder implement cKlient
implement cEinsatz

oder bei Fahrtenbuch
dim Startort as clsEinsatzort
dim Einsatzort as clsEinsatzort

Bin echt verwirrt mit der Fülle an Informationen und Möglichkeiten.

Für eine hilfreiche Initialzündung wäre ich sehr dankbar...
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Verständnishilfe in OOP für VBA-Umstieg1.546sronny08.02.16 16:12
Re: Verständnishilfe in OOP für VBA-Umstieg876Manfred X08.02.16 17:39
Re: Verständnishilfe in OOP für VBA-Umstieg878sronny08.02.16 18:54
Re: Verständnishilfe in OOP für VBA-Umstieg844sv0001008.02.16 20:04
Re: Verständnishilfe in OOP für VBA-Umstieg951Manfred X08.02.16 20:21
Re: Verständnishilfe in OOP für VBA-Umstieg918sronny08.02.16 21:02
Re: Verständnishilfe in OOP für VBA-Umstieg856Manfred X09.02.16 09:30
Re: Verständnishilfe in OOP für VBA-Umstieg864sronny09.02.16 11:20

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