Office: Kartenanzeige im Formular

Helfe beim Thema Kartenanzeige im Formular in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ein herzliches Hallo in die Runde Ich habe Access 2016 und bin gerade dabei mir eine Adressdatenbank zu erstellen. Das Formular wird aus einer Abfrage... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Klette, 15. Juni 2024.

  1. Klette User

    Kartenanzeige im Formular


    Ein herzliches Hallo in die Runde

    Ich habe Access 2016 und bin gerade dabei mir eine Adressdatenbank zu erstellen.
    Das Formular wird aus einer Abfrage befüllt in der auch die Koordinaten der Adresse mit übergeben werden (Latitude und Longitude).
    Dazu habe ich eine Datei Karte.html im selben Verzeichnis die beim Start in den Webbrowser
    geladen wird. Funktioniert soweit gut.
    Jetzt mein Problem: Wie schaffe ich es die aktuellen Werte (Latitude und Longitude) des aktuellen Datensatzes in die Karte.html Datei zu speichern var(lonLat) um danach den Webbrowser zu refreshen.

    Karte.html

    <html><body>
    <div id='mapdiv'></div>
    <script src='http://www.openlayers.org/api/OpenLayers.js'></script>
    <script>
    map = new OpenLayers.Map('mapdiv', {
    controls:[new OpenLayers.Control.Navigation()],
    displayProjection: new OpenLayers.Projection('EPSG:4326')});
    map.addLayer(new OpenLayers.Layer.OSM());
    var lonLat = new OpenLayers.LonLat(13.7411646 ,51.0501288)
    .transform( new OpenLayers.Projection('EPSG:4326'),map.getProjectionObject() );
    var zoom=13;
    var markers = new OpenLayers.Layer.Markers( 'Markers' );
    map.addLayer(markers);
    markers.addMarker(new OpenLayers.Marker(lonLat));
    map.setCenter (lonLat, zoom);
    </script>
    <noscript><h1>Javascript ist deaktiviert</h1></noscript>
    </body></html>

    Für eure Hilfe wäre ich sehr dankbar. Leider kenne ich mich mit HTML überhaupt nicht aus.
    Schönes Wochenende
    Klette
     
    Klette, 15. Juni 2024
    #1
  2. andyfau
    andyfau Erfahrener User
    Hallo,

    Html ist hier nicht das Problem. Die Datei funktioniert ja einwandfrei. (Ist mal was ohne Google Maps).
    Entscheidend ist die Zeile:
    Code:
    var lonLat = new OpenLayers.LonLat(13.7411646 ,51.0501288)
    Dieser String muss in der Textdatei, was HTML-Dateien ja eigentlich sind, nur ersetzt werden.
    Alle anderen Zeilen kannst Du ja unverändert übernehmen.
    Ich würde die Originaldatei in zweiTeile, zerlegen und abspeichern.
    Teil1.txt und Teil2.txt.
    Dann Teil1 Zeile für Zeile lesen und jede Zeile direkt wieder in die jedesmal neu zu schreibende Karte.html ausgeben.
    Ist Teil1 fertig, in der Zeile oben die Koordinaten mit den neuen Daten ersetzen und dann auch in Karte.html schreiben.
    Dann mit Teil2 auffüllen und Karte.html schließen.
    Dann Karte.html einfach öffnen. Wenn die Dateiendung HTML in Windows als Standarddateityp definiert ist, öffnet sich der Standardbrowser.
    Folgender Link zeigt, wie man Textdateien schreibt. (Dieser Vba-Code in Excel geht auch in Access)
    Textdatei per VBA erzeugen | HERBERS Excel Forum

    Textdatei lesen wird hier beschrieben:
    Lesen Sie eine Textdatei Zeile für Zeile in VBA

    Um den entscheidenen String zusammen zu bauen benötigst Du Kentnisse über Stringverarbeitung.

    Ich denke, das sollte als Hilfe zur Selbsthilfe erstmal reichen.
     
    andyfau, 15. Juni 2024
    #2
    1 Person gefällt das.
  3. Klette User
    Danke dir für deine schnelle Hilfe , werde es in den nächsten Tagen mal probieren. Gibt es nicht eine Möglichkeit eine einzelne Zeile in der Karte.html zu ersetzen mit dem aktuellen Werten der Lat/Lon.
     
    Klette, 16. Juni 2024
    #3
  4. andyfau
    andyfau Erfahrener User

    Kartenanzeige im Formular

    Du könntest die drei Bausteine über einen einfachen DOS-Befehl jeweils neu zusammen fügen.

    Eine andere Möglichkeit wäre die HTML-Datei in eine Accestabelle (jeder Zeile nur ein Stringfeld gleich ein Datensatz) zu importieren und dann immer nur die eine Zeile neu aufzubauen und das dann als Textdatei mit Endung HTML wieder zu exportieren.

    Viele Wege führen nach Rom. Man könnte auch PHP nutzen um die Koordinaten über Variablen zu füttern. Dann muss die html-Datei aber auf einem Webserver laufen.

    Hat aber alles wenig mit Access zu tun. Die HTML-Datei muss halt immer wieder neu zusammengebaut werden, damit ein Browser sie interpretieren kann.
     
    andyfau, 16. Juni 2024
    #4
  5. andyfau
    andyfau Erfahrener User
    Vielleicht ist das ganze ja einfacher, wenn Du mit GoogleMaps suchst. Mit Adresse aus einem Formular geht das so:
    (Im Formular beim Button "ButtonRufMaps" ins Klickereignis legen)

    Code:
    Private Sub ButtonRufMaps_Click()
       Dim mapslink As String
    
      'Prüfung der Adressfelder
       If IsEmpty(Me.Strasse) Or IsNull(Me.Strasse) Then
         MsgBox ("Keine Straße angegeben!")
         Me.Strasse.SetFocus
         Exit Sub
       End If
       If IsEmpty(Me.PLZ) Or IsNull(Me.PLZ) Then
        MsgBox ("Keine PLZ angegeben!")
        Me.PLZ.SetFocus
        Exit Sub
       End If
       If IsEmpty(Me.Ort) Or IsNull(Me.Ort) Then
         MsgBox ("Kein Ort angegeben!")
         Me.Ort.SetFocus
         Exit Sub
       End If
    
      'Eigentlicher GoogleMapsaufruf
       mapslink = "https://www.google.de/maps/place/" & Me.Strasse & ", " & Me.PLZ & " " & Me.Ort
       FollowHyperlink (mapslink)
    
    End Sub
     
    andyfau, 16. Juni 2024
    #5
  6. Klette User
    Ich habe mich jetzt mal damit beschäftigt und habe mir was zusammen gebastelt. Beim Start und Änderung des Datensatzes wird die HTML Datei eingelesen , die eine Zeile geändert und wieder zurückgeschrieben. Funktioniert perfekt. Jetzt muss ich nur noch die Datensätze abfangen die keine Koordinaten haben da Straße, Postleitzahl oder Ort unbekannt.
    Danke nochmal für deine Hilfe und Anregungen Andyfau Kartenanzeige im Formular *:)*
    Hier der Code:

    Dim F As Integer
    Dim nCount As Long
    Dim i As Long
    Dim sLines() As String
    F = FreeFile
    Open "D:\Karte.html" For Input As #F
    While Not EOF(F)
    nCount = nCount + 1
    ReDim Preserve sLines(nCount)
    Line Input #F, sLines(nCount)
    Wend
    Close #F
    sLines(9) = " var lonLat = new OpenLayers.LonLat(" & Me.Longitude & "," & Me.Latitude & ")"

    F = FreeFile
    Open "D:\Karte.html" For Output As #F
    For i = 1 To nCount
    Print #F, sLines(i)
    Next i
    Close #F
     
    Klette, 18. Juni 2024
    #6
    1 Person gefällt das.
