Wie würdet ihr das machen?

Christoph1972

Erfahrenes Mitglied
Hallo Zusammen!

Mein Boss hat mich gefragt, ob ich ihm einen Urlaubsplaner für unsere Belegschaft programmieren kann. Das würde ich sehr gerne machen, nur habe ich mich noch nie mit Datenbanken beschäftigt. Schön wäre es, wenn ich das Programm mit VB.Net machen könnte, das wäre dann mal ein gescheiter Neuanfang mit VB.Net. Das Ganze soll etwa so funktionieren:

Jeder Mitarbeiter bekommt bestimmte Funktionen zugewiesen, die natürlich variabel sein müssen. Die einzelnen Funktionen soll man mit einer CheckBox auswählen können. Dann soll eine Abfrage erfolgen, die immer sicherstellt das mindestens ein Mitarbeiter anwesend ist, der eine bestimmte Funktion beherrscht. Meine Kollegen sollen nun eigenständig ihren Urlaub in dem Programm eintragen können, wenn aber eine Funktion nicht mehr besetzt ist, soll ein Hinweis erfolgen, das der Urlaub so nicht möglich ist. Natürlich soll mein Boss das Prog auch in Zukunft ohne mich verwalten können und zwar so einfach wie möglich.

Wie würdet ihr so ein Programm entwickeln? Was für Komponenten würdet ihr verwenden? Oder ist es doch besser das Prog gleich mit Access zu machen?

Gruß
Christoph
 

Norbert Eder

Erfahrenes Mitglied
Naja, eindeutig eine Webanwendung. Der Browser als Client genügt hier vollkommen aus. Jeder bekommt ein Login. An dem Login hängt erstens eine Berechtigung (dein Boss wird sicher auch einen Urlaubsantrag ablehnen dürfen) und eben der entsprechenden Funktion.

Nun, der Rest ist ohnehin nur eine Sache von ein paar Minuten :)
 

JensG

Erfahrenes Mitglied
Hallo Christoph,

das was du vorgibst oder besser dein Chef ist erst mal kein großes Zauberwerk, aber es werden wie immer von Chefs schnell zusätzliche Sachen wie Planung im Vorraus und Kalenderfunktion etc. kommen. Ich denke du solltest dich vorher erst mal mit den Grundlagen und Datenbankzugriff unter .NET beschäftigen sonst verlierst du wieder schnell die Lust daran und versinkst im Frust. Zumal du mit VB Classic ja auch noch nix mit DB's gemacht hast oder ?
So was ohne jegliche Erfahrung mit Datenbanken zu machen ist eindeutig zum scheitern verurteilt, es sei denn du hast viel Zeit, die Geduld und Nerven dazu :) Ich wurde zwar auch so ins kalte Wasser geworfen aber noch mal würde ich das nicht machen.
Wenn du es aber unbedingt machen magst und bisher keine Erfahrung mit Datenbanken hast dann mache es mit .NET bzw. ADO.NET und beschäftige nicht erst mit VB Classic, denn das wäre verschenkte Zeit.

@Nobert
Ne Sache von paar Min ist das ja wohl kaum wenns was gescheites werden soll, auch wenn man Profi ist (was ich von mir nicht sage)
Ich denke einfach es ist nix für nen Einstieg in .NET.

Eine Webanwendung bietet sich sicher an in einem Intranet aber gegen eine Windowsanwendung und einer zentralen DB spricht doch auch nix oder ?
Klar bei einer Webanwendung reicht der Browser aus und es ist keine Installation notwendig...
Aber ASP.NET ist für nen reinen VB Classic Anwender auch erst mal Neuland.

Gruß
Jens
 

Norbert Eder

Erfahrenes Mitglied
Es hat alles seine Vor- und Nachteile.

Prinzipiell solltest dir ein Buch über VB.NET und ADO.NET reinziehen. Es gibt da ein ganz nettes:

Visual Basic .NET und Datenbanken
Stefan Fellner
Galileo Computing

Da drinnen findest du wirklich alles was du brauchst.

Die Frage ob eine Windows-Anwendung oder eine Webanwendung:
Nun, du weißt für wie viele Personen das ist. Musst du bei 20 und mehr Leuten ständig Updates einspielen, dann wird das schnell unlustig. Eine Webanwendung funktioniert, oder sie tut das nicht. Sicherlich ist eine Windows-Anwendung für den Anfang leichter - keine Frage. Aber es bleibt dir und deinen Anforderungen überlassen.

Hoffe ein wenig weitergeholen zu haben.
 

NRFi

Erfahrenes Mitglied
Ich würde auch eher wie Norbert Eder schon sagte eine Web-Anwendung bauen. Allerdings wird das alles ein bisschen mehr als ein paar Minuten dauern, gerade wenn man im .NET Bereich ein Neuling ist. Ein gutes ASP.NET Buch und Tutorials zu ADO.NET sollten dich aber zu einer erfolgreichen Lösung bringen, viel Glück! :)
 

