7.2k Aufrufe
Gefragt in Datenbanken von
Hallo,
ich bin dabei eine Service Datenbank zu programmieren und habe folgendes Problem.
Es gibt eine Haupttabelle in der Aufträge gespeichert werden.
In einer Zwischentabelle werden zu dem Auftrag gehörende Ersatzteile gespeichert.
Ich erstelle einen Bericht der auf einer Abfrage basiert. Dieser Abfrage gibt aber leider #Fehler aus, wenn keine Ersatzteile verwendet werden (kein Eintrag in der Zwischentabelle existiert). Der Preis des Ersatzteiles wird in der Rechnung gebraucht um den Endpreis zu berechnen.

Hier die Formel für die Preisberechnung
=([qryErsatzteile Unterbericht].Bericht!txtSummeErsatzteilUF+[AuftragFestpreis])


Es müsste also, sollte [qryErsatzteile Unterbericht].Bericht!txtSummeErsatzteilUF (Textfeld aus dem Unterformular in dem die Summe der Ersatztteilpreise steht) nicht existieren(da keine Ersateile verwendet wurden und kein Datensatz in der Zwischentabelle existiert), eine 0 in die Rechnung einfließen oder das Textfeld nicht mit einbezogen werden.

Ich habe schon so einiges probiert, bin aber leider nicht bis zum Ziel gekommen.

Lg Andara

11 Antworten

0 Punkte
Beantwortet von
hallo marie und paul1,
schonmal vielen dank für eure hilfe!
@paul1
ich müsste dann automatisch für jeden Auftrag einen eintrag in der tblAuftragErsatzteil erstellen in dem der Fremdschlüssel für den Auftrag und der FS für das "diverse" Ersatzteil enthalten ist erstellen. eine menge datenmüll..

@marie
..da Datensätze sein können wo ein Ersatzteil bestellt ist, aber nicht vorhanden ist??

es existiert gar keine Einträge in der tblErsatzteil und auch kein Eintrag in der tblAuftragErsatzteile wenn kein ersatzteil verwendet wird.

Senario: Ich erhalte einen Auftrag für eine Reparatur, für den ich eine Rechnung schreiben will. Es wurde nur Arbeit ausgeführt aber kein Ersatzteil verwendet. In der Rechnung existiert nun kein Textfeld txtSummeErsatzteilUF, da die Abfrage des Unterberichtes kein Ergebnis liefert(kein Eintrag in der tblAuftragErsatzteil).

es muss doch eine möglichkeit geben in dem Textfeld in dem ich mit dem Wert von txtSummeErsatzteilUF weiter rechnen möchte, eine WENN funktion zu erstellen, die etwa so aussieht wie die, die du in #2 schon beschrieben hast:
= [AuftragFestpreis] + wenn (DCount("*", "qryErsatzteile") > 0;txtSummeErsatzteilUF; 0)

ich bin leider ein absoluter Neuling was dbs angeht und danke euch vielmals für eure hilfe!
...