Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Formular zur Anzeige der Entfernung zweier Orte
zurück: Formular in Excel öffnen weiter: Mail Versand an Verteilergruppe Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Brosch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Nov 2012, 02:32
Rufname:

Formular zur Anzeige der Entfernung zweier Orte - Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo Fachleute,

bin im Vertrieb tätig und Verwalte meine Kunden mit Access 2003.
Für eine sinnvolle Reiseplanung wünsche ich eine komfortable Anzeige der Entfernung meiner Kunden vom geplanten Startort (ist Variabel).

Ausgangssituation und derzeitiger Stand:
Kundendaten in Tabelle "Kunden", "KuNr" ist Primärschlüssel, Dezimale Geokoordinaten in "Breitengrad" und "Längengrad", natürlich weitere Daten, wie PLZ uns. auch erfasst.

Zwei Abfragen von Tabelle "Kunden" erstellt.
1. Abf_Entf_Start: "KuNr" .... "StartNB: Breitengrad", "StartOL: Längengrad"
2. Abf_Entf_Ziel: "KuNr" .... "ZielNB: Breitengrad", "ZielOL; Längengrad"

Funktion zur Entfernungsermittlung von zwei geographischen Punkten erstellt.
Code:
=Entfernung(StartNB;StartOL;ZielNB;ZielOL)
Formular "Umkreis" erstellt und Abf_Entf_Start eingefügt.
Als Unterformular eingefügt: Abf_Entf_Ziel (ohne verknüpfte Felder, da sonst nicht alle angezeigt werden).
Textfeld für Entfernungsberechnung in Unterformular eingefügt:
Code:
=Int(Entfernung((Formulare!Umkreis!StartNB);(Formulare!Umkreis!StartOL);[ZielNB];[ZielOL]))
Nach dem öffnen des Formulars "Umkreis" werden die Entfernungen im Unterformular auch korrekt berechnet.
Nach Änderung der Startadresse im Formular (Realisiert durch Kombinationsfeld) soll die Entfernung im Unterformular aktualisiert werden. Dies erfolgt schleppend und erst nach betätigung der Laufleiste im Unterformular. Vor alledm aber soll die Entfernung automatisch aufsteigend sortiert werden!
Nach meiner Meinung lässt sich das nur realisieren, indem die Entfernungsberechnung schon inerhalb der Abfrage erfolgt. Und genau dieses bekomme ich nicht gebacken.

Wie sieht der genau Lösungsansatz mittels Abfrage aus?

Über eine Antwort würde ich mich freuen.

Danke, Thomas Brosch
Gast



Verfasst am:
10. Nov 2012, 11:34
Rufname:


AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Nach meiner Meinung lässt sich das nur realisieren, indem die Entfernungsberechnung schon inerhalb der Abfrage erfolgt.
Ich habe mich sowieso gefragt, warum du da HFO mit UFO nimmst und nicht eine Entfernungsberechnung in der Abfrage. Confused

Zitat:
Zwei Abfragen von Tabelle "Kunden" erstellt.
1. Abf_Entf_Start: "KuNr" .... "StartNB: Breitengrad", "StartOL: Längengrad"
2. Abf_Entf_Ziel: "KuNr" .... "ZielNB: Breitengrad", "ZielOL; Längengrad"
Warum zwei Abfragen? Das gehört in eine Abfrage. Wie sehen denn die dahinter stehenden Tabellen aus? Ich gehe mal davon aus, daß alle Koordinaten in einer Tabelle stehen und du per Typ-Feld bestimmst, was Start und was Ziel ist, also über eine Zwischentabelle wie für n:m-Beziehungen?

Die Abfrage sollte diese Spalten haben:

"KuNr" .... "StartNB: Breitengrad", "StartOL: Längengrad", "ZielNB: Breitengrad", "ZielOL; Längengrad" , "BerEntf"

Die neue Spalte "BerEntf" (=Berechnung Entfernung, muß ja anders benannt sein als deine Funktion) ist dann die berechnete Spalte, in der du deine Entfernungs-Funktion aufrufst.
steffen0815
VBA-Programmierer


Verfasst am:
10. Nov 2012, 12:28
Rufname:

AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo,
prinzipiell stellt sich die Frage was hinter der Prozedur "Entfernung" für ein Code steht.
Ist es eine einfach Luftlinie, kann man das sicher per n:m realisieren. Wird die Berechnung allerdings z.B. (live) per GoogleMaps gemacht ist das sicher praktisch so nicht umsetzbar.

_________________
Gruß Steffen
Brosch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Nov 2012, 13:51
Rufname:

AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Danke für schnelle Reaktion und Antwort.

Für Steffen: Ja, einfache Luftlinienberechnung. Für meine Bedürfnisse völlig Hinreichend.
Code:
Option Compare Database
Option Explicit

Public Function Entfernung(StartNB As Double, StartOL As Double _
                         , ZielNB As Double, ZielOL As Double) As Double
    Dim LDezimal As Double
    Dim Grad As Double
    Dim Min As Double
    Dim Sek As Double
    Dim Abstand As Double
   
    LDezimal = Sqr((StartNB - ZielNB) * (StartNB - ZielNB) _
                 + (StartOL - ZielOL) * (StartOL - ZielOL))
    Grad = Int(LDezimal)
    Min = Int((LDezimal - Grad) * 60)
    Sek = ((LDezimal - Grad) * 60 - Min) * 60
    Abstand = (Grad * 111) + (Min * 1.85) + (Sek * 0.03)
    Entfernung = Abstand
End Function
Mit Sicherheit verbesserungwürdig, bin eben kein Fachmann. Gern Hinweise.

Für Gast: Richtig, Daten stehen in einer Tabelle. Keine Zwischentabelle für n:nm Beziehung, sondern nur wie beschrieben die zwei Abfragen, die in Formular eingefügt wurden. Das habe ich so gemacht, um den Startpunkt festlegen zu können. Setze ich deinen Vorschlag für die Abfrage um, ergibt sich immer Entfernung = 0 Km.
Wo liegt mein Denkfehler?

Wie sieht ein Lösungsansatz mittels Abfrage für meine Fragestellung genau aus?
Wie kann ich mir die Entfernungen aufsteigend sortiert anzeigen lassen, obwohl die Daten aus einer Tabelle stammen? Muss eine Zwischentabelle für n:m her?

Komme hier einfach nicht weiter.

Gruss
Thomas Brosch
Gast



Verfasst am:
12. Nov 2012, 10:54
Rufname:


AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Richtig, Daten stehen in einer Tabelle. Keine Zwischentabelle für n:nm Beziehung
Dann ist das Datenmodell ...sagen wir mal "suboptimal.
Du hast doch zu einem StartOrt mehrere mögliche Zielorte? Ebenso können doch bestimmt mehrere StartOrte zu einem ZielOrt führen? Du benötigst dafür eine n:m-Beziehung mit Zwischentabelle.

Zitat:
Setze ich deinen Vorschlag für die Abfrage um, ergibt sich immer Entfernung = 0 Km.
Wo liegt mein Denkfehler?
Also noch mal geanuer: Du hast eine Tabelle, die u.a. folgende Spalten enthält:
Code:
"KuNr" .... "StartNB: Breitengrad", "StartOL: Längengrad", "ZielNB: Breitengrad", "ZielOL; Längengrad"
Zeige doch mal den SQL-Code der Abfrage. Da mußt du dann irgendwo einen Fehler gemacht haben.

Oder sind das jeweils zwei Datensätze? Also so:
Code:
"KuNr" .... "Breitengrad", "Längengrad"

Zitat:
Wie kann ich mir die Entfernungen aufsteigend sortiert anzeigen lassen, obwohl die Daten aus einer Tabelle stammen?
Du schreibst im Abfrageassistenten in die Zeile "Sortierung" in die Berechnete Spalte "BerEntf" der Abfrage "ascending" bzw. bei deutschem Access "aufsteigend". Wink
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
12. Nov 2012, 12:06
Rufname:
Wohnort: Saarbrücken

AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Sehe ich auch so.

Es gibt Orte
Es gibt Strecken zwischen je zwei Orten.

Das sind dann zwei Tabellen

tblOrte
-- IDOrt
-- GeoDaten

tblStrecke
-- IDStrecke
-- fIDOrtVon
-- fIDOrtNach
-- (Entfernung)

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
Brosch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Nov 2012, 20:54
Rufname:

AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo Gast, Hallo Jürgen,
danke für Eure Reaktion. Offensichtlich reden wir aneinander vorbei, bzw. ich konnte mich nicht richtig verständlich machen.

Nehmen wir einmal folgendes an (rein fiktiv):
Ihr habt schon ein paar Jahre auf dem "Buckel" und hattet in eurem Leben über 4000 Frauen kennengelernt.
Jede Frau habt Ihr in einer Eccess-Tabelle nach allen Regeln der Kunst erfasst.

tblFrauen
--IDFrauen
...
(alle anderen relevanten Daten)
...
--Breitengrad, z.B. 51,316700
--Längengrad, z.B. 12,016700

Eure eigene Wohnanschrift habt Ihr in gleicher Tabelle erfasst.
Es ist leicht, ausgehend von eurer Wohnung, die Entfernung jeder einzelnen Frau mit Hilfe der Funktion "Entfernung()" zu ermitteln.
"=Entfernung(EureWohnungBreitengrad;EureWohnungLängengrad;AndreaBreitengrad;AndreaLängengrad)
Damit habt Ihr die Entfernung von Andrea von eurer Wohnung. Das ist jedoch nicht das, was Ihr wollt.
Ihr plant eine einwöchige Rundreise durch Deutschland. Dabei wollt Ihr täglich 4 bis 5 eurer altbekannten Frauen besuchen.
In einem Formular könnt Ihr den Startort mittels DropDownListenfeld komfortabel auswählen. Am ersten Tag ist der Startort eure Wohnung. In dem eingebunden Unterformular (UFO) werden euch alle 4000 Frauen sortiert aufsteigend nach der Entfernung von Eurer Wohnung aufgelistet. Ihr sprecht verschiedene Frauen an, die nicht weiter als z.B. 50 km von euch entfernt sind.
Bei Heidrun hat es geklappt, Ihr habt euch für 09:00 Uhr verabredet.
Jetzt wollt Ihr weiterplanen. Heidruns Adresse (Geodaten) ist jetzt die neue Startadresse.
Nach Auswahl im DropDownListenfeld werden die 4000 Frauenadressen im UFO neu berechnet und neu sortiert aufsteigend angezeigt. Jetzt könnt Ihr eine von den Frauen ansprechen, die z.B nicht weiter als 100 km von Heidrun entfernt wohnt.
usw. usf.

Wie setzt Ihr das in der Praxis um?

Danke vorab
Thomas Brosch
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
13. Nov 2012, 01:23
Rufname:
Wohnort: Saarbrücken

AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Auch dies lässt sich mMn mit obigem Modell abdecken, da auch da die Graphen von Ort zu Ort festgelegt werden und ihre Länge anhand der Geo-Daten berechnet werden können.

... aber geh mir weg mit den Geistern ... äh ... Weibern der Vergangenheit. Eine Frau und ihre Töchter sind mir genug Very Happy Laughing

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
Brosch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Nov 2012, 04:18
Rufname:


AW: Formular zur Anzeige der Entfernung zweier Orte - AW: Formular zur Anzeige der Entfernung zweier Orte

Nach oben
       Version: Office 2003

Hallo Jürgen,
danke für Antwort.
O.K., geht nur mit n:m. Werde ich versuchen umzusetzen.
Habe in den nächsten Tagen nicht die Zeit dafür.
Allen Beteidigten Danke für Mühe und Zeit.

Gruss
Thomas Brosch
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern und aktualisieren in ein Formular 4 gokima 989 18. Apr 2012, 04:49
Joe66-1 Filtern und aktualisieren in ein Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrageergebnis als neues Formular anzeigen 2 mila 3034 12. Apr 2005, 12:38
mila Abfrageergebnis als neues Formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen im Formular aufrufen, automatisch bestätigen 3 Calvin22 1606 12. Apr 2005, 12:12
Willi Wipp Abfragen im Formular aufrufen, automatisch bestätigen
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze zählen (im Formular oder Bericht) ? 3 anna-bolika 3756 31. März 2005, 12:50
Dalmatinchen Anzahl der Datensätze zählen (im Formular oder Bericht) ?
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Formular Daten in einer Tabelle speichern? 1 Gast 1017 24. März 2005, 16:24
Willi Wipp Formular Daten in einer Tabelle speichern?
Keine neuen Beiträge Access Tabellen & Abfragen: multiplizieren zweier verschiedener Datensätze 3 Stara 913 13. Jan 2005, 20:36
Skogafoss multiplizieren zweier verschiedener Datensätze
Keine neuen Beiträge Access Tabellen & Abfragen: mehrer abfragen ein formular 1 romu 719 10. Jan 2005, 15:54
lothi mehrer abfragen ein formular
Keine neuen Beiträge Access Tabellen & Abfragen: kreuzabfrage ausführen nach vorgeschaltetem formular mit kom 4 Gast 887 21. Dez 2004, 15:17
Gast kreuzabfrage ausführen nach vorgeschaltetem formular mit kom
Keine neuen Beiträge Access Tabellen & Abfragen: Formeln vom Formular, werden in der Abfrage nicht angezeigt 4 maddes 895 23. Nov 2004, 12:38
Skogafoss Formeln vom Formular, werden in der Abfrage nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Wert eines Feldes aus Formular in Tabelle speichern 18 kave78 13710 16. Okt 2004, 13:40
Ming Wert eines Feldes aus Formular in Tabelle speichern
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile der Dateneingabe (*) in einem Formular verschieben 2 Albertus 790 08. Okt 2004, 09:17
Albertus Zeile der Dateneingabe (*) in einem Formular verschieben
Keine neuen Beiträge Access Tabellen & Abfragen: Suchfunktion mit mehreren Kriterien aus Formular 5 Danny G. 2218 09. Sep 2004, 11:08
Danny G. Suchfunktion mit mehreren Kriterien aus Formular
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA