Hallo,
ich habe 2 Tabellen:
1. Tabelle: Hier stehen verschiedene Geräte drin, also Type, Hersteller etc. und eine Formel mit welcher ich die Unsicherheit der Geräte berechnen kann. Diese Formel ist bei jedem Gerät anders!
2. Tabelle: Hier stehen verschiedene Messstellen mitsamt Parametern und dem eingesetzten Gerätetyp drin
Nun möchte ich gerne in einer Abfrage die beiden Tabellen zusammenführen und mit die Unsicherheit jeder Messstelle berechnen lassen.
als kleines Beispiel:
Tabelle 1:
Type Formel
A12 Messbereich/100
A13 Messbereich/50
XY7 Messbereich/25
Tabelle 2:
Messstelle Gerätetype Messsbereich
2711 A12 50
815 XY7 10
816 XY7 30
4568 A13 50
Ich hatte jetzt gedacht das ginge evtl. mit der Funktion Auswerten, damit bekomme ich das aber nicht hin.
Hat jemand ne Idee wie bzw. ob das geht ?Die Formeln können halt komplett unterschiedlich sein, auch mit wenn Funktionen oder dergleichen, also nicht immer nur simples multiplizieren oder dividieren....
Schonmal vielen Danke und GrußIkswoknib
Hallo,
in einer Abfrage die beiden Tabellen zusammenführen
geht so:
füge im Abfrageentwurf beide Tabellen hinzu.
Verbinde (verknüpfe) die Felder "Type" und "Gerätetype" miteinander mit Verknüpfungs-Art "Inhalte der Felder sind gleich".
In einer leere Spalte kannst Du dann die Berechnung durchführen, die jeder Type zugehörig sind.
Hallo,
so habe ich es ja versucht.
Ich habe die Tabellen zusammen geführt und eine neue Spalte mit folgendem Ausdruck erstellt:
Berechn: Auswerten([Formel])
Wenn in der Spalte Formel z.B. 5*2 steht klappt das auch, es wird dann 10 angezeigt.
Möchte ich dort aber z.B. "Messbereich*2" rechnen kommt nur #Fehler
Gruß
Hallo,
wenn ich es recht verstehe, soll "Messbereich" in Feld "Formel" eine Referenz auf das Feld "Messsbereich" in Tabelle2 sein?
Eine solche Referenz kann Eval nicht auflösen.
Warum überhaupt eine "Referenz" benutzen? Schreib in das Feld "Formel" lediglich den Divisorwert ein und berechne in einer leeren Abfragespalte:
x: ([Messbereich]/[Formel])
Wenn die Formel jeweils unterschiedliche Rechenoperatoren enthält, dann ist eine Public-Function sinnvoll, die in einer Abfrage aufgerufen wird:
Public Function fktEval(fldName As String, fldval As String, Formel As String)
fktEval = Eval(Replace(Formel, fldName, fldval))
End Function
Tabelle:
ZitatID Messbereich Formel
1 50 Messbereich/100
2 10 Messbereich*500
Abfrage:
SELECT Tabelle1.Messbereich, Tabelle1.Formel, fktEval("Messbereich",[Messbereich],[Formel]) AS x
FROM Tabelle1;
Abfrageergebnis:
ZitatMessbereich Formel x
50 Messbereich/100 0,5
10 Messbereich*500 5000
Hallo,
danke für Deine Hilfe.
Dann scheint es mir so dass dies für meine Probleme nicht funktioniert.
Die Formeln sind schon ein wenig komplexer.
Trotzdem danke nochmal für den support.
Gruß
Iksi
Hallo,
dann zeig halt mal eine solche komplexe Formel....