Εμφάνιση ενός μόνο μηνύματος
  #15  
Παλιά 05-10-11, 10:08
alex Ο χρήστης alex δεν είναι συνδεδεμένος
Όνομα: Αλέξανδρος
Έκδοση λογισμικού 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
Πιστεύω ότι κάπως έτσι πρέπει να είναι ο κώδικας που δεν έχει καμμια σχέση με αυτόν που έχω αγοράσει.
Εάν γνωρίζει κάποιος πιο πολλά μπορεί να βοηθήσει.
Αλλά πρέπει να εξασκηθείς πιο πολύ για να φτάσεις στο επίπεδο αυτο ώστε να κάνεις κάτι απο μόνος σου.
Φιλικά
Αλέξανδρος
Απάντηση με παράθεση