Ημερομηνία λήξης ενός προγράμματος Access

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
pontikalos
Δημοσιεύσεις: 16
Εγγραφή: 14 Σεπ 2008 11:29
Τοποθεσία: Ρόδος

Ημερομηνία λήξης ενός προγράμματος Access

Δημοσίευση από pontikalos » 14 Οκτ 2008 18:53

Καλησπέρα σε όλους!
Θα ήθελα να μου πει κάποιος αν μπορώ να φτιάξω μια βάση η οποία ομως θα λειτουργήσει για συγκεκριμένο χρονικό διάστημα πχ ένα χρόνο. Με την παροδο ενός χρόνου δε θα μπορεί ο χρήστης να το χρησιμοποιεί άλλο. Πως γίνεται;
Επίσης θά'θελα να ξέρω αν γίνεται μια βάση access να είναι .exe ή κάτι τέτοιο τέλος πάντων
Thanx


Άβαταρ μέλους
kon73
Script Master
Δημοσιεύσεις: 224
Εγγραφή: 13 Απρ 2008 23:47
Επικοινωνία:

Ημερομηνία λήξης ενός προγράμματος Access

Δημοσίευση από kon73 » 15 Οκτ 2008 10:25

Φίλε μου pontikalos καλημέρα,

Απαντώ στα ερωτήματά σου :
1.
α) Αρχικά για να κάνουμε μία βάση να λειτουργήσει πχ ένα χρόνο θα πρέπει να σχεδιάσουμε την τεχνική του. Ορίστε το λοιπόν μία τεχνική.
Όταν τρέξει για πρώτη φορά η βάση εγκαθίσταται σε ένα πεδίο ενός πίνακα (Πχ. Πίνακας TblParameters και πεδίο FirstExecutionDate) η ημερομηνία της πρώτης εκτέλεσης
Όταν περάσει το έτος (Κάθε φορά που ανοίγει η εφαρμογή ελέγχει την διαφορά της ημερομηνίας πρώτης εκτέλεσης με την τρέχουσα ημερομηνία) τότε σε ένα άλλο πεδίο του παραπάνω πίνακα (Πχ. Στον πίνακα TblParameters στο πεδίο RunDatabase) το πεδίο RunDatabase γίνεται False όταν η διαφορά είναι μεγαλύτερη του έτους. Όμως με το που γίνει το RunDatabase=False θα παύει να γίνεται ο έλεγχος διαφοράς ημερομηνίας ώστε να μην ο χρήστης αλλάξει την ημερομηνία του συστήματος και η εφαρμογή εξακολουθήσει να λειτουργεί.
Όταν το πεδίο RunDatabase γίνει False τότε η εφαρμογή θα βγάζει ένα μήνυμα και θα κλείνει η εφαρμογή.
β) Για να εισάγουμε την ημερομηνία πρώτης εκτέλεσης καθώς και να ελέγχουμε αν πέρασε το έτος θα χρειαστούμε είτε την μακροεντολή Autoexec είτε σε κάποιο event της φόρμας που ανοίγει αυτόματα (Γίνεται από Εργαλεία - Εκκίνηση - Εμφάνιση Φόρμας/Σελίδας να δώσουμε ποια φόρμα να ανοίγει αυτόματα) ώστε έτσι σε κάθε έναρξη της Access να εκτελείται ο κώδικας που θέλουμε για το κλείδωμα.
Ως Ψευδοκώδικα το λοιπόν δίνω (Σημ. είναι ψευδοκώδικας στην VBA θέλει τροποποιήσεις και SQL UPDATE strings ή τεχνική RecordSets για ενημέρωση των πεδίων)

Κώδικας: Επιλογή όλων

         Έλεγχος αν πρέπει να εκτελεστεί η Βάση (Διαβάζει το πεδίο RunDatabase του πίνακα TblParameters)

         If RunDatabase=true then

         Έλεγχος αν έχει πρωτοεκτελεστεί το πρόγραμμα

         If isnull(FirstExecutionDate) then FirstExecutionDate=date 


        Έλεγχος εφόσον επιτρέπεται η εκτέλεση της εφαρμογής αν έχει περάσει ένα έτος
        Αν όχι τότε κλείδωμα εφαρμογής

                If FirstExecutionDate-date>365 then Rundatabase=False
         Else 
        Διαφορετική περίπτωση δηλαδή έχει κλειδώσει η εφαρμογή RunDatabase=false

               Docmd.quit

         End if         
Το παραπάνω είναι απλά μία τεχνική από πιθανόν διάφορες άλλες λύσεις. Είναι το λοιπόν μία ενδεικτική λύση αυτό που παραθέτω παραπάνω.

2. Σχετικά με το RunTime (Exe δεν γίνεται η βάση MsAccess) όπως ανέφερε και ο DVA_DEV υπάρχουν διάφορες απαντήσεις ανάλογες στο Forum.

Φιλικά

kon73
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εικόνα

pontikalos
Δημοσιεύσεις: 16
Εγγραφή: 14 Σεπ 2008 11:29
Τοποθεσία: Ρόδος

Ημερομηνία λήξης ενός προγράμματος Access

Δημοσίευση από pontikalos » 15 Οκτ 2008 11:10

Καλημέρα dva_dev, καλημέρα kon73!
Δηλώνω για μια ακομη φορά εντυπωσιασμένος. Δεν έχω λόγια...

ΥΓ:Συνεχίστε την καλή δουλειά!

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες