Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#11
| ||||
| ||||
Καλησπέρα σε όλη την παρέα! Φίλε Αλέξη, δεν χρειάζεται (και δεν πρέπει) να αποθηκεύεις όλα τα στοιχεία του κάθε στελέχους στον πίνακα tblNameDates. Τα απαραίτητα στοιχεία είναι μόνο το μοναδικό κλειδί του κάθε στελέχους και την ημερομηνία. Φυσικά μπορείς να προσθέσεις και άλλα πεδία στον πίνακα tblNameDates τα οποία όμως να σχετίζονται μόνο με το θέμα του πίνακα. Πρέπει να αποφεύγουμε την αποθήκευση μοναδικών δεδομένων σε πολλά σημεία αλλά και την αποθήκευση άσχετων με το θέμα δεδομένων. Οι συνενώσεις του ερωτήματος qryNameDates, είναι εξωτερικές συνενώσεις (LEFT JOIN, RIGHT JOIN) οι οποίες αναγκάζουν το ερώτημα να επιστρέψει όλες τις εγγραφές από τον πρώτο πίνακα και από το δεύτερο μόνο όσες ταιριάζουν με αυτές του πρώτου. Οι θέσεις που δεν υπάρχει ταίριασμα γεμίζουν με τιμές NULL. Για περισσότερα, κάνε μια αναζήτηση με τους παραπάνω όρους. Στο συνημμένο θα βρεις την εφαρμογή όλων των παραπάνω. Για ότι άλλο προκύψει, εδώ είμαστε. Μην αγχώνεσαι καθόλου! Φιλικά, Γιάννης.
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
#12
| |||
| |||
Μετατροπή ημερομηνίας ολογράφως
Παιδιά καλημέρα, Θα ήθελα να δουλέψω πάνω σε κάτι παρόμοιο με το ερώτημα του Αλέξη. Αυτό που θέλω είναι απο μία ημερομηνία που εισάγω σε ένα πεδίο φόρμας στο (συνημμένο παράδειγμα [ΔΙΕΚΠΑΙΡΕΩΣΗ] ) να μου μεταφέρει σε ένα άλλο πεδίο (στο συννημένο παράδειγμα [ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ] ) τον μήνα και το έτος της ημερομηνίας. π.χ. όταν στο πεδίο [ΔΙΕΚΠΑΙΡΕΩΣΗ] εισάγω την 22/12/1980 τότε το πεδίο [ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ] να μου επιστρέφει ΔΕΚΕΜΒΡΙΟΣ 1980. Έχω κάνει κάτι δοκιμές με το παρακάτω, χωρίς επιθυμητό αποτέλεσμα: private sub ΔΙΕΚΠΑΙΡΕΩΣΗ_Lostfocus () Dim a, b As integer a = ΔΙΕΚΠΑΙΡΕΩΣΗ b= Month (a) if b = 1 then ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗ = "ΙΑΝΟΥΑΡΙΟΣ" Κ.Ο.Κ. * Αν δεν γίνεται στο ίδιο πεδίο [ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ] να μπουν μήνας και έτος (ΔΕΚΕΜΒΡΙΟΣ 1980) ας μπουν σε δύο πεδίο [ΜΗΝΑΣ] = ΔΕΚΕΜΒΡΙΟΣ & [ΕΤΟΣ}= 1980. Ευχαριστώ πολύ Πάνος |
#13
| ||||
| ||||
Καλημέρα... Για να εμφανιστεί λεκτικά ο μήνας και το έτος γράφεις : Κώδικας: Private Sub ΔΙΕΚΠΑΙΡΕΩΣΗ_AfterUpdate() πλαίσιο1= Choose(Month(ΔΙΕΚΠΑΙΡΕΩΣΗ), "ΓΕΝΑΡΗΣ", "ΦΛΕΒΑΡΗΣ", "ΜΑΡΤΗΣ", "ΑΠΡΙΛΗΣ", "ΜΑΗΣ", "ΙΟΥΝΗΣ", "ΙΟΥΛΗΣ", "ΑΥΓΟΥΣΤΟΣ", "ΣΕΠΤΕΜΒΡΙΟΣ", "ΟΚΤΩΒΡΙΟΣ", "ΝΟΕΜΒΡΙΟΣ", "ΔΕΚΕΜΒΡΙΟΣ") πλαίσιο2 = year(ΔΙΕΚΠΑΙΡΕΩΣΗ) End Sub str(year(ΔΙΕΚΠΑΙΡΕΩΣΗ)) Ελπίζω όλα να πάνε κατ΄ευχή / Νίκος Δ. Τελευταία επεξεργασία από το χρήστη Tasos : 20-09-10 στις 15:46. |
#14
| |||
| |||
Σε ευχαριστώ Νίκο θα το δοκιμάσω και θα σε ενημερώσω. Πάνος |
#15
| |||
| |||
Καλησπέρα, στην παρέα Πάνο στο αρχείο που επισυνάπτω δίνω μια λύση παρόμοια με του Νίκου, αλλά με ένα πλαίσιο κειμένου (αυτό που έχεις). Στις δοκιμές που έκανα υπήρξε πρόβλημα με το όνομα του πλαισίου κειμένου «ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ», γι’ αυτό το άλλαξα. Επίσης στη φόρμα υπήρχαν και υπολείμματα κώδικα από τις δοκιμές που έκανες. Τον διέγραψα για να μη δημιουργεί προβλήματα. Αν δεν έγραψα σωστά κάποιο μήνα μπορείς να τον διορθώσεις. Φιλικά/Γιώργος |
#16
| |||
| |||
Καλησπέρα και πάλι Η πιο απλή λύση είναι να γραφεί στην προέλευση στοιχείου ελέγχου η έκφραση: =Format([ΔΙΕΚΠΑΙΡΕΩΣΗ];"mmmm, yyyy") Φιλικά/Γιώργος |
#17
| |||
| |||
Ευχαριστώ Γιώργο, και εσένα Θα τα δοκιμάσω αργότερα, όταν κοιμηθούνε τα μικρά μου, και θα σας ενημερώσω. Ευχαριστώ πολύ Πάνος |
#18
| |||
| |||
Καλημέρα στην εκλεκτή παρέα, σχετικά με το παραπάνω ζητηματάκι που έθεσα εχθές, δυστυχώς δεν έχω βγάλει άκρη μέχρι τώρα. 1. ο κώδικας του Χρήστου δεν μοιάζει να δουλεύει 2. ούτε η συνάρτηση του Γιώργου στην προέλευση στοιχείου, "=Format([ΔΙΕΚΠΑΙΡΕΩΣΗ];"mmmm, yyyy")" έχει αποτέλεσμα, αν και πιστεύω ότι θα ήταν η καλύτερη λύση (απλή και γρήγορη) 3. η έτερη επιλογή του Γιώργου δουλεύει στις δοκιμές μου αλλά μόνο σε access 2003. Ευχαριστώ πάρα πολύ Πάνος |
#19
| |||
| |||
Καλημέρα στην παρέα Πάνο στο αρχείο που επισυνάπτω πρόσθεσα στη φόρμα «ΚΕΝΤΡΙΚΟΣ ΠΙΝΑΚΑΣ» ένα πλαίσιο κειμένου στο οποίο έβαλα το σύντομο τύπο. Στην access 2003 που διαθέτω και οι δύο λύσεις λειτουργούν σωστά. Δεν ξέρω τι συμβαίνει με την έκδοση 2007. Τα παρακάτω πιθανόν να λύσουν το πρόβλημα: 1. Αφαίρεσε όλο τον κώδικα από τη φόρμα (Στη σχεδίαση > Στο φύλλο ιδιοτήτων της φόρμας > Καρτέλα Άλλα > Έχει λειτουργική μονάδα > Όχι). 2. Άλλαξε στη φόρμα το όνομα του πεδίου «ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ» με ένα (πχ txtMinasEtos) με αγγλικούς χαρακτήρες και χωρίς κενά (Στη σχεδίαση > Στο φύλλο ιδιοτήτων του πεδίου ΜΗΝΑΣ_ΕΤΟΣ ΔΙΕΚΠΑΙΡΕΩΣΗΣ > Καρτέλα Άλλα > Όνομα > txtMinasEtos) Φιλικά/Γιώργος |
#20
| ||||
| ||||
Καλημέρα σε όλους! Πάνο, η φόρμα του παραδείγματος που ανέβασες (στο *accdb αρχείο) είναι "χτυπημένη" Δημιούργησε μια καινουργια φόρμα και χρησιμοποίησε κάποια από τις προτάσεις που σου υπέδειξαν οι φίλοι Νίκος και Γιώργος. Εγώ προσωπικά θα χρησιμοποιούσα σε υπολογισμένο πεδίο τον παρακάτω τύπο: Κώδικας: =Choose(Nz(Month([ΔΙΕΚΠΑΙΡΕΩΣΗ]);0);"ΓΕΝΑΡΗΣ";"ΦΛΕΒΑΡΗΣ";"ΜΑΡΤΗΣ";"ΑΠΡΙΛΗΣ";"ΜΑΗΣ";"ΙΟΥΝΗΣ";"ΙΟΥΛΗΣ"; "ΑΥΓΟΥΣΤΟΣ";"ΣΕΠΤΕΜΒΡΙΟΣ";"ΟΚΤΩΒΡΙΟΣ";"ΝΟΕΜΒΡΙΟΣ";"ΔΕΚΕΜΒΡΙΟΣ") & " " & Nz(Year([ΔΙΕΚΠΑΙΡΕΩΣΗ]);"") Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Ερώτημα για εύρεση ημερομηνίας και ημέρας γέννησης | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 14-08-14 10:03 |
[ Εκθέσεις ] Ταξινόμηση ημερομηνίας βαση ημερας | lalosjim | Access - Ερωτήσεις / Απαντήσεις | 4 | 05-06-14 17:37 |
[Συναρτήσεις] Εύρεση και διατύπωση ημέρας συγκεκριμμένης ημερομηνίας. | Fotis1991 | Excel - Ερωτήσεις / Απαντήσεις | 6 | 20-10-12 00:47 |
Εξαγωγή στοιχείων από φόρμα σε Word | dimnot | Access - Ερωτήσεις / Απαντήσεις | 12 | 24-03-12 18:47 |
[ Φόρμες ] Αντιστοιχία Ημερομηνίας - Ημέρας | mgeorge | Access - Ερωτήσεις / Απαντήσεις | 3 | 04-06-11 19:35 |
Η ώρα είναι 23:17.