Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Εντολή μή εκτέλεσης κώδικα vba
Καλημέρα, Σε μια φόρμα υπάρχει ένα cmdbutton το οποίο πατώντας εκτελεί κώδικα vba για συγκεκριμένη διαδικασία καταχωρησης των στοιχείων του χρήστη. Αντιλαμβάνεστε οτι τα στοιχεία αυτά ο χρήστης θα τα καταχωρήσει μόνο μια φορά, κατά το άνοιγμα της εφαρμογής την πρώτη φορά. Ο κώδικας περιέχει μεταξύ άλλων και μια σειρα από msgboxes τα οποία δίνονται αναλόγως της περίπτωσης. Εφόσον εκτελεστεί ο κώδικας μέσω του cmdbutton το οποίο θα το πατήσει κάποιος μόνον την πρώτη φορά που θα χρησιμοποιήσει την εφαρμογή, υπάρχει κάποιος τρόπος να σταματήσουν να εμφανίζονται τα σχετικά μηνύματα που δίνει όταν εκτελείται ο κώδικας? Μήπως κάποια σχετική εντολή vba ή ακόμα και μακροεντολή? Ευχαριστώ |
#2
| |||
| |||
Γιωργο καλημέρα Εκτιμώ πως με μια συνθήκη μπορείς να εξαιρέσεις την εκτέλεση του κώδικα. if dcount("eponymo","tblstoixeiaxristi") =0 then "εκτέλεση του κώδικα" else exit sub end if |
#3
| |||
| |||
Γειά σου Στέλιο Πιθανών να έχεις δίκιο φίλε, αν και δεν το δοκίμασα ακόμη, αλλά το θέμα είναι ότι ο κώδικας είναι απαραίτητο να εκτελείται.,.εγώ τα μηνύματα δεν θέλω να εμφανίζονται πλέον φίλε μου και εδώ είναι θέμα. Να εξηγήσω τι ακριβώς συμβαίνει Σε μια εφαρμογή που θα δώσω σε πελάτη για να δεί αν του κάνει να την αγοράσει, κάθισα και έκανα ολόκληρη διαδικασία έτσι ώστε να γίνονται τα εξής: 1. Κατα την διαδικασία εγκατάστασης της εφαρμογής καταχωρείται η ημερομηνία εγκατάστασης στον πίνακα tblInstallation, καθώς επίσης και η διάρκεια της δοκιμαστικής περιόδου όπως αυτή καθορίζεται από εμένα σε ημέρες (πχ 30 μέρες). Η καταχώρηση αυτή γινεται στο πεδίο RegDays. 2.Με κώδικα κάθε φορά που ανοίγει η εφαρμογή βγάζει μηνυμα ότι απομένουν πχ. 29 μέρες, 28, 27 κλπ. Τώρα, οταν ο χρόνος αυτός παρέλθει τότε η εφαρμογή δίνει το σχετικό μήνυμα και 2 επιλογές. Με την επιλογή Registration ανοίγει η σχετική φόρμα έτσι ώστε ο χρήστης να προχωρήσει στην διαδικασία του registration. Οταν και εφόσον ολοκληρώσει την διαδικασία τότε εμφανίζεται ένα σχετικό μήνυμα και εδώ είναι τώρα το πρόβλημα μου. Εφόσον ο χρήστης έκανε την εγραφή του άρα αγόρασε την εφαρμογή, συνεπάγεται ότι πλέον ο κώδικας ελέγχου της διαδικασίας ελέγχου θα πρεπει να πάψει να εκτελείται όπώς επίσης θα πρέπει να σταματήσουν και τα σχετικά μηνύματα να εμφανίζονται |
#4
| |||
| |||
Γιώργο καλημέρα Όπως και να έχει, για την αποτροπή εκτέλεσης του κώδικα θα χρησιμοποιήσεις συνθήκες if. Ίσως περισσότερες από μία, ανάλογα πως έχεις σκεφτεί να υλοποιήσεις το registration. Η πρώτη συνθήκη θα ελέγχει αν έχει καταχωρηθεί η αρχική ημερομηνία καταχώρησης και τα στοιχεία του χρήστη. Η δεύτερη εφόσον ικανοποιείται η πρώτη συνθήκη θα ελέγχει αν έχουν συμπληρωθεί οι ημέρες της δοκιμής. Η τρίτη, όταν έχουν ολοκληρωθεί οι ημέρες της δοκιμής, εάν η βάση έχει γίνει register. Η κάθε συνθήκη θα εξαιρεί και κάποιο κομμάτι του κώδικα. Όταν η βάση γίνει register η τρίτη συνθήκη θα εξαιρέσει και το τελευταίο κομμάτι του κώδικα που θα εκτελείται και η βάση θα είναι πλέον πλήρως λειτουργική. |
#5
| |||
| |||
Καλησπέρα Στέλιο, Ανεβάζω ένα παράδειγμα του τί ακριβώς έχω κάνει και αν μπορείς φίλε ρίξε μια ματιά. Σε σχέση με τον κώδικα που θα πρέπει να δημιουργηθεί δεν ξέρω εάν και κατά πόσο θα μπορούσα να τον γράψω καθώς οι γνώσεις μου σε vba είναι πέρα για πέρα μηδαμινές. Θα εκτιμήσω κάθε βοήθεια φίλε μου. Σε ευχαριστώ εκ προτέρων.. Φιλικά, Γιώργος |
#6
| |||
| |||
Στέλιο συνημμένο το αρχείο. Κωδικοί Πρόσβασης; User Name: Admin (password "marianna") gstylianou (password "1234") george (password "1234") |
#7
| |||
| |||
Γιώργο καλησπέρα!! Κατέβασε από το παρακάτω σύνδεσμο την βάση σου με επανεκκίνηση Demo. https://drive.google.com/file/d/0Byr...it?usp=sharing Όλοι οι κωδικοί [arta] |
#8
| |||
| |||
Καλημέρα Αλέξανδρε Προσπάθησα να κατεβάσω το αρχείο αλλά δεν γίνεται τίποτα...(?). Απλά κάνω κλίκ στο link του αρχείου και δεν γίνεται κάτι μετά από αυτό. Υπάρχει κάτι άλλο Υ.Γ: σε ευχαριστώ πάρα πολύ που αφιέρωσες χρόνο φίλε για το θέμα μου. Το εκτιμώ. Με εκτίμηση Γιώργος |
#9
| |||
| |||
Καλημέρα Γιώργο!!!! Πάρε αυτό και κάνε λήψη 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
| |||
| |||
Γίωργο!! Θα σε βολέψει καλύτερα αυτή η βάση κατέβασε 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 ημέρες. Με το πέρας των ημερών θα σου εμφανίσει το γνωστό μήνυμα και πάλι από την αρχή. Αυτά φίλε μου κοιταξέτα και Καλή συνέχεια!!!!!!! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | 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.