Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#11
| |||
| |||
Παράθεση:
Καλημέρα και ευχαριστώ πολύ για το ενδιαφέρον |
#12
| |||
| |||
ΟΚ ανοίγει, ευχαριστώ
|
#13
| |||
| |||
Καλημέρα Εχεις δίκιο Νίκο για το τρόπο που περιγράφεις .Ισως εγώ δεν έκανα καλή διατύπωση.Πρίν συνταχθεί ο κώδικας για την απόρριψη διαχείρισης της εφαρμογής χρειάζεται και να ελέγχει και την ημερομηνία του υπολογιστή και αυτο μπορεί να γίνει με (DLookup(FieldFRunDate, TblName)) που να ελέγχει τον πίνακα ΠΧ.tblTrial με πεδια TrialActive ,FrstDate,CurDate,DaysTrial όπου Dim DtFrstDate As Date, CurrDate As Date CurrDate = Date Ολα αυτά σε Module. Με το άνοιγμα της εφαρμογής να φορτώνει την τρέχουσα ημερομηνία με αποτέλεσμα εάν αλλάξει κάποιος την ημερομηνία του υπολογιστή μεγαλυτερη > ή < μικρότερη τότε έρχεται σε λειτουργία ο κώδικας και σταματάει η εφαρμογή.Στην περίπτωση αυτή εννοώ ότι εάν κάποιος δεί τον πίνακα και τον αλλάξει επανέρχεται η εφαρμογή. Η περίπτωση που αναφέρθηκα στο προηγούμενο μήνυμα με αποκρυπτογράφηση των πινάκων και μια συνάρτηση Μodule που να καλει την συνάρτηση και να υπάρχει ο πίνακας με την τρέχουσα ημερομηνία μόνο γιατι πρέπει κάπου να περάσει η τρέχουσα ημερομηνία και να κλειδώνει μέσα απο τα register tou Pc.Οπότε και να σου πειράξουν τον πίνακα με την ημερομηνία δεν θα υπάρχει πρόβλημα.Επίσης εάν γυρίσει η ημερομηνία του υπολογιστή εμπρός ή πίσω τότε πάλι να μπλοκάρει την εφαρμογή. Φιλικά Αλέξανδρος |
#14
| |||
| |||
Υλοποίηση λύσης
Συγνώμη που γίνομαι κουραστικός, κατάλαβα τον τρόπο που προτείνεις να κλειδώσει η ημερομηνία, αλλά δυστυχώς δεν έχω γνώσεις να φτιάξω module. Πως θα μπορούσες να με βοηθήσεις; Αρκεί ένα παράδειγμα με την κεντρική μου φόρμα; Αν γίνεται έτσι, σε παρακαλώ κάνε μου ένα παράδειγμα με μια άδεια φόρμα με όνομα menu και πιστεύω θα καταφέρω να τα μεταφέρω στο πρόγραμμά μου. Ευχαριστώ και πάλι |
#15
| |||
| |||
Δημήτρη Το συγκεκριμένο που έχω το έχω αγοράσει και δεν πρέπει να το βγάλω στον αέρα και είναι παράκληση απο τον πωλητή .Εάν μπορέσω να σου πω περίπου τι να κάνεις. Για να ανοίγει η βάση να λειτουργεί για συγκεκριμένο αριθμό ημερών... Φτιάχνω λοιπόν ένα πίνακα "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
| |||
| |||
Το πρόβλημά μου κυρίως είναι ο τρόπος που θα κλείνει η εφαρμογή. Χρησιμοποιώ μακροεντολή να ελέγχει τις ημερομηνίες, και μπορώ να εμφανίσω μνμ. Δεν μπορώ όμως να κλείσω φόρμα ή εφαρμογή. Στο πιο πανω module - αν μπορώ να καταλάβω σωστα - υπάρχει η εντολή DoCmd.Quit που λογικά κλεινει. Αν είμαι υποχρεωμένος να χρησιμοποιήσω module δεν εχω ιδέα πως να το κάνω. Ειναι κριμα γιατι το υπόλοιπο πρόγραμμα είναι άρτιο και εξυπηρετεί το σκοπό του τέλεια.
|
#17
| |||
| |||
Δημήτρη καλησπέρα Βασικά παρόλου που δεν έχω χρόνο γιατί παιδεύομαι με μια βάση POS.Επειδή καταλαβαίνω ότι και πάλι δεν θα το καταφέρεις. Κοιτα το συννημένο δουλεύει.Θέλει όμως ο πίνακας να φορτώνει αμέσως την ημερομηνία του υπολογιστή.Είναι κατι πρόχειρο.Πάντως σου συνιστώ κάτσε και διάβασε και θα καταφέρεις πολλά.Πρέπει τελικά να σου απαντήθηκαν και τα 2 ερωτήματα στο περίπου. ΝΑ ΓΥΡΙΣΕΙΣ ΤΗΝ ΗΜΕΡΟΜΗΝΙΑ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΜΠΡΟΣΤΑ ΓΙΑ ΔΟΚΙΜΗ 20 ΗΜΕΡΕΣ ΓΙΑ ΔΟΚΙΜΗ Καλή συνέχεια Φιλικά Αλέξανδρος |
#18
| |||
| |||
Παράθεση:
|
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | 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.