Access ungefähre Werte finden - Sverweis

Moderator: ModerationP

Access ungefähre Werte finden - Sverweis

Beitragvon Pyronixx » 16. Aug 2019, 16:05

Hallo,
ich verzweifele gerade und habe auch schon reichlich im Forum und über Google gesucht, leider finde ich zu viel und nichts was passt, also stelle ich meine Frage hier selber ein und hoffe einfach, dass ich mich hier nicht total blamiere. ^^

Ich habe eine Tabelle in der ich meine verbauten Komponenten verwalte. Eines der Werte, die ich dort verwalte, sind Koordinaten die ich aus einem CAD-System exportiere. Leider kann ich beim Export nicht abfragen, in welchem Stockwerk diese Komponenten verbaut sind, zum Sortieren und Filtern ist diese Information aber sehr hilfreich. In Excel hätte ich jetzt einfach eine Matrix erstellt, in der ich die Deckenhöhen eintrage, und diese hätte ich dann per Sverweis (TRUE = ungefähre Übereinstimmung) ausgewertet. Da ich aber neu mit Access bin, habe ich keine Ahnung, wie ich das dort umsetzen kann.

Also:
Tabelle mit Deckenhöhen
|3000|EG|
|6000|1. OG|
|9000|2. OG|

Wenn ich jetzt die Koordinate Z=2369 habe, soll der Wert "EG" ausgegeben werden und bei Z=7210 der Wert "1. OG"
Pyronixx
 

Re: Access ungefähre Werte finden - Sverweis

Beitragvon Beaker s.a. » 16. Aug 2019, 17:05

@Pyronixx
Da du die Obergrenze erfasst, ist dies falsch
bei Z=7210 der Wert "1. OG"

Foldende Abfrage zeigt korrekt das 2. OG an.
Code: Alles auswählen
SELECT Geschoss
FROM tblGeschosshoehen
WHERE Hoehe = (
         SELECT Min(Hoehe)
         FROM tblGeschosshoehen
         WHERE Hoehe > Z)


gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 719
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: Access ungefähre Werte finden - Sverweis

Beitragvon Pyronixx » 19. Aug 2019, 07:14

Hi,
erstmal danke für die schnelle Antwort aber ich fürchte, ich bin zu viel Access Anfänger um damit klarzukommen.^^

Wo muss ich den Code einbauen, damit er funktioniert?
Ich habe versucht ihn in eine Abfrage zu schieben und ich habe versucht ihn direkt in der Tabelle, als ein berechnetes Feld zu integrieren. Leider bekomme ich immer die gleiche Meldung, dass irgendwas mit dem Syntax nicht stimmt. Offenbar gehört der Code nicht in den Ausdrucks-Generator. ^^

Oh und ja, das erwartete Ergebnis ist natürlich 2. OG und nicht 1. OG :lol:
Pyronixx
 

Re: Access ungefähre Werte finden - Sverweis

Beitragvon Beaker s.a. » 19. Aug 2019, 13:56

@Pyronixx
Offenbar gehört der Code nicht in den Ausdrucks-Generator. ^^

Richtig, das ist der SQL-String einer Abfrage. Als Ausdruck in einem Formfeld
muss man diese über die eingebauten Aggregatfunktionen kapseln.
Code: Alles auswählen
DLookup("Geschoss";"tblGeschosshoehen";"Hoehe = DMin("Hoehe";"tblGeschosshoehen";"Hoehe > Z))

Was in beiden Fällen noch nicht berücksichtigt ist, ist die Frage wo Z den her-
kommt. Vermutlich ein Formularfeld. Dann muss darauf referenziert werden.
im Ausdruck, wenn beide Steuerelemente auf dem gleichen Form liegen:
Code: Alles auswählen
…;"Hoehe > " & FeldZ

falls auf einem anderen (geöffneten!) Form
Code: Alles auswählen
…;"Hoehe > " & Forms.DeinAnderesForm.FeldZ

imSQL-String:
Code: Alles auswählen
      … WHERE Hoehe > Forms.DeinForm.FeldZ)


gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 719
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: Access ungefähre Werte finden - Sverweis

Beitragvon Pyronixx » 23. Aug 2019, 08:09

Hi,
danke für die Hilfe ich komme nun klar.

Das mit "DLookup" hat bei mir leider auch nicht funktioniert^^, ich komme nun aber trotzdem an Ziel.

Mein Fehler war, dass meine Access-Schulung zu lange her ist und in meinen Unterlagen nichts von SQL stand. Also habe ich Depp einfach nicht den Knopf gefunden, wo man die Ansicht der Abfrage auf SQL umstellt. :roll:

Der Wert für Z wird nirgendwo eingegeben, der kommt aus einem CAD-Report und muss "nur" in verständliche Werte umgerechnet werden.
Pyronixx
 


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste

cron