Ανανέωση ιστοσελίδας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 16-04-20, 15:51
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή SMS API απο .Net σε VBA

Φίλοι μου γειά σας,

Πιστεύω ότι το θέμα μου απασχολεί πάρα πολλούς σχεδιαστές εφαρμογών και εάν και εφόσον βρούμε κάποια λύση αυτό θα βοηθήσει όλους.

Απο κάποιο provider μου έχει σταλεί ένας κώδικας .Net μέσω του οποίου μπορει κάποιος εφόσον δημιουργήσει λογαριασμό στην εν λόγο υπηρεσία να στέλνει μαζικά ή ένα-προς ένα αυτόματα SMS μεσω της Access. Προσπάθησα να προσαρμόσω τον κώδικα για να δουλέυει σε VBA αλλά κάπου έχω κολλήσει....Επισυνάπτω την βάση μου και θα εκτιμήσω εάν κάποιος μπορέσει να με βοηθήσει για να δημιουργήσουμε μια λειτουργική μονάδα σε VBA για να μπορεί τελικά να λειτουργεί.

Ευχαριστω εκ προτέρων

Παραθέτω επίσης αυτούσιο τον κωδικα ίσως και φανεί χρήσιμο

Dear George

I am sending you the api manual as well as a piece of vb code

‘’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim usr, psw, mobnu, title, message As String
usr = HttpUtility.UrlEncode("email@email.com")
psw = HttpUtility.UrlEncode("7fhd8y8erwe")
mobnu = HttpUtility.UrlEncode("35799999999")
title = HttpUtility.UrlEncode("Amlex")
message = HttpUtility.UrlEncode("Test API")

send_sms("http://api.microsms.net/sendapidirect.asp?usr=" & usr & "&psw=" & psw & "&dtype=1&title=" & title & "&mobnu=" & mobnu & "&message=" & message)
End Sub
Public Shared Function send_sms(pass_url As String)
Dim strurl As String
strurl = pass_url
Dim rtnvalue As String
Try


Dim s As HttpWebRequest
Dim enc As UTF8Encoding
Dim postdata As String
Dim postdatabytes As Byte()
s = HttpWebRequest.Create(strurl)
enc = New System.Text.UTF8Encoding()
Dim connection_guid, api_guid As String
connection_guid = System.Guid.NewGuid.ToString()
api_guid = "xxx_guid"
postdata = postdata & "&api_guid=" & api_guid
postdata = postdata & "&connection_guid=" & connection_guid


postdatabytes = enc.GetBytes(postdata)
s.Method = "POST"
s.ContentType = "application/x-www-form-urlencoded"
s.ContentLength = postdatabytes.Length

Try
Using stream = s.GetRequestStream()
stream.Write(postdatabytes, 0, postdatabytes.Length)
End Using
'' Dim result = s.GetResponse()
Dim httpWebResponse As System.Net.HttpWebResponse = s.GetResponse()

If httpWebResponse.StatusCode = System.Net.HttpStatusCode.OK Then

Dim responseReader As System.IO.StreamReader = New System.IO.StreamReader(httpWebResponse.GetResponse Stream())
rtnvalue = responseReader.ReadToEnd()

