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. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  3. erstellte Formulare versenden

    in Microsoft Outlook Hilfe
    erstellte Formulare versenden: Hallo zusammen, als Rookie direkt mal eine Outlookfrage (MS 365) i.S. Formulare: Onkel Google hat mir ja erklärt, wie man Formulare erstellt, das funzt jetzt auch soweit *:)* Ich speichere die...
  4. Webadresse aus Formular öffnen

    in Microsoft Access Hilfe
    Webadresse aus Formular öffnen: Hallo zusammen, ich bin am verzweifeln. Ich habe in einem Formular ein Feld mit Pfaden zu einer Webadresse mit unterschiedlichen Unterseiten. In meinem Fall ist das https://www.discogs.com...
  5. MS Access Formular: Datensatz duplizieren mit Unterformularen

    in Microsoft Access Hilfe
    MS Access Formular: Datensatz duplizieren mit Unterformularen: Hallo Ihr Lieben, ich bin ziemliche Anfängerin bei MS Access also nehmt es mir nicht übel, wenn ich Dinge falsch bezeichne etc. :) Ausganslage Ich hab ein Hauptformular (1) (Angaben zur...
  6. Formular nur Daten speichern

    in Microsoft Word Hilfe
    Formular nur Daten speichern: Ich versuche aus einem Formular mit Inhaltssteuerelementen ausschließlich die Daten zu speichern. Die Option in "Erweitert" in "Genauigkeit beim Freigeben" habe ich die Option "Formulardaten als...
  7. Schriftart im Formular

    in Microsoft Access Hilfe
    Schriftart im Formular: Hallo, ich habe folgendes Problem. in einem Formular gibt es ein Textfeld, in dem das Schriftformat auf Microsoft YaHei, Größe 10 und Schriftweite Normal eingestellt ist. Wenn ich einen neuen...
  8. Listenfeld im Endlosformular

    in Microsoft Access Hilfe
    Listenfeld im Endlosformular: Hallo in die Runde! Ich stehe gerade furchtbar auf dem Schlauch und hoffe, ihr könnt mir helfen: Problemkind ist eine Art Zimmerverwaltung: - jedes Zimmer hat eine ID und ist einem Objekt...
  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