ich habe eine Tabelle(Preis), sie beinhalted die Felder
PreisID Preis GrundpreisID ZuschlagID
Die Felder GrundpreisID und ZuschlagID sind in je einer einzelnen Tabelle mit Ihren Werten verknüpft und werden in der Tabelle Preis nur durch Ihre IP’s „vertreten“.
Nun möchte ich gerne dass in dem Feld „Preis“ die Summe aus dem Grundpreis und dem Zuschlag gebildet, und in einem Formular angezeigt wird.
Der Grundpreis und Zuschlag werden davor durch ein Dropdownfeld in diesem Formular bestimmt.
Geht das überhaupt so wie ich mir das gerade vorstelle und wenn ja wie??Ich komme einfach nicht auf die Summe…
ich habe eine Tabelle(Preis), sie beinhalted die Felder
PreisID Preis GrundpreisID ZuschlagID
Die Felder GrundpreisID und ZuschlagID sind in je einer
einzelnen Tabelle mit Ihren Werten verknüpft und werden in der
Tabelle Preis nur durch Ihre IP’s „vertreten“.
ok, so sollte es sein
Nun möchte ich gerne dass in dem Feld „Preis“ die Summe aus
dem Grundpreis und dem Zuschlag gebildet, und in einem
Formular angezeigt wird.
Der Grundpreis und Zuschlag werden davor durch ein
Dropdownfeld in diesem Formular bestimmt.
also ist der Grundreis dort sichtbar und auch der Zuschlag.
Geht das überhaupt so wie ich mir das gerade vorstelle und
wenn ja wie??Ich komme einfach nicht auf die Summe…
Summe ist da wohl der falsche Ansatz!
Ich gehe jetzt mal davon aus, dass der Zuschlag in Euro drinsteht!
vielen Dank erstmal genau so wollte ich es haben, Danke!!
nun aber eine weitere Fragen:
und zwar ist der Grundpreis von 3 Werten abhängig:
Von dem Typ
Von der Tolleranz
Von der Menge
Jetzt habe ich das so versucht:
Private Sub Typ_AfterUpdate()
’ Bestimmen des Grundpreises über den Typ
If Not IsNull(Me!Typ) Then
Me!Grundpreis.RowSource = _
„SELECT DISTINCTROW GrundpreisID, Grundpreis FROMtbl_Grundpreis“& _
IIf(Me!Typ = 0, „“, " WHERE TypID = 0 OR TypID = " & Me!Typ)
Else
Me!Typ.RowSource = „“
Me!Gruppe.RowSource = „“
End If
Me!Gruppe.Requery
Me!Typ.Requery
Me!Bezeichnung = Null
End Sub
So nun ist aber NUR der Typ als Auswahlkriterium gegeben, wie kann ich in diese Funktion auch noch die Tolleranz und die Menge als Auswahlkriterium mit einbringen?
Die Tabellen sind alle miteinander über die jeweiligen ID’s „verknüpft“.
und zwar ist der Grundpreis von 3 Werten abhängig:
Von dem Typ
Von der Tolleranz
Von der Menge
die Werte sind aber auch in der REihenfolge NACHEINANDER in Abhängigkeit miteinander verbunden.
Private Sub Typ_AfterUpdate()
ich würde es nach FOKUSVERLUßT machen …
’ Bestimmen des Grundpreises über den Typ
If Not IsNull(Me!Typ) Then
Me!Grundpreis.RowSource = _
„SELECT DISTINCTROW GrundpreisID, Grundpreis
FROMtbl_Grundpreis“& _
IIf(Me!Typ = 0, „“, " WHERE TypID = 0 OR TypID = " &
Me!Typ)
oder
Me!Grundpreis = Dlookup(„Grundpreis“,„tbl_Grundpreis“,IIf(Me!Typ = 0, „“, " WHERE TypID = 0 OR TypID = " & Me!Typ)
Else
Me!Typ.RowSource = „“
Me!Gruppe.RowSource = „“
End If
Me!Gruppe.Requery
Me!Typ.Requery
Me!Bezeichnung = Null
End Sub
So nun ist aber NUR der Typ als Auswahlkriterium gegeben, wie
kann ich in diese Funktion auch noch die Tolleranz und die
Menge als Auswahlkriterium mit einbringen?
Die Tabellen sind alle miteinander über die jeweiligen ID’s
„verknüpft“.
ok, dann erstelle EINE Abfrage, in der du die Tabellen zusammen führst.
Diese nutzt du dann als Basis für deine Preisfindung.
Die Funktion DLOOKUP wird dir die Programmierung vereinfachen.
Hier addiert er mir die Zahlen nicht sondern reit sie nur aneinander.
Ich glaube es fehlt der Befehl das er die Summe bilden soll was ja aber eigentlich durch das + gelöst sein sollte.
Ich komme aber nicht so richtig dahinter wie der Befehl lauten soll.
ok, dann erstelle EINE Abfrage, in der du die Tabellen
zusammen führst.
Diese nutzt du dann als Basis für deine Preisfindung.
Die Funktion DLOOKUP wird dir die Programmierung vereinfachen.
das habe ich gemacht.
In der Tabelle tbl_Grundpreis mit den Feldern:
GrundpreisID Grundpreis TypID TolleranzID MengeID
jetzt habe ich aber ein Problem beim Programmiern des Codes und zwar spricht er nicht alle Kriterien an.
Wie kann ich die denn gleichzeitig ansprechen?
Rechnet er das, oder stellt er das nur dar? (Kannst Du überprüfen, indem Du direkt ins Feld klickst). Wenn der Cursor drin ist und sich plötzloch eine Dezimalzahl zeigt, liegt es an der Feldeigenschaft „Nachkommastellen“. Ist das nicht der Fall, dann sieh nach, welches Format Dein Summenfeld hat. Ist es Integer oder Long, kann er natürlich mit Dezimalstellen nicht umgehen.
Ich vermute mal das er hier rundet. Dabei dachte ich immer das
Access keine eigene Rundungsfunktion hat?
Ab Access 2002 hat es eine.
Wie kann ich das unterbinden sodass er mir die genaue
Kommazahl von €2,26 z.B. nennt?
Rechnet er das, oder stellt er das nur dar? (Kannst Du
überprüfen, indem Du direkt ins Feld klickst). Wenn der Cursor
drin ist und sich plötzloch eine Dezimalzahl zeigt, liegt es
an der Feldeigenschaft „Nachkommastellen“. Ist das nicht der
Fall, dann sieh nach, welches Format Dein Summenfeld hat. Ist
es Integer oder Long, kann er natürlich mit Dezimalstellen
nicht umgehen.
Er stellt dar,
wenn ich in das Feld klicke kommt der Cursor aber er zeigt keine Dezimalstellen/Nachkommastellen an sondern nur die volle Zahl z.B. 2.
Leider finde ich in den Eigenschaften des Textfeldes wo die Summe dann angezeigt werden soll (auch unter Format) nicht eine Auswahl wo ich Integer oder Long „deaktivieren“ kann.
Ich habe das Format auf € gestellt und die Anzahl der Dezimalstellen auf 2.
Wo änder ich denn das um?
Muss ich das Textfeld in dem die Summe gezeigt werden soll irgendwie „umwandeln“ von einem Textfeld in ein Zahlenfeld?
Oder ist das was du oben gemeint hast mit der Formatänderung?