Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 02-05-14, 02:19
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

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

Τα ερωτηματικά στην αναζήτηση εμφανίζονται μόνο σε παλαιότερες εκδόσεις του 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
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση