Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Send Bulk SMS (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5652-send-bulk-sms.html)

γιώργοςΚ 21-09-20 19:42

Send Bulk SMS
 
Καλησπέρα,

Εχω στήσει μια εφαρμογή έτσι ωστε ο χρήστης να μπορεί να επιλέγει σε ποιούς πελάτες επιθυμεί να σταλεί SMS ορίζοντας τους απο το πεδίο [Grabb] είτε επιλεκτικά είτε γενικά σε όλους. Δυστυχώς ο κώδικας ο οποίος έχω στην φορμα (και ο οποίος έχει στηθεί με δικής σας βοήθεια και σας ευχαριστω) δεν περιλαμβάνει στο RecordSet της φόρμας πουθενά το πεδίο [Grabb]=True και ακολούθως να σταλούν τα μηνύματα με αποτέλεσμα να αποστέλνονται σε ολους τους πελατες γενικά.

Παραθετω τον κώδικα στην εντολή αποστολής του SMS και θα εκτιμήσω εάν κάποιος μπορέσει να βοηθήσει.Ουσιαστικά το ζητούμενο είναι να εκτελείται ο πιο κάτω κώδικας και στο RecordSet να περιλαμβάνονται μόνον όσα Records είναι στο πεδίο [Grabb]=True

Public Sub cmdBulkSMS_Click()
Set rsPatient = Me.Bulk_SMS!subClients.Form.Recordset

If rsPatient.RecordCount > 0 Then
rsPatient.MoveFirst

While Not rsPatient.EOF
Title = Me.xTitle
message = Me.SMSBody
mobnu = rsPatient.Fields("Mobile1")
res = Send_SMS(Title, mobnu, message)
' MsgBox res
rsPatient.MoveNext
Me.Bulk_SMS!subClients.Form.Form.Refresh
Wend
MsgBox " The SMS has been sent", vbExclamation, "Send Bulk SMS"
Else
MsgBox "Error: Cannot find Data", vbInformation, Me.Caption
End If


End Sub

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

vraxnakisg 22-09-20 08:58

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

Θα πρέπει να πας στο Recordset της φόρμας subClients και να πρόσθεσης το πεδίο Grabb αν προέρχεται από ερώτημα και σαν κριτήριο να βάλεις το True. Αλλιώς αν το Recordset της φόρμας subClients προέρχεται από πίνακα θα πρέπει να φτιάξεις ένα ερώτημα με τα πεδία που θέλεις για να μπορείς να φιλτράρεις τις εγγραφές σου. Ο κώδικας δεν θα χρειαστεί αλλαγή γιατί παίρνει τις εγγραφές από το Recordset της φόρμας subClients.

Ευχαριστώ.

γιώργοςΚ 22-09-20 10:09

Παράθεση:

Αρχική Δημοσίευση από vraxnakisg (Μήνυμα 31545)
Καλημέρα Γιώργο,

Θα πρέπει να πας στο Recordset της φόρμας subClients και να πρόσθεσης το πεδίο Grabb αν προέρχεται από ερώτημα και σαν κριτήριο να βάλεις το True. Αλλιώς αν το Recordset της φόρμας subClients προέρχεται από πίνακα θα πρέπει να φτιάξεις ένα ερώτημα με τα πεδία που θέλεις για να μπορείς να φιλτράρεις τις εγγραφές σου. Ο κώδικας δεν θα χρειαστεί αλλαγή γιατί παίρνει τις εγγραφές από το Recordset της φόρμας subClients.

Ευχαριστώ.

Καλημέρα Γιώργο και ευχαριστω για την διευκρίνηση. Θα το κοιτάξω και αν έχω κάποια δυσκολία θα επανέλθω ξανά.

Βασικά στην φόρμα subClients υπάρχει το πεδίο [Grabb] και εφόσον ο χρήστης επιλέξει μια συγκεκριμένη εγραφή τότε αυτόματα γίνεται [Grabb]=True. Το πρόβλημα είναι ότι όταν εκτελείται ο κώδικας θέλω να αρχίσει να μετρά μόνον όσες εγραφές είναι True και να μην λαμβάνει υπόψη τις False...Όπως είναι τώρα ο κώδικας αρχίζει να μετρά όλες τις εγραφές αγνοώντας αυτό το κριτήριο και έχει ώς αποτέλεσμα να αποστέλνονται γενικά σε όλους SMS και όχι σε αυτούς που πραγματικά ο χρήστης επέλεξε..

Θα το κοιτάξω όμως και ίσως αλλάξω λίγο την δομή της φόρμας. Μια σκέψη που έκανα (και δεν την δοκίμασα) εϊναι εφόσον ο χρήστης επιλέξει τις εγραφες που θέλει, να τις μεταφέρω σε μιά άλλη φόρμα που θα έχει RecordSet απο ερώτημα με κριτήριο [Grabb]=True και απο εκεί να εκτελείται ο κώδικας αποστολής SMS

Σε κάθε περίπτωση ευχαριστω πολύ


Νάσαι καλά και καλή σου μέρα

vraxnakisg 22-09-20 11:49

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

Καταλαβαίνοντας την διαδηκασία για δες τον παρακάτω κώδικα, Η αλλαγή είναι If rsPatient.Fields("Grabb") = True Then


Public Sub cmdBulkSMS_Click()
Set rsPatient = Me.Bulk_SMS!subClients.Form.Recordset

If rsPatient.RecordCount > 0 Then rsPatient.MoveFirst

While Not rsPatient.EOF
If rsPatient.Fields("Grabb") = True Then
Title = Me.xTitle
message = Me.SMSBody
mobnu = rsPatient.Fields("Mobile1")
res = Send_SMS(Title, mobnu, message)
' MsgBox res
rsPatient.MoveNext
Me.Bulk_SMS!subClients.Form.Form.Refresh
End If
Wend
MsgBox " The SMS has been sent", vbExclamation, "Send Bulk SMS"
Else
MsgBox "Error: Cannot find Data", vbInformation, Me.Caption
End If
End Sub

Ευχαριστώ.

γιώργοςΚ 24-09-20 08:08

Παράθεση:

Αρχική Δημοσίευση από vraxnakisg (Μήνυμα 31547)
Καλησπέρα Γιώργο,

Καταλαβαίνοντας την διαδηκασία για δες τον παρακάτω κώδικα, Η αλλαγή είναι If rsPatient.Fields("Grabb") = True Then


Public Sub cmdBulkSMS_Click()
Set rsPatient = Me.Bulk_SMS!subClients.Form.Recordset

If rsPatient.RecordCount > 0 Then rsPatient.MoveFirst

While Not rsPatient.EOF
If rsPatient.Fields("Grabb") = True Then
Title = Me.xTitle
message = Me.SMSBody
mobnu = rsPatient.Fields("Mobile1")
res = Send_SMS(Title, mobnu, message)
' MsgBox res
rsPatient.MoveNext
Me.Bulk_SMS!subClients.Form.Form.Refresh
End If
Wend
MsgBox " The SMS has been sent", vbExclamation, "Send Bulk SMS"
Else
MsgBox "Error: Cannot find Data", vbInformation, Me.Caption
End If
End Sub

Ευχαριστώ.

Καλημέρα Γιώργο, σε ευχαριστω πολύ για την βοήθεια. Θα το δοκιμάσω σήμερα και αν έχω οτιδήποτε θα επανέλθω.

Νάσαι καλά και εκτιμώ την βοήθεια.


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

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


Search Engine Optimization by vBSEO 3.3.2