Hallo,
ich, als Anfänger, hätte mal eine Frage an die Fachleute:
Ich habe 2 Tabellen in denen PLZ enthalten sind. Allerdings sind nicht alle PLZ in beiden Tabellen enthalten.
Nun zu meinem Anliegen:
Ich möchte mir alle Werte der Tabelle 1 (vollständige PLZ) mit den Werten der Tabelle 2 (unvollständige PLZ) anzeigen lassen. Sollte die PLZ in Tabelle 2 nicht vorhanden sein, sollen die Werte aus der nächsten Zeile gezogen werden.
In Excel würde das mit =sverweis(PLZ_Tabelle1; Tabelle2; wert; wahr) funktionieren, nur gibt es SVERWEIS ja leider in Access nicht.
Ich benutze Access 2007 und sollte vielleicht noch anmerken das ich keinerlei VBA Erfahrung habe.
Vielen Dank im voraus für eure Tips und Lösungsvorschläge
Hallo,
warum fügst du die beiden Tabellen nicht zu einer zusammen und entfernst anschließlich nicht die doppelten?
Andreas
ich hätte ja keine doppelten Einträge sondern in der Tabelle fehlen einige PLZ.
Mal ein Beispiel um es zu veranschaulichen was genau ich meine......
Nehmen wir einmal an das ich für die Stadt Frankfurt mit all den dazugehörigen PLZ einen bestimmten Wert hinterlegen möchte.
Nun habe ich in der Tabelle 1 alle PLZ für Frankfurt gelistet und in der Tabelle 2 stehen nun die Werte die ich den jeweiligen PLZ zuordnen möchte. Leider sind aber in der Tabelle 2 nicht alle PLZ enthalten. Ich bräuchte aber als Ergebnis der Abfrage die gesuchten Werte auch für die fehlenden PLZ.
Anbei mal ein Excelsheet das den Sachverhalt mal ein wenig visualisiert. Darin enthalten auch den Sverweis den ich nutzen würde.
[Anhang gelöscht durch Administrator]
Hallo,
darf ich voraussetzen, dass Du in access eine Abfrage erstellen kannst, bei der zwei Tabellen vorkommen, die über einen Schlüssel verknüpft sind?
Wenn ja, gibt es bei der Verknüpfung 3 Möglichkeiten (im Abfragentwurf einfach die Verknüpfungslinie links anklicken und mit der rechten Maus die Eigenschaften aufrufen). Probier mal die zweite Möglichkeit aus.
Harald
PS Aufwendiger wird es, den "nächsten" Wert anzuzeigen.
Das kann ich, aber ich versuche ja im Falle das eine PLZ in Tabelle 2 nicht enthalten ist die Werte der nächsten PLZ einzubinden.
Die Version mir alle Werte der Tabelle 1 anzeigen zu lassen und nur die Werte der Tabelle 2 bei denen beide Feldinhalte gleich sind, üfhrt leider nicht zum erwünschten Ergebnis da dann bei den fehlenden PLZ das Feld Wert leer bleibt.
Hallo,
so ganz ist Dein Vorhaben nicht nachzuempfinden:
Zitatich versuche ja im Falle das eine PLZ in Tabelle 2 nicht enthalten ist die Werte der nächsten PLZ einzubinden.
-- wodurch sind die "nächsten PLZ-Werte" definiert?
-- was hat der "nächste PLZ-Wert" mit einer fehlenden PLZ zu tun?
das zu erklären, würde jetzt zu weit in Internas führen...... ;)
Fakt ist das ich diese beiden Tabellen verbinden muss.
Sofern die PLZ in beiden identisch sind, ist der Wert aus Tabelle 2 direkt zu übernehmen. Falls die PLZ in Tabelle 2 fehlt, soll der Wert aus der nächsten Zeile (nächste PLZ) übernommen werden.
Hallo
"nächste" bedeutet also wenn 60339 nicht da, dann 60342 (also von einem Ortskreis zum nächsten???)
Und wenn ich das dann weiterführe, wenn es zu 6.... (Hessen) nichts gibt, dann nehme Baden Württemberg (7....) {oder so ähnlich?}
Das bedeutet auch, wenn man mal eine neue Postleitzahl zwischendurch eingibt, stimmt die alte Tabelle/Zuordnung/Abfrage nicht mehr.
Soll das wirklich so sein?
Harald
im Extremfall wäre es so wie von dir dargestellt.
Allerdings wird dieser Abgleich nur max 1 x pro Quartal gemacht und zweitens fehlen max. 1% der PLZ, so das größere Sprünge nicht absehbar sind.
Hi,
noch eine Frage: was soll passieren, wenn bei der letzten Zahl keine gleiche und keine "nächste" vorhanden ist?
Harald
Wenn dieser Fall eintreten würde, wäre es ja nur ein einziger Datensatz den ich dann manuell ergänzen würde.
N'abend,
anbei ein Beispiel.
Im Modul ist die Funktion, die in der Abfrage aufgerufen wird: Damit wird ein passender Wert (gleich oder der "nächste") gesucht.
Harald
[Anhang gelöscht durch Administrator]
N'abend
die Forums-Software kickt mich laufend raus, deswegen mal so der Versuch, ein Ergebnis zu zeigen:
PLZ_1 Ort_1 Ausdr1
60321 Frankfurt 60321
60322 Frankfurt 60322
60323 Frankfurt 60323
60324 Frankfurt 60325
60325 Frankfurt 60325
60326 Frankfurt 60326
60327 Frankfurt 60327
60328 Frankfurt 60328
60329 Frankfurt 60329
60330 Frankfurt 60330
60331 Frankfurt 60332
60332 Frankfurt 60332
60333 Frankfurt 60333
60334 Frankfurt 60334
60335 Frankfurt 60335
60336 Frankfurt 60337
60337 Frankfurt 60337
60338 Frankfurt 60338
60339 Frankfurt 60339
60340 Frankfurt 60340
60341 Frankfurt 60341
60342 Frankfurt 60342
60343 Frankfurt 60343
60344 Frankfurt 60344
60345 Frankfurt 60345
An die Forums-Leute:
Ihre Sitzung ist abgelaufen. Bitte senden Sie Ihren Beitrag erneut.
Kein Betreff angegeben.
Textfeld wurde nicht ausgefüllt.
Das erhalte ich laufend. Was mache ich falsch?
Harald
Hallo,
schließ mal alle IExplorer-Fenster und starte den IE nochmal neu (oder Deinen Alternativ-Browser). Arbeite Dann nur mit einer Registerkarte auf AOM.
Hallo Franz,
danke für die Tipps.
Beim schließen war ich sogar so weit gegangen, dass ich die Workstation runtergefahren hatte und neu gebootet hatte. War auch nur aom offen. (Gibt es etwa noch andere Internetseiten ;D)
Hatte den Eindruck, dass die obige Meldung immer dann kam, wenn ich noch mal einen Beitrag bearbeiten wollte. Ok, das ging dann halt nicht und so sind die Schreibfehler drin geblieben.
Harald
Nachtrag:
Konnte wieder einen Beitrag ändern. Eventuell traten die Fehler in dem Zeitraum auf, als der Rechner Daten mit http://www.worldcommunitygrid.org/ austauschte.
Zitat von: bahasu am Juni 22, 2011, 18:15:22
N'abend,
anbei ein Beispiel.
Im Modul ist die Funktion, die in der Abfrage aufgerufen wird: Damit wird ein passender Wert (gleich oder der "nächste") gesucht.
Harald
Hallo Harald,
zunächst einmal vielen Dank für deine Hilfe.
Die Abfrage in deinem Beispiel funktioniert auch, allerdings habe ich 2 Probleme wenn ich diese in meine eigene DB übertrage...... :-(
1. Ich bekomme einen Laufzeitfehler '3464' Datentypen in Kriterienausdruck unverträglich. (in meiner DB sind die PLZ in beiden Tabellen als ZAHL definiert)
2. ich benötige nicht die PLZ aus der 2. Tabelle sondern einen Wert der zu dem Datensatz der jeweiligen PLZ gehört. In der Tabelle 2 stehen also Beispielsweise hinter der PLZ in einem weiteren Feld noch JA oder NEIN. Nun muss ich diese Werte den PLZ der Tabelle 1 zuordnen.
N'abend Uwe,
zu der Fehlermeldung bei Postleitzahl. Ich war von einer "Text"-Deklaration ausgegangen, da ich mal gelernt habe, nur das als Zahl zu deklarieren, mit dem auch gerechnet wird. Und eine Addition von Postleitzahlen oder das Wurzelziehen sind wohl eher wenig praxisnah.
Der Fehler war durch ein Gänsefüßchen "'" zustande gekommen, das bei Text notwendig ist, bei Zahl aber zum Fehler führt. Das ist jetzt weg.
Anbei ein zweiter Versuch:
Im Modul habe ich die Funktion erweitert, so dass Du in der Abfrage den Feldnamen vorgeben kannst, den Du angezeigt bekommen möchtest.
In meinem Beispiel heißt der eine Feldname: "Text_Feld" und der andere "Ja_oder_Nein".
Bei der fehelnden PLZ 60324 stehen jetzt also die Werte, die in der zweiten Tabelle bei 60325 stehen. Hoffentlich habe ich das jetzt so korrekt verstanden.
Harald
Noch ein Nachtrag zu den Postleitzahlen.
Mit der Deklaration als Text machst Du Dir das Leben speziell bei denen, die mit "0" anfangen (u.a. Leipzig, Dresden), einfacher. Bei der Zahl-Deklaration verschwindet die führende 0 (Format-Trickserei, nein danke).
[Anhang gelöscht durch Administrator]
das sieht sehr gut aus.....
muchas gracias