Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
ΔΟΜΗΣΗ ΕΚΦΡΑΣΗΣ ΜΕ ΗΜΕΡΟΜΗΝΙΕΣ
Αγαπητοί φίλοι καλημέρα. Θα ήθελε τη βοήθειά σας σε σχέση με το εξής: Σε μιά εφαρμογή όπου τα ΜΕΛΗ πληρώνουν συνδρομές έχω μία φόρμα όπου α. επιλέγω από ένα σύνθετο πλαίσιο τον τύπο της συνδρομής (Ετήσια ή Α' Εξαμήνου ή Β' Εξαμήνου) β. καταχωρώ στο στοιχείο ελέγχου "ΈΤΟΣ" το έτος (Πχ 2011) Θέλω μετά την ενημέρωση του "ΕΤΟΣ", σε δύο νέα στοιχεία ελέγχου να καταχωρηθούν αντίστοιχα οι τιμές 1. Αν η συνδρομή είναι ετήσια: 1/1/"Me!ΕΤΟΣ" και 31/12/"Me!ΕΤΟΣ" 2. Αν η συνδρομή είναι Α' Εξαμήνου: 1/1/"Me!ΕΤΟΣ" και 30/6/ "Me!ΕΤΟΣ" 3. Αν η συνδρομή είναι Β' Εξαμήνου: 1/7/"Me!ΕΤΟΣ" και 31/12/ "Me!ΕΤΟΣ" Το πρόβλημά μου δεν είναι ο κώδικας αλλά πως πίσω από το Πχ 1/1 θα κολήσω το Me!ΕΤΟΣ Ελπίζω να έγινα κατανοητός Ευχαριστώ. |
#2
| ||||
| ||||
Καλησπέρα... Στο πεδίο [Lixi], τύπου date καταχωρείς ημερομηνία που 'πλάθεις' ως εξής : Κώδικας: [Lixi] = "31/12/" & CStr(Year([Genisi]) + 18) Ελπίζω να βοηθηθείς ! Με εκτίμηση Νίκος Δ. |
#3
| |||
| |||
Καλησπέρα στην παρέα Λεωνίδα, στη ΒΔ που επισυνάπτω υπάρχει μία φόρμα που πιστεύω ότι προσομοιώνει το ζητούμενο. Όταν πληκτρολογήσουμε το έτος και μεταφέρουμε την εστίαση σε άλλο πεδίο γίνεται αυτόματη ενημέρωση των πλαισίων κειμένου με τις ημερομηνίες έναρξης και λήξης της περιόδου συνδρομής. Αυτόματη ενημέρωση γίνεται και όταν κάνουμε μία επιλογή στο πλαίσιο του τύπου της συνδρομής εφόσον είναι συμπληρωμένο το έτος. Η λειτουργικότητα της φόρμας οφείλεται στον κώδικα: Κώδικας: Private Sub cboType_Click() txtEtos_AfterUpdate End Sub Private Sub txtEtos_AfterUpdate() If IsNull(Me!cboType) Or IsNull(Me!txtEtos) Then MsgBox "Πρέπει να συμπληρωθούν έγκυρες τιμές στα πλαίσια" _ & vbCrLf & "ελέγχου του τύπου συνδρομής και του έτους.", vbOKOnly Exit Sub End If Select Case Me!cboType Case "Ετήσια" Me!TxtStart = "1/1/" & Me!txtEtos Me!txtEnd = "31/12/" & Me!txtEtos Case "Α Εξαμήνου" Me!TxtStart = "1/1/" & Me!txtEtos Me!txtEnd = "30/6/" & Me!txtEtos Case "Β Εξαμήνου" Me!TxtStart = "1/7/" & Me!txtEtos Me!txtEnd = "31/12/" & Me!txtEtos End Select End Sub |
#4
| |||
| |||
ΕΥΧΑΡΙΣΤΩ
Καλησπέρα σε όλους Ευχαριστώ τους φίλους που απάντησαν |
#5
| |||
| |||
Ξέχασα να πώ ότι με κάλυψαν και τους ξαναευχαριστώ
|
#6
| ||||
| ||||
Καλημέρα στην παρέα! Η σωστή μέθοδος για να χτιστεί μια ημερομηνία προγραμματιστικά είναι η καταβολή του σειριακού αριθμού της. Η ημερομηνία: "6/7/2011" (d/m/yyyy) αντιστοιχεί στο σειριακό αριθμό: 40730. Η ημερομηνία: "6/7/2011" (m/d/yyyy) αντιστοιχεί στο σειριακό αριθμό: 40701. Χτίζοντας λοιπόν τη ημερομηνία 6/7/2011 σαν συμβολοσειρά, σε υπολογιστές με μορφή ημερομηνίας "Αγγλικά" (m/d/yyyy) θα αποθηκευτεί σαν 40701 και όχι σαν 40730 που είναι το σωστό. Προς αποφυγή λαθών επιβάλλεται η χρήση κάποιας συνάρτησης ημερομηνίας πχ. Για την ημερομηνία 6 Ιουλίου 2011 χρησιμοποιούμε την Dateserial() ως εξής: DateSerial(2011,7,6) που επιστρέφει πάντα το σωστό σειριακό αριθμό. Η πρόταση μου για την περίπτωση του Λεωνίδα είναι: Me!TxtStart = DateSerial(Me!MyField, 7, 6) Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#7
| |||
| |||
Καλημέρα Φίλε Τάσο έχεις δίκιο. Επειδή υπέθεσα ότι θα αποθηκεύεται το είδος της συνδρομής (Ετήσια, Α Εξαμήνου, Β Εξαμήνου) και όχι οι ημερομηνίες έναρξης και λήξης δεν έδωσα τη σημασία, που έπρεπε, στη σωστή αποθήκευση των ημερομηνιών. Ευχαριστώ για την παρέμβαση. Γιώργος |
#8
| |||
| |||
Ευχαριστώ και για τη νέα απάντηση
|
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Συνάρτηση iff με ημερομήνιες | ΚΩΣΤΑΣ2 | Access - Ερωτήσεις / Απαντήσεις | 1 | 28-11-16 15:40 |
[Γενικά] ΚΕΝΕΣ ΗΜΕΡΟΜΗΝΙΕΣ | xristos | Excel - Ερωτήσεις / Απαντήσεις | 3 | 24-01-16 14:56 |
Διόρθωση έκφρασης σε ερώτημα | alex | Access - Ερωτήσεις / Απαντήσεις | 9 | 14-02-15 19:05 |
[Γενικά] Ερμηνεία έκφρασης Excel | Meteora | Excel - Ερωτήσεις / Απαντήσεις | 3 | 06-06-12 21:07 |
Σχετικα με την δομηση εκφρασεων σε ερωτημα | deminio | Access - Ερωτήσεις / Απαντήσεις | 5 | 06-04-11 16:47 |
Η ώρα είναι 08:15.