Alert.Προειδοποιητικό μήνυμα μετά το πέρας μιας ημερομηνίας.

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

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

Απάντηση
sakis297
Δημοσιεύσεις: 20
Εγγραφή: 09 Μάιος 2007 21:39

Alert.Προειδοποιητικό μήνυμα μετά το πέρας μιας ημερομηνίας.

Δημοσίευση από sakis297 » 05 Μαρ 2008 10:19

Γεια σας παιδιά!
Ας υποθέσουμε ότι έχω έναν πίνακα όπου καταχωρώ τα ποσά οφειλής προς εμένα και για κάθε ποσό έχω κι ένα πεδίο ημερομηνία το οποίο εκφράζει την προθεσμία αποπληρωμής του ποσού.
Πως γίνεται να μου βγαίνει αυτόματα ένα μήνυμα όταν η τρέχουσα ημερομηνία φτάσει 5 μέρες πριν την προθεσμία;
Φαντάζομαι ότι θα πρέπει να χρησιμοποιήσω κάποιο if και κάποια συνάρτηση msgbox.
Το πρόβλημα είναι ότι δε γνωρίζω vba και ότι δεν ξέρω σε ποιο συμβάν να βάλω τον κώδικα, ώτσε το μήνυμα να βγαίνει αυτόματα με το άνοιγμα της βάσης δεδομένων.
Μπορεί κανείς να βοηθήσει;
Ευχαριστώ!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Alert.Προειδοποιητικό μήνυμα μετά το πέρας μιας ημερομηνίας.

Δημοσίευση από dva_dev » 05 Μαρ 2008 22:17

Φτιάχνεις μια νέα λειτουργική μονάδα βάζεις τον παρακάτω κώδικα, και την αποθηκεύεις με ότι όνομα θέλεις

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

Option Compare Database
Option Explicit

'Το query που φέρνει τις εγγραφές
Const strQuery As String = "SELECT * FROM mytable WHERE Now() Between (date1 - 5) And (date1)"

Public Function CheckDates()

    Dim rs As Recordset
    Dim strMessage As String
    
    Set rs = CodeDb.OpenRecordset(strQuery)
    Do While Not rs.EOF
        'Φτιάχνουμε ένα string με τις περιγραφές
        strMessage = strMessage & rs.Fields("descr").Value _
                                & vbCrLf
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing

    If Len(strMessage) > 0 Then
        MsgBox strMessage
    End If

End Function
Φτιάχνεις μια νέα μακροεντολή με όνομα "AutoExec" (για να τρέχει όταν ανοίγεις τη βάση) και βάζεις μια ενέργεια "Εκτέλεση κώδικα" και στο Ονομα συνάρτησης θα δώσεις το "CheckDates ()".

Το query άλλαξε το ώστε να φέρνει τα δικά σου πίνακα/πεδία όπως και στο "rs.Fields("descr").Value" βάζεις το πεδίο που θέλεις να διαβάσει για να φτιάξει το μήνυμα που θα εμφανίσει.

sakis297
Δημοσιεύσεις: 20
Εγγραφή: 09 Μάιος 2007 21:39

Alert.Προειδοποιητικό μήνυμα μετά το πέρας μιας ημερομηνίας.

Δημοσίευση από sakis297 » 06 Μαρ 2008 11:03

Σε ευχαριστώ πολύ!!!

dimitrakr
Δημοσιεύσεις: 2
Εγγραφή: 19 Μαρ 2013 10:22

Alert.Προειδοποιητικό μήνυμα μετά το πέρας μιας ημερομηνίας.

Δημοσίευση από dimitrakr » 19 Μαρ 2013 12:27

Μήπως θα μπορούσες να γίνεις λίγο πιο συγκεκριμένος? Που φτιάχνω την λειτουργική μονάδα?? τι query χρειάζομαι για να δουλεψει κανονικα..?τέλος, με μια μακροεντολή πως θα το έκανα να δουλέψει κατευθείαν?

Απάντηση

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

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

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