Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Probleme mit Formular

Begonnen von Fiete1010, Juli 20, 2011, 17:52:49

⏪ vorheriges - nächstes ⏩

Fiete1010

Hallo
Ich habe folgendes Problem. Ich habe für einen Freund ein kleines Programm erstellt um Kundendaten zu erfassen und gleichzeitig ein Auftrag zu erstellen.Leider hab ich dabei massive Probleme und hoffe das mir hier helfen kann.

Bei dem Formular (FO_Verkauf)soll es möglich sein über den Drop down Feld (Kunden Nr) den Kunden herauszusuchen und die anderen Felder zu füllen endsprechend dem herausgesuchten Kunden. Dabei sollen die Felder betreffend der Artikeleingabe leer bleiben um diese Felder neu zu füllen.

Ich habe mal die DB in der Anlage, vieleicht hat ja jemand nee idee.

MFG
Andre

[Anhang gelöscht durch Administrator]

Stapi

Hallo Fiete

Wilkommen in diesem Forum, da deine Daten Bank in Access 2010 erstellt worden ist eine bitte an dich konventiere sie in eine Access Version  2003 oder 2007 um ind stelle sie nochmals ein. Da die größere Mehrheit hier im Forum noch die älteren Versionen haben, wirst du somit mehr hilfe erfahren.


Gruß stefan
Grüße aus dem schönen NRW
Stefan

Fiete1010

Hallo Stefan.
Die in der Anlage angefügte Datenbank ist in Access 2007 erstellt worden........

vlg
andre

MzKlMu

#3
Hallo,
das Datenmodell ist noch stark verbesserungsbedürftig.
Grundsätzlich sollte in allen Beziehungen referentielle Integrität eingestellt und zwar immmer Typ1.
Wenn das nicht geht, liegt bereits ein Fehler vor.
Weiterhin sind die Ansprechpartner in eine eigene Tabelle auszulagern, die entsprechenden Felder in der Kundentabelle können ersatzlos entfallen.
Mit einem Bezug (Fremdschlüssel) zum Kunden, jeder Ansperchpartner gibt einen Datensatz.
Was bedeutet eigentlich "Namenszusatz_Kunde1" ?
Weiterhin ist die Tabelle "TA_Verkauf" falsch. Diese Tabelle darf keine Felder zum Artikel enthalten. Dazu ist eine weitere Tabelle notwendig mit einem Fremdschlüssel zum Artikel und zum Verkauf. Dabei gehe ich davon aus, dass ein Verkauf mehrere Artikel umfassen kann.
Was ist der Unterschied in der Verkaufstabelle zwischen Datum und Datum1?

Weiterhin würde ich Dir dringend raten auf Nachschlagefeldern in Tabellen zu verzichten die sind von Übel.

Hier wirst Du noch einiges an der Struktur zu ändern haben. Die wichtigsten Formulare sind so auch nicht brauchbar, nach der Strukturänderung werden diese auch nicht mehr funktionieren. Daher sollte man erst mit den Formularen anfangen, wenn das Datenmodell steht.

Ich habe die DB mal nach Accss2003 konvertiert und unverändert angehängt.

[Anhang gelöscht durch Administrator]
Gruß Klaus

database

#4
Hallo,

habe da Ding mal ein wenig umgestaltet und hier zur Diskussion reingehängt.  ::)
Formulare udgl. aus der Originalversion sind unverändert enthalten - natürlich unbrauchbar durch die Änderungen.

Für das Eingeben von Testdaten ein gut gemeinter Rat:
Bitte keine '47110815hrzlbrzl358' Daten eintragen sondern Daten, die in einem Formualr auch lesbar sind.  :o
Alles Andere erzeugt nur weiter Probleme - mit solchen Einträgen kann man nicht vernünftig arbeiten!

HTH

[Anhang gelöscht durch Administrator]

Fiete1010

Hallo Database,
der Datenbankentwurf sieht für mich jetzt ein wenig befremdend aus,aber sicherlich vom Aufbau her sehr will besser als meiner.
Ich werde mal versuchen diesen Entwurf zu nehmen und darauf ein Formular zur Eingabe zu entwerfen.
Was ich noch nicht wirklich verstehen kann warum MzKlMu sagt das in der Tabelle Verkauf keine Datensätze enthalten darf die in Verbindung mit dem Artikel stehen.

Ich danke dir Database und MzKlMu für eure Unterstützung

MFG
Andre


database

Hallo,

ZitatWas ich noch nicht wirklich verstehen kann warum MzKlMu sagt  ...

Naja, wenn du das nicht über eine Zwischentabelle löst, so wie es in meinem Vorschlag abgebildet ist, hat du die Möglichkeit pro gespeicherten Verkaufsdatensatz GENAU einen Artikel zu verkaufen.
Wenn ein Verkaufsauftrag mehrere Artikel umfasst, geht das nur über eine Zwischentabelle!
Will man im Nachhinein feststellen, welche Artikel bei einem Verkaufsdatensatz beteilgt waren wird diese Zwischentabelle abgefragt und so die Verbindung zwischen Verkauf und Artikel hergestellt - das ist dehalb möglich, wei in der Zwischentabelle die Verkaufs_ID UND die Artikel_ID gespeichert sind.

HTH

MzKlMu

Hallo,
ZitatWas ich noch nicht wirklich verstehen kann warum MzKlMu sagt das in der Tabelle Verkauf keine Datensätze enthalten darf die in Verbindung mit dem Artikel stehen.
Das muss Dir eigentlich kalr sein, wenn Du den Entwurf von Peter ansiehst. Er hat in der eigentlichen Verkaufstabelle auch keine Daten zum Artikel, sondern hat eine Zwischentabelle (tblArtikelVerkauf) erstellt die die Fremdschlüssel zum Artikel und zum Verkauf enthält, nur so kannst Du mehrere Artikel in einem Verkauf an einen Kunden verkaufen.
Ich würde allerdings vorschlagen, neben der Artikelmenge auch den Artikelpreis redundant zu speichern, damit zurückliegende Rechnungen nicht den falschen Preis enthalten. Die richtigere Lösung wäre aber ein Preisliste zu führen, mit Datum und an Hand des Datum den zum Zeitpunkt des Verkaufs gültigen Preis zu ermitteln. Das ist die Lösung die Peter eingebaut hat. Ich bevorzuge aber die Lösung mit dem redundanten Preis, da das wesentlich einfacher ist. Die Preisliste lässt sich dann unabhängig führen und man nimmt den gültigen Preis redundant auf.
Es könnte sogar sein, dass für die spätere Rechnung das (die doppelte Speicherung) sogar notwendig ist, aus steuerlichen Gründen, aber da will ich micht nicht festlegen.
Gruß Klaus

Fiete1010

Hallo MzKlMu,
Also ich habe mir den Aufbau noch mal genau angeschaut und versteh jetzt auch warum diese 2 Verkaufstabelle nötig ist. Ich habe da einen Gedankenfehler gehabt.
Ich habe mir für mein Geschäft ein ,sagen wir mal (Controlling) Programm erstellt, wo ihr wahrscheinlich die Hände über dem Kopf zusammenschlagen würdet, aber es funktioniert echt super. Bei diesem Programm hab ich nicht die Problematik der Erfassung von mehreren Artikeln zu einem Kunden,weil Kundendaten nicht erfasst werden und zum anderen es sich um ein Ladengeschäft handelt.

Ich wurde dir und Peter gerne mal mein Programm zusenden um euch mal anzusehen wie es auf jeden fall nicht gemacht werden sollte, aber es trotzdem funktioniert.....;-)
Leider ist die DB etwa 5 MB im zip groß ,müßte sie euch bei Interesse also per Mail senden.

Gruß
andre

MzKlMu

Hallo,
ZitatLeider ist die DB etwa 5 MB im zip groß ,müßte sie euch bei Interesse also per Mail senden.
von Mail bin ich kein Freund. Erstelle eine extra Beispieldb die nur ganz wenige daten enthält und vor allen Dingen keine Bilder und Logos etc. Auch keine Hintergrundbilder in Formularen.
Dann die DB mit dem Access Dienstprogramm komprimieren/reparieren (sollte sowieso regelmäßig gemacht werden) dann konvertieren nach Access2003 und dann erst zippen.
Gruß Klaus

Fiete1010

Hallo MzKlMu,

Ich hab die DB jetzt nur mit den nötigsten Beispieldateien.Logos und Bilder sind eh noch nicht vorhanden.Doch auch mit Komprimierung und Konvertierung in Access 2003 kriege ich die DB nicht unter 550 KB. Schade ich hätte euch sie gerne mal vorgestellt mit einen Prufenden blick von Profis ;-)).


Schoenen Abend noch

Andre

MzKlMu

Gruß Klaus