Hallo Pskyrunner,
1.
verwende keine Sonderzeichen!
z.B.:
If Passwort.Text <> Passwörter.Text Then verwende oe für ö, sowie ue für ü, ae für ä und ss für ß
hat den Grund das vieles in Englisch gehalten wird!
2. Man rückt mittels der Tab-Taste den Code ein, was nicht überall in Deinem Programm verwendet wurde.
Man sollte sich einen Stil aneignen und nicht nach Lust und Laune dahinschreiben
Private Sub Beenden_Click()
End
End Sub sondern
Private Sub Beenden_Click()
End
End Sub 3. Soweit ich das noch in Erinnerung habe, verwendet man kein End um das Programm zu beenden, sondern ein Unload Me
4. Mehrere Zeilen Code verbindet man nicht mehr mit einem Doppelpunkt
'aktuelle Maus-Koordinaten merken
s_X = X: s_Y = Y sondern schreibt es untereinander
'aktuelle Maus-Koordinaten merken
s_X = X
s_Y = Y 5. Du hast alle Routinen (Programm-Code) in der Form stehen, ist zwar soweit o.k. da im moment nicht viel Code programmiert wurde, aber falls Du Neuling im Programmieren bist, solltest Du Dir mal die Vorteile von Modulen anschauen/aneignen.
6. Du verwendest viele ADOdc- Objekte und Gebundene DataGrid bzw. Text und Combo Felder. Soweit ist das zwar eine feine Sache um schnell und einfach ein Programm an eine Datenbank zu binden, aber ich glaube man programmiert vieles eher über die ADO Schnittstelle selbst, mittels Recordset. Aber bleibt erstmal bei den ADOdc- Objekten, wie gesagt ist einfacher zu handhaben! Nachteil dabei (denke ich) wird die Geschindikeit sein, weil die paar Daten die Ihr habt, recht "lange" brauchen bis sie im Programm eingelesen wurden.
Nun zu Deinem eigentlichen Problem !!!
7. Du hast eine Form: Einkauf
Dort sind im Moment !nur! zwei ADOdc's: Adodc1 und Adodc2
Dir Fehlen laut Programmcode aber noch: Adodc3 und Adodc4
Bei Adodc4 muss die Eigenschaft RecordSource: BLZ lauten
Dann Fehlt Dir noch das Objekt: Combo12 dies eine ComboBox sein muss.
Der Combo12 muss unter der Eigenschaft DataSource das Datenbank-Objekt Adoc4 angebunden werden.
Bei Adodc3 müsste wohl RecordSource: Wein lauten ?
Label6 und Label7 sind laut Programmcode für Adodc3 gedacht, aber die Anbindung unter DateSource fehlen ?!
8. Wenn man aus den Artikeln etwas auswählt (unter Bestellung) werden die anderen Felder nicht aktuallisiert! Denk mal das Ihr da noch so einiges Programmieren müsst und Überprüfen das auch alles passt!
9. Beim Programmstart sieht man oben den Menü-Punkt: Menü, wobei man dann die Passwort-Abfrage übergehen kann! so das die LogIn-Funktion noch nicht richtig programmiert ist!
10. Da Ihr die Form ohne Titelleiste verwendet (kein Caption-Eigenschaft) fehlt in der Start-Leiste der Titel auch, schau mal unter Tipps & Tricks nach, da sollte es sicherlich ein Tipp zu finden sein um diese unschöne Eigenschaft zu umgehen.
Probleme in der Form: MenüPub
11.
Private Sub Form_Load()
' ....
'Einkauf
Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
List6.AddItem Adodc3.Recordset!Beschreibung
List7.AddItem Adodc3.Recordset!Stückzahl
Adodc3.Recordset.MoveNext
Wend Entferne hier den Befehl Not
Schönheitsfehler
12. Ihr solltet jede Form mittels Eigenschaft StartUpPosition: 2 - Bildschirmmitte setzen.
Kommt unter "Kunden" noch mehr? oder kann man da nur die Namen sich anschauen? Sicherlich sollte dort eine Statistik mit angezeigt werden, wann wieviel der Kunde und Winzer so bestellt hat / liefern kann und die Anschrift (Adressen)? zum bearbeiten?!
Bei Verkauf sollten auch die Preise mit angezeigt werden, dann noch die Verpackungseinheiten? Herkunft und Jahrgang sowie Verkaufszahlen pro Monat und Jahr?
Naja und sonst so was man wissen möchte.
ACHSO !!!!
Verwendet ein paar mehr Remarks, sprich ein Kochkomma '
'
' Für Code erklärungen
' sicherlich wird auch Euer Programm-Code bewerdet, wie sauber er Dokumentiert ist.
Ansonsten welche Vorgaben habt Ihr vom Lehrer erhalten?
Was muss vorkommen? was dürft Ihr verwenden und was nicht ? z.B: Druckfunktion, Statistik-Tools oder sonst was
Ansonsten schaut Euch mal den Befehl
' Sanduhr anzeigen
Startfenster.MousePointer = 11 und
' Sanduhr ausblenden (Voreinstellung)
Startfenster.MousePointer = 0 an.
Bzw. Me.MousePointer = 11
Ihr solltet dies bei lange Wartezeiten einbinden (Datenbank einlesen), damit der Anwender des Programms auch weis das er jetzt mal warten muss! Und nicht wild umherklickt (sich wundert wieso nichts passiert).
PS: Falls etwas unklar hier ist, bitte die Nummerierung mit angeben, an welcher Stelle Dir fragen aufkommen, damit ich den Zusammenhang wiederfinde.
*greetz*
Tim
.
http://www.DotNetWorld.de |