Else
rtnvalue = "no return"
End If
Catch ex As Exception
rtnvalue = ex.ToString
'' Log_error("Err0663", "error in 'sendsmsmessage()' " & strurl, ex.Message.ToString(), "", "")
End Try
Catch ex As Exception
'' Log_error("Err0664", "error in 'sendsmsmessage()' " & strurl, ex.Message.ToString(), "", "")
End Try
Return rtnvalue
End Function
‘’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb Database2.accdb (352,0 KB, 12 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 16-04-20, 19:18
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Καλησπέρα Γιώργο,

Χρόνια Πολλά, καλή Ανάσταση με υγεία και Ευτυχία.

Δες μια πρόταση.

Ευχαριστώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb Database2.accdb (388,0 KB, 17 εμφανίσεις)
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #3  
Παλιά 16-04-20, 20:51
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από vraxnakisg Εμφάνιση μηνυμάτων
Καλησπέρα Γιώργο,

Χρόνια Πολλά, καλή Ανάσταση με υγεία και Ευτυχία.

Δες μια πρόταση.

Ευχαριστώ.
Καλησπέρα Γιώργο και πρώτα απο όλα σε ευχαριστω.

Θα κοιτάξω την βάση και αν υπάρχει κάποιο θεμα θα επανέλθω. Ευχομαι και ελπίζω μέσα σε όλο αυτό τον κυκεώνα να εισαι καλά εσυ και η οικογένεια σου..

Καλό Πάσχα (με ότι αυτό συνεπάγεται)
Απάντηση με παράθεση
  #4  
Παλιά 16-04-20, 23:57
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Γιώργο καλησπέρα πάλι,

Έχω κοιτάξει το παράδειγμα και δουλεύει μια χαρά, αφου εχω βαλει τους σχετικοϋς κωδικοϋς απο τον παροχέα. Ωστόσο, δουλεύει για αποστολή ενός μηνύματος καθε φορά. Το ιδανικό θα ήταν εάν απο τον πίνακα Patients παίρνει τα κινητά απευθείας και με Loop να στέλνει σε όλους αυτόματα το μήνυμα, αυτό είναι εφικτό?

Ευχαριστω πάλι και εκτιμω την βοήθεια
Απάντηση με παράθεση
  #5  
Παλιά 17-04-20, 10:19
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Καλημέρα Γιώργο,

Δες μια πρόταση.

Καλό θα ήταν να κάνεις και έλεγχο αν ο αριθμός τηλεφώνου είναι σωστός σε μορφή και μήκος και αν έχεις περιορισμό στο μέγεθος του sms.

Να προσέξεις και τις τιμές που σου επιστρέφει το service.

Ευχαριστώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb DataBese2.accdb (472,0 KB, 17 εμφανίσεις)
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #6  
Παλιά 17-04-20, 22:14
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπέρα Γιώργο αλλά και σε όλους τους φίλους,

Γιώργο το παράδειγμα δουλεϋει μόνο που εφόσον σταλεί το μήνυμα στα κινητά, δεν εμφανίζονται οι χαρακτήρες (λέξεις, προτάσεις κλπ) παρά μόνο εμφανίζονται ερωτηματικά συνεχόμενα (??????). Ψάχνωντας να λύσω το πρόβλημα κατόρθωσα και μίλησα με κάποιο τεχνικό της υπηρεσίας και μου εξήγησε οτι το μηνυμα πρέπει να αποστέλνεται σε UTF8 encoding...

Παραθέτω και ενα μικρό παράδειγμα ενος αρχείου που μου δόθηκε

Παράδειγμα: Ελληνικά, απλό sms
Για να στείλουμε sms με ελληνικούς χαρακτήρες ακολουθείται η εξής
διαδικασία πριν καλέσουμε το παραπάνω url, προκειμένου να
μετατρέψουμε τους χαρακτήρες σε 7bit encoding :
$text = mb_convert_case($text, MB_CASE_UPPER, "UTF-8"); //μετατρέπουμε όλο το
κείμενο σε κεφαλαία
$text = urlencode($text); //κωδικοποίηση χαρακτήρων σε url encoding
$text = to7bit($text); // εφαρμόζουμε την παρακάτω συνάρτηση
function to7bit($text){
$text = str_replace('%CE%91', 'A', $text );
$text = str_replace('%CE%86', 'A', $text ); // Ά
$text = str_replace('%CE%92', 'B', $text );
$text = str_replace('%CE%93', '%13', $text ); // Γ
$text = str_replace('%CE%94', '%10', $text ); // Δ
$text = str_replace('%CE%95', 'E', $text );
$text = str_replace('%CE%88', 'E', $text ); // Έ
$text = str_replace('%CE%96', 'Z', $text );
$text = str_replace('%CE%97', 'H', $text );
$text = str_replace('%CE%89', 'H', $text );
$text = str_replace('%CE%98', '%19', $text ); // Θ
$text = str_replace('%CE%99', 'I', $text );
$text = str_replace('%CE%8A', 'I', $text );
$text = str_replace('%CE%AA', 'I', $text ); // Ϊ
$text = str_replace('%CE%90', 'I', $text );// ΐ
$text = str_replace('%CE%9A', 'K', $text );
9
www.smsbox.gr HTTP API v1.7
$text = str_replace('%CE%9B', '%14', $text ); // Λ
$text = str_replace('%CE%9C', 'M', $text );
$text = str_replace('%CE%9D', 'N', $text );
$text = str_replace('%CE%9E', '%1A', $text );// Ξ
$text = str_replace('%CE%9F', 'O', $text );
$text = str_replace('%CE%8C', 'O', $text ); // Ό
$text = str_replace('%CE%A0', '%16', $text ); // Π
$text = str_replace('%CE%A1', 'P', $text );
$text = str_replace('%CE%A3', '%18', $text ); // Σ
$text = str_replace('%CE%A4', 'T', $text );
$text = str_replace('%CE%A5', 'Y', $text );
$text = str_replace('%CE%8E', 'Y', $text );
$text = str_replace('%CE%AB', 'Y', $text ); // Ϋ
$text = str_replace('%CE%B0', 'Y', $text ); // ΰ
$text = str_replace('%CE%A6', '%12', $text ); // Φ
$text = str_replace('%CE%A7', 'X', $text );
$text = str_replace('%CE%A8', '%17', $text );
$text = str_replace('%CE%A9', '%15', $text ); // Ω
$text = str_replace('%CE%8F', '%15', $text ); // Ώ
$text = str_replace('%E2%82%AC', '%80', $text ); // €
return $text;

Για να στείλουμε sms με ελληνικούς χαρακτήρες, υπάρχει και πιό απλός
τρόπος με τη χρήση της παραμέτρου coding=UTF8 κατά την κλήση*:
$from = urlencode("smsboxt");
$text = urlencode("για να δούμε ένα... παράδειγμα με τον απλό τρόπο");
$fp = fopen('http://www.smsbox.gr/httpapi/sendsms.php?
coding=UTF8&username=xxx&password=xxx&from='.
$from.'&to=306947992777&text='.$text, 'r');
$content = '';
while ($line = fread($fp, 1024)) { $content .= $line;
}
fclose($fp);
*Για να λειτουργήσει σωστά η κλίση με coding=UTF8, θα πρέπει το file
encoding του αρχείου php να είναι UTF-8.
Απάντηση με παράθεση
  #7  
Παλιά 18-04-20, 04:57
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Καλημέρα σε όλους.

Για δες τώρα.

Ευχαριστώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb DataBese2.accdb (504,0 KB, 11 εμφανίσεις)
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #8  
Παλιά 18-04-20, 08:01
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλημέρα Γιωργο, ευχαριστω για την προσπαθεια να με βοηθησεις και για τον χρόνο σου,

Δυστυχως ομως δεν επιλυθηκε το θεμα..Παλι λαμβανω ερωτη,ατικα στο κινητο....Εχω δοκιμασει και να διαφοροποιησω τη γραμμη του message=UCase(message) δηλααδη δοκιμασα μηπως και το προβλημα ειναι τα κεφαλαια κλπ, αλλα δυστυχως τα ιδια..

Θα μιλησω και σημερα με τον παροχεα να δω αν ειναι κατι αλλο.. Σε καθε περιπτωση σε ευχαριστω και ευχομαι Καλο Πάσχα σε εσενα και στην οικογένεια σου αλλα και σε όλους τους φίλους του φόρουμ
Συνημμένα Thumbnails
SMS API απο .Net σε VBA-x.jpg   SMS API απο .Net σε VBA-z.jpg  
Απάντηση με παράθεση
  #9  
Παλιά 18-04-20, 11:45
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα και Χρόνια πολλά σε όλους!

Δεν θα χρειαστεί κωδικοποίηση UTF-8 επειδή δεν αποστέλλεται κάποιο περιεχόμενο.

Λαμβάνοντας υπ' όψη ότι τα δεδομένα SMS εμπεριέχονται στη διεύθυνση (URL) και ότι ο διακομιστής SMS δεν μπορεί να τα διαχειριστεί τους χαρακτήρες Unicode ως απλό κείμενο , αυτό που πρέπει να γίνει είναι η κωδικοποίηση (Percent-decoding) των τμημάτων "title" και "message" ώστε να υπάρξει συμβατότητα στην αποκωδικοποίηση.


Προτείνω τα εξής:

Προσθήκη αναφορών :Microsoft Object HTML Library και Microsoft WinHTTP Services, Version x,x

Προσθήκη του παρακάτω κώδικα σε μια φόρμα:

Κώδικας:
Option Explicit
Option Compare Database

Private Function EncodeURL(strText As Variant)
    Dim oDoc As New HTMLDocument
    With oDoc.parentWindow
        .execScript "function encode(s) {return encodeURIComponent(s)}", "jscript"
        EncodeURL = .encode(strText)
    End With
    Set oDoc = Nothing
End Function

Public Function SendSMS(strUrl As String) As String
    Dim oweb As New WinHttp.WinHttpRequest
    oweb.Open "POST", strUrl, False
    oweb.send
    SendSMS = oweb.responseText
    Set oweb = Nothing
End Function

Private Sub BtnSendSMS_Click()
    Dim usr As String
    Dim psw As String
    Dim mobnu As String
    Dim title As String
    Dim message As String
    Dim strResult As String

    usr = "email@email.com"
    psw = "7fhd8y8erwe"
    mobnu = "35799999999"
    title = "Amlex"
    message = "Κάτι γραμμένο στα ελληνικά για δοκιμή"
    
    strResult = SendSMS( _
             "http://api.microsms.net/sendapidirect.asp?usr=" _
             & usr & "&psw=" & psw & "&dtype=1&title=" & EncodeURL(title) & _
             "&mobnu=" & mobnu & "&message=" & EncodeURL(message))
             MsgBox strResult, vbInformation, "SMS Result"
End Sub
Καλή συνέχεια και καλή Ανάσταση!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 18-04-20 στις 13:01.
Απάντηση με παράθεση
  #10  
Παλιά 18-04-20, 12:19
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Καλήμερα σας,

Τάσο είσαι άψογος και πάντα σαφέστατος.

Καλή Ανάσταση σε όλους με υγειά και ευτυχία.

Ευχαριστώ.
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας



Η ώρα είναι 20:27.