Formular Berechnete Felder untersch. Basis

Von: , 15.10.2011 08:33 Uhr

Hallo,
ich möchte in Access 2010 abhängige Masse für Teile verwalten. Teilweise werden die Masse eingegeben, teilweise berechnet, z.B:
Länge_Teil_2 ist 0,5*Länge_Teil_1
Länge_Teil_3 ist 2,5*Länge_Teil_2

Dafür habe ich eine Tabelle mit allen Massen:
Mas_Teil_ID, Teil, Mass, eingegebener Wert, Faktor, BezugsTeil_ID

Bei berechneten Werten bleibt das Feld eingegebener Wert leer. Stattdessen fülle ich Faktor und BezugsTeil_ID aus.

In einem Endlosformular möchte ich die berechneten Werte für alle Teile dann anzeigen.

Bei normalen Wertzuweisungen für das Ausgabefeld der berechneten Werte taucht im Endlosformular in allen Feldern der Spalte derselbe Wert auf. Wie kann ich in dem Endlosformular in der Spalte der berechneten Werte in Abhängigkeit von der zugehörigen BezugsTeil_ID die Werte dynamisch errechnen lassen?

Da ich wenig Erfahrung habe, wäre ein Code-Beispiel hilfreich.

Im Voraus vielen Dank für eure Hilfe

Dieter

3 Antworten zu dieser Frage

  1. Antwort von nach 13 Minuten 0 hilfreich
    Re: Formular Berechnete Felder untersch. Basis

    Hallo Dieter!
    Kannst Du mir eine Version der Anwendung mit nur dem Formular und 5 Testwerten schicken ([E-Mail-Adresse entfernt]? Dann wird´s einfacher.
    Grüße
    Martin

  2. Antwort von nach 57 Minuten 0 hilfreich
    Re: Formular Berechnete Felder untersch. Basis

    Hallo Dieter,

    so etwas ist in der Regel kein Problem. Allerdings kann ich Dir an Hand Deiner kurzen Beschreibung keine Lösung liefern. Ich schlage vor, Du sendest mir Deine Tabelle (ein Teil genügt oder nur mit Dummydaten)und ein Beispiel, was herauskommen soll. E-Mail: [E-Mail-Adresse entfernt]

    Achtung: ACCESS-DB können nur im ZIP-Ordner versendet werden.

    Wir können auch gerne eine Teamviewer-Sitzung machen. In diesem Fall: 09221/87 86 95-0

    Viele Grüße
    Thomas

  3. Antwort von nach 2 Tagen 0 hilfreich
    Re: Formular Berechnete Felder untersch. Basis

    Hallo Dieter!

    Folgende Änderungen:
    1.Neues Feld Berechneter Wert in der Tabelle
    2.Im Formular einige Zeilen Code:
    Private Sub Faktor_AfterUpdate()
    On Error GoTo err_Faktor_AfterUpdate
    Dim sLänge As Single
    Dim db As Database
    Dim rs As Recordset

    Set db = CurrentDb
    Set rs = db.OpenRecordset("Teil_Wert", dbOpenDynaset)

    rs.FindFirst "Mass_Teil_ID=" & Me.BasisWert_ID
    sLänge = rs!Eingabewert

    Me.BerechneterWert = sLänge * Me.Faktor

    DoCmd.GoToRecord , , acNewRec
    Me.Mass.SetFocus
    Exit_Faktor_AfterUpdate:
    Set rs = Nothing
    Set db = Nothing
    Exit Sub
    err_Faktor_AfterUpdate:
    MsgBox Err & " " & Err.Description
    Resume Exit_Faktor_AfterUpdate
    End Sub

    Du wirst nicht darum herum kommen, die Ergebnisse in der Tabelle zu speichern. Denn: Wenn Du das nicht vorhast, so erscheint das Ergebnis in jedem Feld, da es ja nicht gebunden ist und Access somit nicht weiß, zu welchem Datensatz das Ergebnis gehört.

    Alles Gute
    Martin

Jetzt auf diese Frage antworten.