Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Application.FollowHyperlink MyHyperlink (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3138-application-followhyperlink-myhyperlink.html)

ΚΩΣΤΑΣ2 01-05-14 20:43

Application.FollowHyperlink MyHyperlink
 
Γεια στο καλύτερο Forum
έχω ένα κουμπί σε μια forma που κάνει αναζήτηση στη GOOGLE MAP
2 χρονια δούλευε καλά με τους νέους χάρτες google δεν μου δουλεύει
η εντολή είναι
Private Sub ΧΑΡΤΕΣ_Click()
Dim MyHyperlink Ας String
Dim strGoogleLoaction Ας String
strGoogleLoaction = Replace([ΟΔΟΣ] & " " & [ΚΩΔ_ΠΕΡ] & " " & [ΤΑΧ_ΚΩΔΙΚΟΣ], " ", "+")
MyHyperlink = "https://maps.google.gr/maps?hl=el&geocode=&time=&date=&ttype=&q=" & strGoogleLoaction & "&ie=UTF8&σρι=0.067101,0.165138"
Application.FollowHyperlink MyHyperlink
End Sub

στη αναζήτηση της google είναι ???????? 16 ??????? 14562

Tasos 02-05-14 02:19

Καλημέρα!
Κώστα, ο κώδικας όπως εμφανίζεται στο μήνυμα σου δεν μπορεί να λειτουργήσει (ούτε τώρα αλλά ούτε και παλαιότερα) επειδή περιέχει ελληνικούς χαρακτήρες όπως "ς" και "σπι" σε σημεία που δεν πρέπει.
Μάλλον κάποιον άλλο κώδικα χρησιμοποιείς που δεν περιέχει τα προαναφερόμενα σφάλματα.

Τα ερωτηματικά στην αναζήτηση εμφανίζονται μόνο σε παλαιότερες εκδόσεις του Internet Explorer.

Στη νεότερη έκδοση του όπως και σε άλλους περιηγητές όπως Firefox και Chrome δεν υπάρχει αυτό το πρόβλημα.
η μέθοδος FollowHyperlink ανοίγει έναν σύνδεσμο με το προεπιλεγμένο πρόγραμμα περιήγησης του Internet.

Μάλλον λοιπόν το προεπιλεγμένο πρόγραμα περιήγησης στον υπολογιστή σου είναι Internet Explorer (έκδοση<=10) το οποίο δεν αποκωδικοποιεί τους χαρακτήρες Unicode ενός συνδέσμου με αποτέλεσμα να εμφανίζει ερωτηματικά.

Το γεγονός ότι ο κώδικας σου έτρεχε παλαιότερα οφείλεται σίγουρα στο τότε προεπιλεγμένο πρόγραμμα περιήγησης που υποστήριζε τη αποκωδικοποίηση χαρακτήρων Unicode.

Ο κώδικας σου θα τρέξει όταν:
1. Δεν υπάρχουν ελληνικοί χαρακτήρες στο κείμενο αναζήτησης
2. Το προεπιλεγμένο πρόγραμμα περιήγησης του Internet είναι Internet Explorer (έκδοση>=11)
ή άλλο πρόγραμμα όπως ο Firefox ή ο Chrome.


Δοκίμασε:
Κώδικας:

Private Sub cmdTest_Click()
    Dim MapSearch As String
    Dim strAddress As String
    strAddress = Nz(Me!ΟΔΟΣ, "") & "," & Nz(Me!ΚΩΔ_ΠΕΡ, "") & "," & Nz(Me!ΤΑΧ_ΚΩΔΙΚΟΣ, "")
    MapSearch = "http://maps.google.com/maps?hl=el&q=" & strAddress
    Application.FollowHyperlink MapSearch
End Sub

Αν η επιλογή σου είναι ο Ιnternet Explorer (έκδοση<=10) τότε:

Κώδικας:

Private Sub cmdTest_Click()
    Dim MapSearch As String
    Dim strAddress As String
    strAddress = EncodeURL(Nz(Me!ΟΔΟΣ, "") & "," & Nz(Me!ΚΩΔ_ΠΕΡ, "") & "," & Nz(Me!ΤΑΧ_ΚΩΔΙΚΟΣ, ""))
    MapSearch = "http://maps.google.com/maps?hl=el&q=" & strAddress
    Application.FollowHyperlink MapSearch
End Sub

Private Function EncodeURL(strURL As String) As String
' η ρουτίνα αυτή σε παρόμοιες μορφές χρησιμοποιείται ευρέως για
' αποκωδικοποίηση  χαρακτήρων Unicode ( Percent encoding).

    Dim strTemp As String
    Dim i As Integer

    i = 1
    Do Until i - 1 = Len(strURL)
        Select Case Asc(Mid(strURL, i, 1))
            Case 48 To 57, 65 To 90, 97 To 122
                strTemp = strTemp & Mid(strURL, i, 1)
            Case 32
                    strTemp = strTemp & "%" & Hex(32)
            Case Else
                strTemp = strTemp & "%" & Format(Hex(Asc(Mid(strURL, i, 1))), "00")
        End Select
        i = i + 1
    Loop
    EncodeURL = strTemp
End Function

Τάσος

ΚΩΣΤΑΣ2 02-05-14 07:56

Τάσο σε ευχαριστώ πολύ ο κώδικας δουλεύει και σε chrom και σε Ιnternet Explorer 11


Η ώρα είναι 09:15.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2