Thema:

Kartenanzeige im Formular

Die Seite wird geladen...
  1. Kartenanzeige im Formular - Similar Threads - Kartenanzeige Formular

  2. Formular/Bericht zeigt keine Nachkomma für Prozentwert an

    in Microsoft Access Hilfe
    Formular/Bericht zeigt keine Nachkomma für Prozentwert an: Beitrag gelöscht, da Blödsinn. :oops:
  3. Formular: Dropdown-Felder "verknüpfen"?

    in Microsoft Word Hilfe
    Formular: Dropdown-Felder "verknüpfen"?: Hallo, für einen Fahrauftrag habe ich mal ein Formular erstellt, wo man halt die Relevanten Daten schnell und Bequem eingeben kann. Dabei habe ich auch zwei Drop-Down-Felder erstellt und diese...
  4. Fehler beim speichern von Daten über ein Formular

    in Microsoft Access Hilfe
    Fehler beim speichern von Daten über ein Formular: Guten Morgen zusammen, ich habe ein Problem mit einer SQL Servertabelle, diese war bisher als Abfrage oder direkt als RS eines Formulars. Wenn nu n Daten geändert wurden, gab es oft, nicht immer,...
  5. Formular Wert per Klick in ein anderes Feld übernehmen

    in Microsoft Access Hilfe
    Formular Wert per Klick in ein anderes Feld übernehmen: Guten Tag Ich bin am Anschlag und brauche euer Schwarmwissen. Da ich eher zu den Anfänger gehöre, brauche ich auch einfache Erklärungen, damit ich in Zukunft verstehe. :-D Es handelt sich um...
  6. Suchfeld in Formular

    in Microsoft Access Hilfe
    Suchfeld in Formular: Hallo zusammen Ich bin eine Datenbank am erstellen, wo ich Mitarbeiter und Kurse erfassen kann und schlussendlich den Mitarbeitern die besuchten Kurse zuteilen. Nun habe ich ein Formular...
  7. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  8. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden