Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Εντολή μή εκτέλεσης κώδικα vba

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-01-14, 02:26
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή Εντολή μή εκτέλεσης κώδικα vba

Καλημέρα,

Σε μια φόρμα υπάρχει ένα cmdbutton το οποίο πατώντας εκτελεί κώδικα vba για συγκεκριμένη διαδικασία καταχωρησης των στοιχείων του χρήστη. Αντιλαμβάνεστε οτι τα στοιχεία αυτά ο χρήστης θα τα καταχωρήσει μόνο μια φορά, κατά το άνοιγμα της εφαρμογής την πρώτη φορά. Ο κώδικας περιέχει μεταξύ άλλων και μια σειρα από msgboxes τα οποία δίνονται αναλόγως της περίπτωσης.

Εφόσον εκτελεστεί ο κώδικας μέσω του cmdbutton το οποίο θα το πατήσει κάποιος μόνον την πρώτη φορά που θα χρησιμοποιήσει την εφαρμογή, υπάρχει κάποιος τρόπος να σταματήσουν να εμφανίζονται τα σχετικά μηνύματα που δίνει όταν εκτελείται ο κώδικας? Μήπως κάποια σχετική εντολή vba ή ακόμα και μακροεντολή?

Ευχαριστώ
Απάντηση με παράθεση
  #2  
Παλιά 04-01-14, 10:29
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-05-2009
Περιοχή: Αθήνα
Μηνύματα: 169
Προεπιλογή

Γιωργο καλημέρα
Εκτιμώ πως με μια συνθήκη μπορείς να εξαιρέσεις την εκτέλεση του κώδικα.
if dcount("eponymo","tblstoixeiaxristi") =0 then
"εκτέλεση του κώδικα"
else
exit sub
end if
Απάντηση με παράθεση
  #3  
Παλιά 04-01-14, 17:17
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Γειά σου Στέλιο

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

Να εξηγήσω τι ακριβώς συμβαίνει
Σε μια εφαρμογή που θα δώσω σε πελάτη για να δεί αν του κάνει να την αγοράσει, κάθισα και έκανα ολόκληρη διαδικασία έτσι ώστε να γίνονται τα εξής:

1. Κατα την διαδικασία εγκατάστασης της εφαρμογής καταχωρείται η ημερομηνία εγκατάστασης στον πίνακα tblInstallation, καθώς επίσης και η διάρκεια της δοκιμαστικής περιόδου όπως αυτή καθορίζεται από εμένα σε ημέρες (πχ 30 μέρες). Η καταχώρηση αυτή γινεται στο πεδίο RegDays.

2.Με κώδικα κάθε φορά που ανοίγει η εφαρμογή βγάζει μηνυμα ότι απομένουν πχ. 29 μέρες, 28, 27 κλπ. Τώρα, οταν ο χρόνος αυτός παρέλθει τότε η εφαρμογή δίνει το σχετικό μήνυμα και 2 επιλογές. Με την επιλογή Registration ανοίγει η σχετική φόρμα έτσι ώστε ο χρήστης να προχωρήσει στην διαδικασία του registration. Οταν και εφόσον ολοκληρώσει την διαδικασία τότε εμφανίζεται ένα σχετικό μήνυμα και εδώ είναι τώρα το πρόβλημα μου. Εφόσον ο χρήστης έκανε την εγραφή του άρα αγόρασε την εφαρμογή, συνεπάγεται ότι πλέον ο κώδικας ελέγχου της διαδικασίας ελέγχου θα πρεπει να πάψει να εκτελείται όπώς επίσης θα πρέπει να σταματήσουν και τα σχετικά μηνύματα να εμφανίζονται
Απάντηση με παράθεση
  #4  
Παλιά 05-01-14, 02:18
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-05-2009
Περιοχή: Αθήνα
Μηνύματα: 169
Προεπιλογή

Γιώργο καλημέρα

Όπως και να έχει, για την αποτροπή εκτέλεσης του κώδικα θα χρησιμοποιήσεις συνθήκες if. Ίσως περισσότερες από μία, ανάλογα πως έχεις σκεφτεί να υλοποιήσεις το registration.
Η πρώτη συνθήκη θα ελέγχει αν έχει καταχωρηθεί η αρχική ημερομηνία καταχώρησης και τα στοιχεία του χρήστη. Η δεύτερη εφόσον ικανοποιείται η πρώτη συνθήκη θα ελέγχει αν έχουν συμπληρωθεί οι ημέρες της δοκιμής. Η τρίτη, όταν έχουν ολοκληρωθεί οι ημέρες της δοκιμής, εάν η βάση έχει γίνει register.
Η κάθε συνθήκη θα εξαιρεί και κάποιο κομμάτι του κώδικα. Όταν η βάση γίνει register η τρίτη συνθήκη θα εξαιρέσει και το τελευταίο κομμάτι του κώδικα που θα εκτελείται και η βάση θα είναι πλέον πλήρως λειτουργική.
Απάντηση με παράθεση
  #5  
Παλιά 05-01-14, 17:52
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπέρα Στέλιο,

Ανεβάζω ένα παράδειγμα του τί ακριβώς έχω κάνει και αν μπορείς φίλε ρίξε μια ματιά. Σε σχέση με τον κώδικα που θα πρέπει να δημιουργηθεί δεν ξέρω εάν και κατά πόσο θα μπορούσα να τον γράψω καθώς οι γνώσεις μου σε vba είναι πέρα για πέρα μηδαμινές. Θα εκτιμήσω κάθε βοήθεια φίλε μου.

Σε ευχαριστώ εκ προτέρων..

Φιλικά,

Γιώργος
Απάντηση με παράθεση
  #6  
Παλιά 05-01-14, 17:57
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Στέλιο συνημμένο το αρχείο.

Κωδικοί Πρόσβασης;
User Name: Admin (password "marianna")
gstylianou (password "1234")
george (password "1234")
Συνημμένα Αρχεία
Τύπος Αρχείου: zip IMS-04.01.14.zip (361,8 KB, 45 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 14-01-14, 01:00
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

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

Κατέβασε από το παρακάτω σύνδεσμο την βάση σου με επανεκκίνηση Demo.

https://drive.google.com/file/d/0Byr...it?usp=sharing
Όλοι οι κωδικοί
[arta]
Απάντηση με παράθεση
  #8  
Παλιά 14-01-14, 08:16
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλημέρα Αλέξανδρε

Προσπάθησα να κατεβάσω το αρχείο αλλά δεν γίνεται τίποτα...(?). Απλά κάνω κλίκ στο link του αρχείου και δεν γίνεται κάτι μετά από αυτό. Υπάρχει κάτι άλλο

Υ.Γ: σε ευχαριστώ πάρα πολύ που αφιέρωσες χρόνο φίλε για το θέμα μου. Το εκτιμώ.

Με εκτίμηση

Γιώργος
Απάντηση με παράθεση
  #9  
Παλιά 14-01-14, 09:17
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

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

Πάρε αυτό και κάνε λήψη

https://drive.google.com/file/d/0Byr...it?usp=sharing

οι κωδικοί [arta]
Registration code
όλα [00000000]

Η βάση σου είναι φτιαγμένη για να επαληθεύει τον registration code από τον πίνακα.
Για να γίνει αυτό που ζητάς θα πρέπει να καταχωρείτε στο μητρώο(Registry) κάποιες τιμές.
Ρίξε μια ματιά στη φόρμα F_Generator.
Αφού σου εμφανίζει τον κωδικό προιόντος στη φόρμα σου τον βάζεις στη θέση της φόρμας F_Generator.και κατασκευάζεις αυτόματα τις τιμές που θα αποθηκευτούν στο Μητρώο.
Θέλει όμως αλλαγή η βάση ώστε να κάνει αυτή την δουλειά και όχι την επαλήθευση από πίνακα.
με τον πίνακα θέλει να ξεχωρίσεις την βάση γιατί οποιοσδήποτε μπορεί να έχει πρόσβαση εκεί και να αλλάζει τα στοιχεία.
Εάν πληκτρολογήσεις στην έναρξη το [regedit] θα σε πάει στο μητρώο εκεί θα δείς HKEY_CURRENT_USER--->HKEY_CURRENT_USER\Software\VB and VBA Program Settings
Εκεί αποθηκεύονται οι τιμές των προγραμμάτων .
Πχ στη φόρμα frmwelcom(δεν την έχω συνδέσει) στο κωδικα θα δείς

SaveSetting "MyDatabase", UserRegKey, "Version", Reg_SZ
Η διαδρομή της στο registry είναι η παρακάτω

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyDatabase

Εάν τώρα σβήσεις την τιμή που εμφανίζεται στο registry που για την φόρμα αυτή είναι η έκδοση(Version) τότε είναι σαν να ξεκλειδώνεις την βάση.
Θέλει όμως πολύ δουλειά .
Δοκίμασε τώρα αυτά που σου είπα.Κάποια στιγμή θα φτάσουμε και μέχρι εκεί.
Απάντηση με παράθεση
  #10  
Παλιά 14-01-14, 09:44
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Γίωργο!!

Θα σε βολέψει καλύτερα αυτή η βάση κατέβασε

https://drive.google.com/file/d/0Byr...it?usp=sharing

έχω αλλάξει λίγο τον κώδικα.
Τώρα όπως είναι είναι για ένα χρόνο
Άλλαξε την ημερομηνία του υπολογιστή και βάλε ένα χρόνο μετά το 2015 και ξανα άνοιξε την βάση να δείς τι θα συμβεί.
Τότε ακολουθείς την διαδικασία της νέας φόρμας πατώντας στην άκρη δεξιά το check box επιλέγεις ναι ανοίγει η φόρμα με το registration code και βάζεις στο χρήστη κωδικό [arta] και στον κωδικό registry το [0000000] όλα μηδέν.
Βγαίνεις από την βάση και ξανα μπαίνεις και ανοίγει κανονικά για ένα χρόνο χωρίς να εμφανίζει μηνύματα.
Επίσης μπορείς να μπείς με κωδικό πάλι [arta] αφού κάνεις Login και σε πάει στη φόρμα με τις 2 επιλογές Τιμολόγια και Admin .
Πατάς Admin και κωδικό [arta] και OK
Ανοίγει η νέα φόρμα και τότε σβήνεις τις μέρες από το κάτω πλαίσιο κειμένου και βάζεις για παράδειγμα 35 ημέρες πατάς αποθήκευση και ξανα τρέχεις την βάση και θα έχει ισχύ μόνο για 35 ημέρες.
Με το πέρας των ημερών θα σου εμφανίσει το γνωστό μήνυμα και πάλι από την αρχή.
Αυτά φίλε μου κοιταξέτα και Καλή συνέχεια!!!!!!!
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Συναρτήσεις ] Διακοπη εκτελεσης κωδικα σε φορμα artchrist73 Access - Ερωτήσεις / Απαντήσεις 5 25-08-15 21:42
[VBA] Συντομότερος χρόνος εκτέλεσης μακροεντολής misirlis Excel - Ερωτήσεις / Απαντήσεις 3 11-12-14 19:55
[VBA] Μεγάλη καθυστέρηση εκτέλεσης macro Βασίλης Καραχάλιος Excel - Ερωτήσεις / Απαντήσεις 6 11-10-14 23:30
Έλεγχος εκτέλεσης εφαρμογής και κλείδωμα. parara Access - Ερωτήσεις / Απαντήσεις 0 20-03-14 21:00
Εντολή εκτέλεσης προγράμματος stratos75 Access - Ερωτήσεις / Απαντήσεις 1 05-05-12 11:00


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