Neuigkeiten:

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

Mobiles Hauptmenü

Kunden- un Artikelauswahl......

Begonnen von Roggi01, Juni 23, 2011, 19:50:33

⏪ vorheriges - nächstes ⏩

Roggi01

Hallo Zusammen........

habe ein Problem bei der Erstellung eines Formulars........


Ich habe eine Tabelle Kundendaten und eine Tabelle Artikeldaten.

Nun möchte ich gerne ein Formular haben, bei dem ich im Oberen Bereich den NAmen wählen kann (Kundenummer, Vorname usw. soll automatisch ausgefüllt werden. Zusätzlich muss in der Spalte Bestellungen eine Bestellnummer vergeben werden.

Dann sollen  in einem Unterformular die Artikel hinzugefügt werden.

Ich habe jetzt dass Problem, dass in der Formularansicht alles leer ist...jedoch in der Entwursansicht die Datenfelder da sind.......


Könnte mir jemand von Euch behilflich sein?



Gruß

Roggi

MzKlMu

#1
Hallo,
Der gleiche Kunde kann doch mehrere Bestellungen haben, also diese Woche und nächste Woche (oder ein anderer Zeitraum) wieder eine, oder nicht?
Weiterhin umfasst eine Bestellung doch mehrere Artikel, oder nicht?

Wenn beides zutrifft, fehlen Dir zunächst noch mindestens 2 Tabellen, eine für die Bestellungen und eine für die Bestellpositionen.

Wenn Dein Ufo an die Abfrage aus deinem anderen Thema gebunden ist, so geht das nicht, eine gruppierte Abfrage lässt kein Bearbeitung zu, daher ist das Ufo leer.

Und vergiss mal die Formulare, erst muss das Datenmodell klar sein.
Gruß Klaus

Roggi01

Hi,

vielen Dank für Deine schnelle Hilfe.

Die Tabellen sind vorhanden.

Anstatt der Tabelle Positionen habe ich die Tabelle Bestelldetails. Dort steht in einer Zeile Bestellnummer, Die Artikelnummer und die Anzahl. Ich denke, der Sinn zur Positionentabelle ist der gleiche. Jedoch habe einen Fehler entdeckt. Ich habe den automatischen Schlüssel für die Bestellnummer genommen. Das kann ja nicht hinhauen. Die Tabelle mit den Details kann also für eine Bestellnummer viele Artikel beinhalten. Dass muss ich ändern.

Wie kann ich es aber machen, dass ich ein Formular habe, in dem ich einen Namen auswählen kann (Listfeld o.ä. ) und alle zusätzliche Felder (Kundennummer usw. werden im Formular dargestellt.

Gruß

Roggi

MzKlMu

Hallo,
ich finde es immer wieder ärgerlich, wenn man die Helfer auf eine falsche Spur gelockt werden. Wenn die Tabellen da sind, warum schreibst Du dann:
ZitatIch habe eine Tabelle Kundendaten und eine Tabelle Artikeldaten.
Das solltest Du zukünftig etwas umfassender und sorgfältiger formulieren.

Schaue mal in das angehängte Beispiel.

[Anhang gelöscht durch Administrator]
Gruß Klaus

Roggi01

Hi,

es war ganz bestimmt nicht meine Absicht, Dich zu verärgern.

Meine Tabellen sind Deinem Beispiel sehr ähnlich, jedoch bekomme ich die Formulare für die Eingabe er Bestellungen nicht hin. Die Tabellen selbst zu befüllen, wäre nicht mein Problem.

ich möchte es gerne über Formulare steuern.

Ich habe mein Werk mal beigefügt...........allerdings habe ich die Tabelle um Die Kontendaten bereinigt......

Gruß

Ralf

[Anhang gelöscht durch Administrator]

MzKlMu

#5
Hallo,
Deine Formaularaufbau ist völlig falsch.

Warum legst Du im Beziehungsfenster keinen Beziehungen an?

Hafo und Ufo sind nicht verknüpft und beide haben auch die falsche Datenherkunft.

Ich werde Dir das morgen früh mal ändern.
Gruß Klaus

MzKlMu

#6
Hallo,
anbei Deine DB mit den Änderungen. Version Access2003, mit Access2007 bin ich nicht vertraut.

- Die Datenherkünfte/Datenquellen der Formulare waren falsch
- Es waren keine Beziehungen angelegt
- Datentyp für BestNr in der Detailtabelle falsch
- Fremdschlüssel mit einem _F versehen (in einer Datenbank sollte es keine gleichen Feldnamen geben).
- Hafo und Ufo müssen über die Schlüsselfelder verknüpft sein
- Feldnamen wie Name, Datum sollte man vermeiden. Auch Anzahl, bitte noch ändern (in Menge z.B.), habe ich vergessen

Ich habe mal noch ein Feld für die Bestellnummer eingefügt, das kannst Du frei füllen, oder auch wieder löschen.

[Anhang gelöscht durch Administrator]
Gruß Klaus

Roggi01

Hi,

vielen Dank für Deine Unterstützung. Ich werde mir die vorgenommen Änderungen einmal genau ansehen.....hoffe es bleibt etwas haften....bin nicht mehr der jüngste.....

Liebe Grüße

Ralf

Roggi01

Hallo,

ich habe mir jetzt die Formulare angesehen. Zerst einmal nochmals vielen Dank für die Unterstützung.

Vieles verstehe ich, einiges aber auch nicht.....

Ich bin nun auch etwas unsicher, ob ich hier weiter posten soll, oder doch im Thread Abfragen.

Im Formular Bestellungen wird der Gesamtpreis einer Bestellung ausgewiesen, jedoch finde ich den Betrag in keiner Tabelle.

Im Formular wird "=Sum([PosPreis])" verwendet. Wie bekomme ich es hin, dass in der Tabelle Bestellungen die Summe aller Positionen für diese Bestellung errechnet wird?

Zusätzlich möchte ich in der Tabelle Bestellungen eine weitere Spalte "LSEDatum" anzeigen lassen. Anschließend wollte ich eine Abfrage erstellen, mit der mir angezeigt wird, welche Bestellung über keine LSEDatum verfügt. Anschließend wollte ich mir aus diesesn Abfragen Berichte erstellen.

Kann mir jemand helfen?

Liebe Grüße

Roggi

DF6GL

Hallo,

ZitatIm Formular Bestellungen wird der Gesamtpreis einer Bestellung ausgewiesen, jedoch finde ich den Betrag in keiner Tabelle.

Das Feld "Gesamtbetrag" (Text17) befindet sich im Unterform, nicht im Hauptform und es handelt sich dabei um ein berechnetes Feld.  D. H. der Wert wird immer aktuell aus den anderen Werten berechnet und befindet sich somit in keiner Tabelle (wo ein berechneter Wert auch nichts zu suchen hat).
Zitat
Im Formular wird "=Sum([PosPreis])" verwendet. Wie bekomme ich es hin, dass in der Tabelle Bestellungen die Summe aller Positionen für diese Bestellung errechnet wird?

Gar nicht, siehe oben.  Für den User sind NUR Formulare (und Berichte natürlich)  relevant, Tabellen und Abfragen bekommt er nicht zu Gesicht.


ZitatZusätzlich möchte ich in der Tabelle Bestellungen eine weitere Spalte "LSEDatum" anzeigen lassen.

Welche Bedeung hätte dieses Feld?  Bevor ein Tabellenfeld angezeigt werden kann, muß es erst mal im Tabellenentwurf der Tabelle hinzugefügt und mit dem richtigen Datentyp versehen werden.


ZitatAnschließend wollte ich eine Abfrage erstellen, mit der mir angezeigt wird, welche Bestellung über keine LSEDatum verfügt.

Select * from Bestellungen where LSEDatum is Null



ZitatAnschließend wollte ich mir aus diesesn Abfragen Berichte erstellen.


Welchen Abfragen?  Was soll der Bericht denn insgesamt anzeigen?

Roggi01

Hi Franz,

vielen Dank für die schnelle Antwort.

LSE steht für Lastschrifteinzug, ich muss den Betrag eine Bestellung einziehen.

Wenn ich Dich richtig verstanden habe, ist es wahrscheinlich sinnvoiller, eine neue Tabelle mit dem Titel Status zu erstellen. Dort kann ich hinterlegen, ob bereits gezahlt wurde.

Ich benötige jetzt erst einmal folgende Abfragen:
(Die Tabelle Ku_Bank habe ich in meiner DB)

1. Kundennummer - Kundenname - Vorname - Bestellnummer - Gesamtbetrag der Bestellung....daraus würde ich gerne eine Liste erstellen, die als Grundlage der LSE dient.

Zusätzlich benötige ich jeweils eine Rechnung zu der Bestellung. Ich weiß aber nicht, ob ich dazu erst einmal eine Abfrage realissieren muss.......

Gruß

Ralf


DF6GL

Hallo,


Um festzustelllen, ob eine Bestellung eines Lastschrifteneinzugs unterliegt, reicht das Datums feld völlig aus:

Datumswert vorhanden:  LSE
Datumswert fehlt/leer : Kein LSE

wobei hier ein Datum eher nicht so recht passt. Vermutlich wäre ein Ja/Nein-Feld (Kontrollkästchen für LSE oder nicht) besser geeignet.

Dazu braucht es keine weitere Tabelle.

Um festzustellen, WANN real bezahlt wurde, sollte es ein Feld "Gezahltdatum" geben, das das Datum des Kontoeingangs enthält.


Um die Abfrage zu erstellen (bist Du aber sicher, dass Dein Tabellenaufbau zwischenzeitlich vollständig und richtig ist??) , gehst Du in den Abfrageentwurf, fügst die nötigen Tabellen hinzu und verknüpfst diese über die entspr. Schlüsselfelder. Mittels Gruppierung und den Aggregatfunktionen kannst Du dann die Berechnungen in der Abfrage erledigen.


Für "Rechnungen" sind zunächst die passenden Tabellen (tblRechnung, tblRechPositionen) vonnöten, in denen ein SchlüsselFeld existieren sollte, das auf die zugehörige Bestellung verweist.

Wie gesagt, VOR den Formularen und Abfragen ERST komplett die Tabellen erstellen und in Beziehung zueinander setzen. 

Roggi01

Hi Franz,

bei der Erstellung der Tabellen und deren Beziehungen war MzKlMu behilflich. Es existiert eine Tabelle Bestellungen und eine Tabelle Bestelldetails. In der Tabelle Bestelldetails sind die Positionen einer Bestellung enthalten.

Mir ist nur nicht klar, wie ich eine solche Abfrage gestalte.

Ich denke, ich werde eine Tabelle für die Zahlungsabwicklung erstellen.

LSE = ja/nei

LSE = durchgeführt am

LSE = Eingang am

Gruß

Roggi

MzKlMu

Hallo,
wenn Du keine Teilzahlungen erfassen willst, ist eine extra Tabelle nicht notwendig. Die 3 Felder gehören in die Tabelle mit den Bestellungen.
Hast Du auch noch andere Zahlungsmethoden als LSE?
Gruß Klaus

Roggi01

#14
Hi,

es besteht noch die Möglichkeit der Überweisung. Zwar nur in Ausnahmefällen, aber es kann vorkommen.

Gruß

Ralf

Edit: Wäre es nicht Sinnvoll, die Zahlungsart bei den Kundendaten zu hinterlegen (LSE oder Überweisung)? Andererseits habe ich  ja die Tabelle Ku_Bankdaten. Dort stehen nur die Kunden drin, die auch eine Einzugsermächtigung abgegeben haben. Somit wäre es doch möglich, die ABfrage Bestellung entsprechend zu ergänzen, oder?