Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ασφάλεια] Κλείδωμα βάσης για συγκεκριμένο χρόνο

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #11  
Παλιά 05-10-11, 07:36
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-10-2011
Μηνύματα: 77
Προεπιλογή

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

Δεν είναι ανάγκη να έχεις την ημερομηνία-όριο σε πίνακα. Την ενσωματώνεις στον κώδικα και δεν υπάρχει περίπτωση σε *.mde να την δει κάποιος.
παράδειγμα αν γράψεις:

If Date > DateSerial(2011, 3, 12) Then
<κώδικας απόρριψης διαχείρισης της εφαρμογής>
End If

Αποκλείεται κάποιος να σε αλλάξει το όριο (12 Μαρτίου 2011). ΜΟΝΟ αν αλλάξει ημερομηνία στον υπολογιστή του μπορεί να συνεχίσει την εφαρμογή...

Με εκτίμηση

Νίκος Δ.
Αυτό ψάχνω ακριβώς. Ένα μεγάλο χρονικό διάστημα για demo. Δεν υπάρχει περίπτωση να σπάσει κάποιος τον κώδικα - εννοώ σε αυτούς που απευθύνομαι. Απλά θέλω να τους δώσω ένα κίνητρο να επικοινωνούν μαζί μου κάθε χρόνο, ώστε να ανανεώνουν το χρονικό διάστημα. Δεν ξέρω πως να γράψω τον "κώδικα απόρριψης διαχείρισης της εφαρμογής" με ένα κατατοπιστικό μήνυμα στο χρήστη. Έχω μια κεντρική φόρμα menu στην οποία σκέφτομαι να βάλω ενημερωτικό μήνυμα όταν πλησιάζει η λήξη (πχ 30 μέρες ακόμα) και όταν λήξει να κλείνει η εφαρμογή.
Καλημέρα και ευχαριστώ πολύ για το ενδιαφέρον
Απάντηση με παράθεση
  #12  
Παλιά 05-10-11, 07:43
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-10-2011
Μηνύματα: 77
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από alex Εμφάνιση μηνυμάτων
Δημήτρη

Το παράδειγμα είναι σε 2002 έκδοση.Λογικά θα έπρεπε να το βλέπεις με 2003.Το ξαναστέλνω μήπως δεν το φόρτωσε καλά.Το αρχικό σου ερώτημα ήταν να κάνεις Demo εφαρμογή αν κατάλαβα καλά

Φιλικά/Αλέξανδρος
ΟΚ ανοίγει, ευχαριστώ
Απάντηση με παράθεση
  #13  
Παλιά 05-10-11, 08:20
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Καλημέρα

Εχεις δίκιο Νίκο για το τρόπο που περιγράφεις .Ισως εγώ δεν έκανα καλή διατύπωση.Πρίν συνταχθεί ο κώδικας για την απόρριψη διαχείρισης της εφαρμογής χρειάζεται και να ελέγχει και την ημερομηνία του υπολογιστή και αυτο μπορεί να γίνει με (DLookup(FieldFRunDate, TblName)) που να ελέγχει τον πίνακα ΠΧ.tblTrial με πεδια TrialActive ,FrstDate,CurDate,DaysTrial όπου
Dim DtFrstDate As Date, CurrDate As Date
CurrDate = Date
Ολα αυτά σε Module. Με το άνοιγμα της εφαρμογής να φορτώνει την τρέχουσα ημερομηνία με αποτέλεσμα εάν αλλάξει κάποιος την ημερομηνία του υπολογιστή μεγαλυτερη > ή < μικρότερη τότε έρχεται σε λειτουργία ο κώδικας και σταματάει η εφαρμογή.Στην περίπτωση αυτή εννοώ ότι εάν κάποιος δεί τον πίνακα και τον αλλάξει επανέρχεται η εφαρμογή.
Η περίπτωση που αναφέρθηκα στο προηγούμενο μήνυμα με αποκρυπτογράφηση των πινάκων και μια συνάρτηση Μodule που να καλει την συνάρτηση και να υπάρχει ο πίνακας με την τρέχουσα ημερομηνία μόνο γιατι πρέπει κάπου να περάσει η τρέχουσα ημερομηνία και να κλειδώνει μέσα απο τα register tou Pc.Οπότε και να σου πειράξουν τον πίνακα με την ημερομηνία δεν θα υπάρχει πρόβλημα.Επίσης εάν γυρίσει η ημερομηνία του υπολογιστή εμπρός ή πίσω τότε πάλι να μπλοκάρει την εφαρμογή.

Φιλικά
Αλέξανδρος
Απάντηση με παράθεση
  #14  
Παλιά 05-10-11, 09:03
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-10-2011
Μηνύματα: 77
Προεπιλογή Υλοποίηση λύσης

Συγνώμη που γίνομαι κουραστικός, κατάλαβα τον τρόπο που προτείνεις να κλειδώσει η ημερομηνία, αλλά δυστυχώς δεν έχω γνώσεις να φτιάξω module. Πως θα μπορούσες να με βοηθήσεις; Αρκεί ένα παράδειγμα με την κεντρική μου φόρμα; Αν γίνεται έτσι, σε παρακαλώ κάνε μου ένα παράδειγμα με μια άδεια φόρμα με όνομα menu και πιστεύω θα καταφέρω να τα μεταφέρω στο πρόγραμμά μου.
Ευχαριστώ και πάλι
Απάντηση με παράθεση
  #15  
Παλιά 05-10-11, 10:08
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Δημήτρη

Το συγκεκριμένο που έχω το έχω αγοράσει και δεν πρέπει να το βγάλω στον αέρα και είναι παράκληση απο τον πωλητή .Εάν μπορέσω να σου πω περίπου τι να κάνεις.

Για να ανοίγει η βάση να λειτουργεί για συγκεκριμένο αριθμό ημερών...
Φτιάχνω λοιπόν ένα πίνακα "tbldays" με πεδίο "firstdate". Πρέπει λοιπόν στο άνοιγμα της βάσης να γίνεται ένας έλεγχος αν το πεδίο firstdate είναι null και αν είναι να πάρει τιμή date() (πρώτη εκτέλεση της βάσης), αν δεν είναι null να γίνεται μια σύγκριση με το Now() και αν η διαφορά τους είναι μεγαλύτερη από χ ημέρες να βγάζει ένα σχετικό msgbox και να μην ανοίγει η βάση, ενώ αν είναι μικρότερη να προχωρά κανονικά το άνοιγμα της βάσης..
Η παρακάτω συνάρτηση δεν ξέρω εάν είναι και σωστή τα παιδιά που ξέρουν πολύ καλά κώδικα ίσως και βοηθήσουν.

.Public Function fTrialDays()
Dim StartDay As Date

'Ελέγχει τον πίνακα
If IsNull(DMax("[firstdate]", "tbldays")) Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tbldays VALUES ( Now())"
DoCmd.SetWarnings True
Exit Function
Else
StartDay = DMax("[firstdate]", "tbldays")
End If

'Ελεγχος για χ=15 μέρες
If Now() > DateAdd("d", 15, StartDay) Then
'Σχετικό μήνυμα και κλείσιμο της access
MsgBox "Οι x μέρες πέρασαν.", , "Info.."
DoCmd.Quit
else
DoCmd.openForm "frmMain"
End If

End Function
Πιστεύω ότι κάπως έτσι πρέπει να είναι ο κώδικας που δεν έχει καμμια σχέση με αυτόν που έχω αγοράσει.
Εάν γνωρίζει κάποιος πιο πολλά μπορεί να βοηθήσει.
Αλλά πρέπει να εξασκηθείς πιο πολύ για να φτάσεις στο επίπεδο αυτο ώστε να κάνεις κάτι απο μόνος σου.
Φιλικά
Αλέξανδρος
Απάντηση με παράθεση
  #16  
Παλιά 05-10-11, 11:44
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-10-2011
Μηνύματα: 77
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από alex Εμφάνιση μηνυμάτων
Δημήτρη

'Ελεγχος για χ=15 μέρες
If Now() > DateAdd("d", 15, StartDay) Then
'Σχετικό μήνυμα και κλείσιμο της access
MsgBox "Οι x μέρες πέρασαν.", , "Info.."
DoCmd.Quit
else
DoCmd.openForm "frmMain"
End If
End Function
Φιλικά
Αλέξανδρος


Εάν
Το πρόβλημά μου κυρίως είναι ο τρόπος που θα κλείνει η εφαρμογή. Χρησιμοποιώ μακροεντολή να ελέγχει τις ημερομηνίες, και μπορώ να εμφανίσω μνμ. Δεν μπορώ όμως να κλείσω φόρμα ή εφαρμογή. Στο πιο πανω module - αν μπορώ να καταλάβω σωστα - υπάρχει η εντολή DoCmd.Quit που λογικά κλεινει. Αν είμαι υποχρεωμένος να χρησιμοποιήσω module δεν εχω ιδέα πως να το κάνω. Ειναι κριμα γιατι το υπόλοιπο πρόγραμμα είναι άρτιο και εξυπηρετεί το σκοπό του τέλεια.
Απάντηση με παράθεση
  #17  
Παλιά 05-10-11, 11:59
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Δημήτρη καλησπέρα

Βασικά παρόλου που δεν έχω χρόνο γιατί παιδεύομαι με μια βάση POS.Επειδή καταλαβαίνω ότι και πάλι δεν θα το καταφέρεις. Κοιτα το συννημένο δουλεύει.Θέλει όμως ο πίνακας να φορτώνει αμέσως την ημερομηνία του υπολογιστή.Είναι κατι πρόχειρο.Πάντως σου συνιστώ κάτσε και διάβασε και θα καταφέρεις πολλά.Πρέπει τελικά να σου απαντήθηκαν και τα 2 ερωτήματα στο περίπου.
ΝΑ ΓΥΡΙΣΕΙΣ ΤΗΝ ΗΜΕΡΟΜΗΝΙΑ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΜΠΡΟΣΤΑ ΓΙΑ ΔΟΚΙΜΗ 20 ΗΜΕΡΕΣ ΓΙΑ ΔΟΚΙΜΗ
Καλή συνέχεια

Φιλικά
Αλέξανδρος
Συνημμένα Αρχεία
Τύπος Αρχείου: zip 05_10_2011.zip (13,4 KB, 33 εμφανίσεις)
Απάντηση με παράθεση
  #18  
Παλιά 05-10-11, 13:15
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 02-10-2011
Μηνύματα: 77
Προεπιλογή

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

Βασικά παρόλου που δεν έχω χρόνο γιατί παιδεύομαι με μια βάση POS.Επειδή καταλαβαίνω ότι και πάλι δεν θα το καταφέρεις. Κοιτα το συννημένο δουλεύει.Θέλει όμως ο πίνακας να φορτώνει αμέσως την ημερομηνία του υπολογιστή.Είναι κατι πρόχειρο.Πάντως σου συνιστώ κάτσε και διάβασε και θα καταφέρεις πολλά.Πρέπει τελικά να σου απαντήθηκαν και τα 2 ερωτήματα στο περίπου.
ΝΑ ΓΥΡΙΣΕΙΣ ΤΗΝ ΗΜΕΡΟΜΗΝΙΑ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΜΠΡΟΣΤΑ ΓΙΑ ΔΟΚΙΜΗ 20 ΗΜΕΡΕΣ ΓΙΑ ΔΟΚΙΜΗ
Καλή συνέχεια

Φιλικά
Αλέξανδρος
Ευχαριστώ, σίγουρα αν παιδευτώ θα μάθω... καλή συνέχεια σε ότι κάνεις
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ασφάλεια] Κλείδωμα μετά από συγκεκριμένο αριθμό χρήσεων parara Access - Ερωτήσεις / Απαντήσεις 0 31-12-12 13:06
[ Ασφάλεια] Κλείδωμα βάσης με τον αριθμό του επεξεργαστή Γιωργος Μπεστ Access - Ερωτήσεις / Απαντήσεις 3 27-12-12 20:42
[ Ασφάλεια] Απορία σε κλείδωμα βάσης δεδομένων Γιωργος Μπεστ Access - Ερωτήσεις / Απαντήσεις 3 03-05-12 06:45
Κλείδωμα βάσης SOELLICHA Access - Ερωτήσεις / Απαντήσεις 2 12-12-11 09:59
Κλείδωμα Βάσης δεδομένων Ms-Office-Development Team Access samples - Χρήσιμα αρχεία & παραδείγματα 0 08-08-10 14:42


Η ώρα είναι 00:28.