August 13, 2022, 19:39:04

Neuigkeiten:

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


Datensätze nach im Formular eingegebene Nummer finden und abfragen

Begonnen von zorlayan, Juli 22, 2022, 19:02:08

⏪ vorheriges - nächstes ⏩

zorlayan

Juli 22, 2022, 19:02:08 Letzte Bearbeitung: Juli 22, 2022, 22:47:44 von zorlayan
Hallo zusammen,

ich habe ein Formular [Rechnung] und eine Tabelle [Zahlungen]
in die Tabelle[Zahlungen] pflege ich die Datensätze aus dem Formular[Rechnung]

Beziehung: [Rechnung]1----n[RechnungsID]

Tabelle Besteht aus:

RechnungsID: Zahl (ist gleich mit RechNr aus dem Formular[Rechnung])
ZahlArt: Kurzer Text
ZahlWert: Währung
ZahlDatum: Datum/Uhrzeit

Unter ZahlArt kommen die Werte aus einem Kombinationsfeld aus einem anderen Formular durch Auswählen. Z.B. Bar, Überweisung oder Inzahlung


wenn ich eine neue Rechnung im Formular erstelle gebe ich den Zahlart in einem kleinen Formular.
Manchmal muss ich für eine Rechnung mehrere Zahlarten eingeben. Z.B. Bar: 100.-€, Überweisung: 200.-€ und Inzahlung: 1000.-€ und klicke ich auf dem "Speichern" Button zum das Ganze zu speichern in die Tabelle [Zahlung].


Ich möchte: Wenn für die aktuelle Rechnung einen Zahlart als "Inzahlung" gegeben wurde, nach Klicken auf [Speichern] Button sollte mir ein anderes Formular[Verkäufer] zum Speichern öffnen.

Die Datensätze aus der Tabelle habe ich in einer Abfrage per SQL Befehl rausfiltern können:

SELECT Zahlung.RechnungsID, Zahlung.ZahlArt
FROM Zahlung
WHERE (((Zahlung.RechnungsID)=[Formulare]![Rechnung]![RechNr]));

aber weiter kann ich nicht.

Kann bitte jemand weiter helfen um Abfragen ob "Inzahlung" in der gefilterten Datensätzen existiert, wenn ja dann docmd.openForm...usw

Vielen Dank,
Zorlayan




MzKlMu

Hallo,
Du brauchst auch für die Zahlungen eine extra Tabelle, denn es gibt ja mehrere Zahlungen zu einer Rechnung.
Mir scheint, da gibt es Strukturprobleme.
Kannst Du bitte mal ein Bild des Beziehungsfensters hier zeigen?

Anmerkung:
Zitat von: undefinedZahlArt: Kurzer Text
Wenn die Zahlart aus einer Tabelle kommt, so ist die Zahlart über deren Primärschlüssel zu speichern. Das Feld muss demzufolge eine Zahl (Longinteger) sein und nicht "Kurzer Text".
Gruß
Klaus

zorlayan

Hallo,

die Tabelle ist vorhanden, mein Fehler, habe ausversehen anstelle RechnungsID, ZahlArt getippt. :)
die Beziehung wird über RechnungsID 1:n aufgebaut.
Hier ist das Bild in PDF Format.Sie dürfen in diesem Board keine Dateianhänge sehen.

MzKlMu

Hallo,
die Beziehungen können so nicht funktionieren. KunID kann doch nicht die RechNr sein. Auch die 1:1 Beziehung kann nicht stimmen. Ein Kunde kann doch mehr als eine Rechnung haben und damit unterschiedliche RechNr. Das gleiche gilt sinngemäß auch für die Tabelle Auto, die AutoID kann doch keine Beziehung zur RechNr haben. Auch hier ist die 1:1 Beziehung sinnlos.
Was ist denn überhaupt der Unterschied der "Auto" Tabelle zur Tabelle "EKAutos" ?
Auch die Tabelle Zahlung ist suspekt. Ist die RechnungsID wirklich auch die RechNr ? Gemäß Beziehungen sind die gleich.
Die Felder "KunLand" und "VerLand" können ersatzlos gelöscht werden (mit den Beziehungen). Liegt der Ort fest, liegt automatisch auch das Land fest. Das gleiche gilt sinngemäß auch für die Marke, kann auch gelöscht werden, da das Modell immer auch automatisch auf die Marke verweist.  Die Felder für den PSWert sind auch überflüssig. Die Leistungen von Autos werden in KW angegeben. Falls man die PS anzeigen will, lassen die sich leicht errechnen (Faktor 1,36)
Was soll eigentlich die Mehrwertsteuer beim Land ?

Was sind die Felder RechErkl1 bis 5 , was steht da drin ?

PS:
Bitte lade Bilder direkt als png/jpg hoch, PDF braucht man da nicht. Die Bilder kann man dirkt anzeigen.
Gruß
Klaus

zorlayan

Danke für all die Vorschläge aber die Datenbank dient Hauptsächlich zum Rechnung schreiben, bis jetzt funktioniert auch tadellos, wir haben am Anfang so besprochen für jedes Auto, eine Rechnung also die Beziehung Rechnung und Auto 1:1 ist ok. KundenNummer könnte man auch 1:N machen aber aktuell reicht uns dieses Modell.
Ich wollte einige Änderungen/Neuerungen zur bestehenden Datenbank machen daher brauche ich euren Rat zum Rausfiltern wie in meinem ersten Schreiben.
Ab September werde ich die Datenbank neu Designen und auch entsprechend Codieren solange ich es kann wenn ihr auch mitmachen möchtet gerne mit euch mit.Aber jetzt brauche ich die Lösung meiner Frage.

Vielen Dank für die Bemühungen.
VG
Zorlayan


MzKlMu

Hallo,
Zitat von: undefinedKundenNummer könnte man auch 1:N machen aber aktuell reicht uns dieses Modell.
sorry, aber das ist doch Krampf. Du kannst Doch nicht die KunID als Rechnungsnummer verwenden. Wenn der gleiche Kunde noch mal ein Auto kauft, wird das die gleiche Rechnungsnummer, das darf doch nicht sein. Das passt doch hinten und vorn nicht.
Die Tabelle für das Auto ist auch ersatzlos überflüssig, Du hast doch schon eine Autotabelle (EKAutos).

Die ganzen Probleme die es da gibt dürften zum größten Teil auf die überflüssigen Tabellen, Felder  und Beziehungen zurückzuführen sein.

Was Dein jetziges Problem ist, habe ich auch nicht richtig verstanden.
Gruß
Klaus

zorlayan

Okay, danke für die Infos.
Kannst du dann mir sagen welche Tabellen zu verwenden sind und wie die Beziehungen sein sollen?
Wie geschrieben ab September werde ich mit der neuen verbesserten Datenbank anfangen.

Aktuelles Problem ist:
Wenn für die aktuelle Rechnung einen Zahlart als "Inzahlung" gegeben wurde, nach Klicken auf [Speichern] Button sollte mir das Formular[Verkäufer] öffnen.

Die Datensätze aus der Tabelle habe ich in einer Abfrage per SQL Befehl rausfiltern können:

SELECT Zahlung.RechnungsID, Zahlung.ZahlArt
FROM Zahlung
WHERE (((Zahlung.RechnungsID)=[Formulare]![Rechnung]![RechNr]));

aber weiter kann ich nicht.

Danke

DF6GL

Hallo,

lediglich zur Frage:


Sub btnSpeichern_Click()


  If Me!Zahlart = "Inzahlung" then
     Docmd.Openform "Verkäufer",,, "RechnungsID = " & Me!RechNr  ' sofern "RechnungsID" den Datentyp LONG aufweist

  End  If

End Sub

MzKlMu

Hallo,
ZitatKannst du dann mir sagen welche Tabellen zu verwenden sind und wie die Beziehungen sein sollen?
Ich habe Dir doch in #3 Hinweise gegeben. Leider gehst Du auf diese Hinweise nicht weiter ein.

Ich hatte auch 4 Fragen, von denen Du keine beantwortet hast.
ZitatWas ist denn überhaupt der Unterschied der "Auto" Tabelle zur Tabelle "EKAutos" ?
Ist die RechnungsID wirklich auch die RechNr ?
Was soll eigentlich die Mehrwertsteuer beim Land ?
Was sind die Felder RechErkl1 bis 5 , was steht da drin ?
Gruß
Klaus

zorlayan

Was ist denn überhaupt der Unterschied der "Auto" Tabelle zur Tabelle "EKAutos" ?
-- In Auto gebe ich Autos die verkauft vorden sind
in EKAutos gebe ich die Autos die gekauft worden sind

Ist die RechnungsID wirklich auch die RechNr ?
--Ja, RechID ist die Rechnungsnummer

Was soll eigentlich die Mehrwertsteuer beim Land ?
--Zum feststellen für welches Land welche MwST Satz verwendet werden muss

Was sind die Felder RechErkl1 bis 5 , was steht da drin ?
--Da sind die Erklärungen für die Rechnung gespeichert z.b. TÜV neu, Schäden etc.

