Hallo,
ich habe folgendes Problem:
Ich habe 2 Tabellen mit Werten.
Tabelle 1 enthält bsp. die Werte:
5,51
6,03
6,23
6,85
7,09
7,28
7,91
8,13
Tabelle 2 enthält die folgenden Werte:
6,03
6,27
6,99
7,09
7,35
8,01
8,25
Nun soll das Ergebnis der Abfrage sein das mir hinter den Werten der Tabelle 1 (in einem extra Feld) der gleiche oder nächst höhere Wert aus Tabelle 2 angezeigt wird.
Also so:
5,51 | 6,03
6,03 | 6,03
6,23 | 6,27
6,85 | 6,99
7,09 | 7,09
7,28 | 7,35
7,91 | 8,01
8,13 | 8,25
Vielen Dank im voraus für eure Hilfe
Hallo Uwe,
weiß zwar nicht, wozu das gut sein soll aber:
wenn beide Tabellen gleiche Anzahl von DS haben, wäre folgendes möglich:
1. übernehme die kleine Funktion:
Public Function minimum(wert1) As Double
Dim rs As Recordset, db As DAO.Database
Dim Differenz As Double
Set db = CurrentDb
Set rs = db.OpenRecordset("Select Wert2 from Tabelle2 ORDER BY Wert2")
rs.MoveFirst
minimum = Abs(wert1 - rs!wert2)
Do While rs.EOF = False
Differenz = Abs(wert1 - rs!wert2)
If Differenz <= wert1 - minimum Then
minimum = rs!wert2
End If
rs.MoveNext
Loop
End Function
2. Gestalte eine Abfrage mit der Funktion:
SELECT Wert1, minimum([wert1]) AS W
FROM Tabelle1
ORDER BY Wert1
Gruß Oma
Sorry das ich jetzt erst antworte...... :-[
Zunächst einmal vielen Dank das Du dich meinem Problem angenommen hast. Leider ist deine Vermutung nicht korrekt das beide Tabellen die gleiche Anzahl von DS haben.
In der einen sind ca. 15 Datensätze vorhanden, in der anderen können es mehrere Tausend sein.
Den vielen tausend, teils unterschiedlichen Werten, sollen die 15 der anderen Tabelle zugeordnet werden und zwar immer der identische bzw. nächst höhere Wert.
Hallo,
sowas Ähnliches hatten wir vor Kurzem schon mal..
Auch dort blieb die Frage unbeantwortet, für was das gut sein soll...
Wie auch immer, vielleicht hilft das:
Select Tabelle1.Wert1 as Spalte1, (Select Top 1 Wert1 From Tabelle2 as tmp Where tmp.Wert1 >=Tabelle1.Wert1 Order by tmp.Wert1) As Spalte2 From Tabelle1 Order by Tabelle1.Wert1
Das sieht auf den ersten Blcik sehr gut aus.
Vielen Dank
P.S. die Frag nach dem Sinn: Ich muss einzeln errechnete Preis in einige wenige Preisgruppen zusammen fassen.