Norbert Eder

Erfahrenes Mitglied
Was ich vergaß zu schreiben:
Lese dich in die einzelnen Technologien ein und denke darüber nach, welches für dich der ideale Weg wäre. Achte aber darauf, dass du dir soviel wie möglich offen hältst. Wie schon angesprochen wurde, kommen sicherlich Erweiterungen hinzu.

Und immer schön brav deine Logik von der Darstellung zu trennen.
 

Christoph1972

Erfahrenes Mitglied
Hallo

Also, die Planung im Voraus und der Kalender waren da eh mit inbegriffen ;) Mit ADO.Net möchte ich erst mal nicht arbeiten, das wird mir dann sicher alles zuviel. Ich dachte eigentlich an die Möglichkeiten die VB.Net zubieten hat. Meinem Boss habe ich auch gleich gesagt, das es ewig dauern kann bis er eine Lösung bekommt. Es wäre halt ein schönes Ziel an dem ich arbeiten könnte und ich hätte einen Grund mich mit VB.Net zu beschäftigen. Hat sonst noch wer Vorschläge?

Gruß
Christoph
 

Norbert Eder

Erfahrenes Mitglied
Also, zur Aufklärung:
Du kannst natürlich eine OleDbConnection auf eine Form ziehen .. um dann drauf zu kommen, dass du bereits mit ADO.NET arbeitest.

Sobald du irgendwas mit Datenbanken unter .NET machst, hast du ADO.NET am Hals. Und so schwierig ist es nun wirklich nicht. Beschäftige dich einen Abend damit (ein gutes Buch dazu hab ich dir geliefert) und du kannst mit ADO.NET umgehen. Die Feinheiten kommen dann mit der Zeit und der Anzahl der gelesenen Artikel dazu.

Sei mir net bös, aber ich les von dir immer, dass du dich mit VB.NET beschäftigen willst (seit ein paar Monaten). Dann tu es doch endlich und sei soviel, dass du dir die notwendigen Infos besorgst und diese auch durchliest. Irgendwie bekommt man das Gefühl du hättest voll Schiss. Wenn du mit .NET nicht arbeiten willst, dann bleib bei VB. Willst du doch, dann gib mal Gas Junge. :)
 

Christoph1972

Erfahrenes Mitglied
Hi

Ich beschäftige mich schon mit Net, nur habe ich gerade nix gescheites was ich machen könnte. Und einfach irgend welchen sinnlosen Kram zu coden bringt es nicht finde ich. Da ist ein Konzept sehr sinnvoll und dieser Urlaubsplaner könnte ein gutes (aber vielleicht zu großes) Ziel sein. ;)

Christoph
 

JensG

Erfahrenes Mitglied
Hallo Christoph,

bin leider mal wieder dienstlich unterwegs und kann erst jetzt wieder vom Hotel aus meinen Senf dazugeben :)
Norbert gebe ich Recht, schmeiß dich endlich in .NET rein und du wirst sehen das die Vorteile gegenüber VB Classic enorm sind wenn man sich halbwegs eingearbeitet hat.
Jeder hat ne Phase wo er nicht weiter kommt und mal Hilfe braucht, seih es aus dem Netz oder einem Buch oder sonst was. Es dauert eben am Anfang aber dann macht es Klick.
Ich selbst bin auch noch (relativ) am Anfang von .NET und das mit dem Datenzugriff über ADO.NET ist zwar intern komplett anders wie bei ADO Classic aber nicht so schwer.
Und es muss doch nicht immer was sinnvolles oder sogar kommerzielles sein um was zu programmieren. Mach irgendwas zum Testen, vielleicht was privates für dich oder gehe die Beispiele aus Büchern durch. Ich weiß das macht nicht so viel Spaß.
Aber gut wenn dein Chef es aktzeptiert das es länger dauern könnte dann mach es mit VB.NET und ADO.NET. Es geht zwar auch Problemlos mit .NET und ADO Classic aber ich nehme an das du davon auch noch nix verstehst und es ist auch nich Sinn der Sache.
Mach dir von vorne herien ein gutes Konzept und wie Norbert schon sagt trenne die Logik von der Oberfläche bzw. den Datenzugriff / Verarbeitung von der Darstellung.

Da hätte ich mal ne Frage an dich Norbert. Wie gehst du bei deinen Projekten vor um bei der Planung und Umsetzung die Logiken zu trennen. Ich versuche dies einzuhalten aber ob das so richtig wie ich das mache weiß ich nicht.

z.B. sind bei mir die Datenbankzugriffe, Connection etc. in einer DLL verankert, genauso wie Usercontrols etc. in anderen DLL's , die GUI greift dann nur per Verweis darauf zu.
Kann man das im groben schon als Trennen der Logiken bezeichnen ?
Wo sollte die Grenze sein ? Ich meine eine völlig unantastbare GUI bei Änderungen im Programm kann man ja nicht hinbekommen. Oder verstehe ich das völlig falsch.

Gruß
Jens