ich bin gerade dabei eine neue DB etwas strukturierter zu machen.
Soll ich hier posten?


zorlayan

Juli 27, 2022, 20:50:13 #10 Letzte Bearbeitung: Juli 27, 2022, 23:19:53 von zorlayan
Kann bitte jemand diese DB kontrollieren, seit 5 Stunden folgenden Fehler/Aktionen nicht lösen/finden  :'(

ich kann die Datensätze durch Klicken auf dem Button(Rechnung Schreiben und Drucken) im Formular "frmRechnung", in die ZwischenTabelle "tblKunRechAuto" nicht hinzufügen  ::)

Vielen Dank im Voraus.

Zorlayan

PS: Antworten für die andere 2 Fragen habe ich gerade gefunden.

=Sum([ZahlungsWert]) und
=Sum([KostensWert]) jeweils in einem Feld im Formularfuß 
hätte nicht gedacht dass es so einfach wäre. ich habe die ganze Zeit versucht das rechte Ohr mit der linken Hand zu halten. lol ;)

PS2: Die Datenbank ist noch nicht ganz fertig also bitte nicht wundern :) mir wird sehr helfen wenn das geschilderte Problem erstmal behoben wird.

VG

MzKlMu

Hallo,
Ohje, Du hast wieder viel zu früh mit Formularen angefangen. Das Datenmodell muss noch überarbeitet werden, das passt hinten und vorn nicht.

- Die Tabelle "tblKunRechAuto" ist ersatzlos überflüssig. Die Felder "AID" und "KID" gehören direkt in die Tabelle "tblRechnungen"
- Der Verkaufspreis und und die MWST gehören in die Rechnung
- Die Felder "Marke" und "PSWert" in der Autotabelle sind ersatzlos überflüssig. PS über KW und Marke leigt bereits über das Modell fest
- Zusammengsetzte Primärschlüssel in den Tabellen Kosten und Zahlungen sind Unsinn, warum hast du das gemacht ?
- Die Tabelle Zahlung gehört zur Rechnung und nicht zum Auto.
- Das Feld "Land" in der Kundentabelle wird dort nicht benötigt. Liegt der Ort fest, hat man automatisch auch da Land.
- Bei der Rechnung fehlt die Rechnungsnummer sowie ein feld für die Zahlungsbedingungen und ggf. für die Kontoinformationen.
- Keine Sonderzeichen (-) in Feldnamen verwenden.
- Den ID's sinnvolle Namen geben.

Was kommt in die Tabelle "tblKosten" ?
Was kommt in das Feld "Kosten" in der Autotabelle?

Ändere das mal und dann zeigtst Du noch mal das Beziehungsbild.
Und vorerst keine Formulare mehr machen.
Gruß
Klaus

zorlayan

Hallo Klaus,

schade, und ich hatte mich gefreut das ich endlich mal eine DB 50% selbstständig geschafft habe  :o
ok, lösche alle Tabellen, Codes und erstelle nach deiner Erklärungen, danach schicke ich das Bild von Beziehungen zu.
Danke fürs Hilfen.

VG
Zorlayan

zorlayan

Juli 28, 2022, 15:23:05 #13 Letzte Bearbeitung: Juli 28, 2022, 15:29:31 von zorlayan
Zitat von: MzKlMu am Juli 28, 2022, 11:36:59Was kommt in die Tabelle "tblKosten" ?
Was kommt in das Feld "Kosten" in der Autotabelle?

in TblKosten möchte ich sehen welche Kosten ggf. Reparaturen einzelnen und als Summe für ein Auto zusätzlich gemacht wurde.
Hier das Bild von Beziehungen. Hoffentlich passt. :)

MzKlMu

Hallo,
Zitat von: undefinedHoffentlich passt.
Noch nicht ganz, aber wir nähern uns der Zielgeraden.  ;D
- Land in der Tabelle "tblKunden" löschen.
- Feld "Kosten" in Autotabelle löschen, dafür hast Du ja die Tabelle.
- Sonderzeichen (-) sind immer noch drin
- Die Tabelle "tblRechnungen" hat kein Beziehung zum Auto und keine zum Kunden.
- PSWert immer noch drin
- AutoID bei den Zahlungen überflüssig
- Beziehung zwischen Rechnung und Zahlung ist falsch rum (Die RechnungID muss als Fremdschlüssel in die Zahlungstabelle).
- Es könnte sinnvoll sein, für die Kostenart eine Tabelle anzulegen.

Brauchst Du die Anschrift des Verkäufers nicht ?
Gruß
Klaus