| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα και πάλι.Έχω δημιουργήσει δύο πίνακες και δύο φόρμες.Στη φόρμα ΕΠΙΛΟΓΗ και στο συμβάν με το άνοιγμα ανοίγει σε προβολή προεπισκόπισης και η έκθεση και με το συμβάν με το κλείσιμο της φόρμας κλείνει πάλι επίσης η έκθεση.Ταυτόχρονα ανάλογα με την επιλογή ονόματος από το σύνθετο πλαίσιο της φόρμας ΕΠΙΛΟΓΗ μου εμφανιζει και η έκθεση τα αντίστοιχα ονόματα. Μέχρι εδώ καλώς έχουν τα πράγματα.Ρωτώ εφόσον γίνεται. 1)Αν αλλάζουμε την επιλογή ονόματος στο σύνθετο πλαίσιο πως θα ανανεώνεται και η έκθεση, ταυτόχρονα 2)Στο συμβάν με το άνοιγμα και κάτω από την εντολή DoCmd.OpenReport......... τοποθετώ την εντολή DoCmd.MaxiMize και αντί να μου μεγενθύνει την έκθεση μου μεγενθύνει την φόρμα ΕΠΙΛΟΓΗ 3)Αν υπάρχει η δυνατότητα στη φόρμα ΕΠΙΛΟΓΗ να θέσουμε πεδία ημερομηνίας(όχι παραμετρικά ερωτήματα) και η έκθεση να μου φέρνει και τις αντίστοιχες εγγραφές. Ευχαριστώ Τελευταία επεξεργασία από το χρήστη ΤΖΙΜΗΣ : 04-07-11 στις 15:34. |
|
#2
| |||
| |||
|
Καλημέρα στην παρέα Τζίμη, βλέποντας τη ΒΔ που ανέβασες, διαπίστωσα: 1. Προβλήματα στη σχεδίαση. Επειδή ο πίνακας «ΣΤΟΙΧΕΙΑ» περιέχει όλα τα στοιχεία ενός ατόμου και κάθε εγγραφή (άτομο) παίρνει ένα μοναδικό κωδικό (ID), στον πίνακα «ΕΓΓΡΑΦΕΣ» το μόνο που πρέπει να καταχωρείται, για να έχουμε τα στοιχεία του ατόμου, είναι το ID. Αυτό είναι βασικό για τη σωστή σχεδίαση των ΒΔ. Περισσότερα μπορείς να διαβάσεις στο παρακάτω άρθρο. Βασικές αρχές σχεδίασης βάσης δεδομένων - Access - Office.com 2. Η φόρμα «ΕΠΙΛΟΓΗ» δεν πρέπει να είναι δεσμευμένη και να δείχνει εγγραφές, αφού έτσι κάνοντας διάφορες επιλογές στο πλαίσιο επωνυμία, υπάρχει περίπτωση, να μεταβάλλουμε τα δεδομένα του υποκείμενου πίνακα. Ουσιαστικά εκείνο που θα επιλέγεται (ανεξάρτητα από αυτό που φαίνεται) είναι το ID του ατόμου και όχι η επωνυμία, όπου μπορεί να υπάρχουν συνωνυμίες. 3. Το υποκείμενο ερώτημα της έκθεσης είναι ομαδοποίησης. Το περίεργο είναι ότι η ομαδοποίηση γίνεται για όλα τα πεδία (δεν υπολογίζονται πχ αθροίσματα για τα πεδία ΠΟΣΟ, ΦΠΑ, κλπ) και το μόνο που επιτυγχάνεται είναι η εξάλειψη τυχόν διπλοεγγραφών. Σημειώνω επίσης ότι στις εκθέσεις και χωρίς ερώτημα ομαδοποίησης μπορούν να γίνουν θαυμάσιες ομαδοποιήσεις. Κατά τη γνώμη θα πρέπει πρώτα να επιλύσεις τα παραπάνω ουσιαστικά προβλήματα και μετά να ασχοληθείς με τους ζητούμενους αυτοματισμούς. Φιλικά/Γιώργος |
|
#3
| |||
| |||
|
Γίωργο ευχαρισρώ για τις παρατηρήσεις σου.Όταν λες ότι στον πίνακα ΕΓΓΡΑΦΕΣ το μόνο πρέπει να καταχωρείται είναι το ID τι εννοείς;Δηλαδή στην προέλευση γραμμής του σύνθετου πλαισίου πρέπει να εμφανίζεται μόνο Id; και όχι οι επωνυμίες; Ευχαριστώ |
|
#4
| |||
| |||
|
Καλησπέρα στην παρέα Τζίμη, στη ΒΔ που επισυνάπτω, έκανα κάποιες αλλαγές για να εξηγήσω τι εννοώ. Αν ανοίξεις τον πίνακα «ΕΓΓΡΑΦΕΣ» σε προβολή σχεδίασης, θα δεις ότι το πεδίο «ID_ΣΤΟΙΧΕΙΑ» είναι τύπου μεγάλος ακέραιος. Εδώ αποθηκεύεται το ID του ατόμου του πίνακα «ΣΤΟΙΧΕΙΑ», που έκανε τη συναλλαγή. Αν στις ιδιότητες του πεδίου πατήσεις στην καρτέλα εμφάνιση θα δεις και τα στοιχεία εμφάνισης (σύνθετο πλαίσιο). Από τις 4 στήλες (πεδία) της γραμμής προέλευσης, δεσμευμένη (αυτή που ενημερώνει το πεδίο ID_ΣΤΟΙΧΕΙΑ του πίνακα ΕΓΓΡΑΦΕΣ) είναι η στήλη 1 (ΣΤΟΙΧΕΙΑ.ID), αλλά δεν εμφανίζεται γιατί στα πλάτη στηλών η πρώτη στήλη έχει πλάτος μηδέν (0). Στην αδέσμευτη φόρμα «ΕΓΓΡΑΦΕΣ» έχω προσθέσει ένα σύνθετο πλαίσιο που έχει τις ίδιες ακριβώς ιδιότητες. Μπορεί να χρησιμοποιηθεί για να φιλτράρουμε τις εγγραφές της έκθεσης. Αν ανοίξεις τον πίνακα «ΕΓΓΡΑΦΕΣ» και το ερώτημα «qryHelp» θα δεις τις αλλαγές και σε προβολή φύλλου δεδομένων. Άνοιξε και την έκθεση «ΕΓΓΡΑΦΕΣ» για να δεις μία απλή έκθεση με ομάδες και αθροίσματα. Τελειώνοντας επισημαίνω και πάλι ότι χωρίς μια στοιχειώδη υποδομή στην οργάνωση των δεδομένων και τη σχεδίαση των ΒΔ, δεν είναι δυνατή η δημιοργία σωστής ΒΔ. Φιλικά/Γιώργος |
|
#5
| |||
| |||
|
Γώργο ευχαριστώ για τις σημαντικές σου παρατηρήσεις.Υπήρχαν κάποιες λεπτομέρειες που δεν τις είχα εντοπίσει κατά το σχεδιασμό μιας βάσης.Όσο για το πως γίνεται η ανανέωση μιας έκθεσης περιμένω τη νέα σου τοποθέτηση. Να είσαι καλά. |
|
#6
| ||||
| ||||
|
Καλησπέρα σε όλους! Τζίμη, δεν είναι δυνατόν να ανανεωθεί η έκθεση όταν βρίσκεται σε προβολή προεπισκόπισης! Θα πρέπει να κλείσεις την έκθεση και να την ανοίξεις εκ νέου για να δεις και να τυπώσεις τις αλλαγές που έχεις κάνει (μέσω πίνακα, ερωτήματος ή φόρμας) στα δεδομένα της . Ο κώδικας που μπορείς να βάλεις πίσω από το κουμπί για να κλείσεις και να ανοίξεις την έκθεση ξανά είναι: Κώδικας: Private Sub cmdOpenReport_Click()
On Error GoTo Err_cmdOpenReport_Click
Dim stDocName As String
stDocName = "rpt1"
If SysCmd(10, 3, stDocName) Then
DoCmd.Close acReport, stDocName, 2
End If
DoCmd.OpenReport stDocName, 2
Exit_cmdOpenReport_Click:
Exit Sub
Err_cmdOpenReport_Click:
MsgBox Err.Description
Resume Exit_cmdOpenReport_Click
End Sub
Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#7
| |||
| |||
|
Τάσο το κώδικα που μου έγγραψες πίσω από ποιο συμβάν θα τον τοποθετήσω;
|
|
#8
| ||||
| ||||
|
Στο συμβάν click() του κουμπιού. περιμένουμε νέα σου! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#9
| |||
| |||
|
Τάσο δε κατάλαβα και πάλι.Η φόρμα ανοίγει ταυτόχρονα με την έκθεση με το συμβάν άνοιγμα και κλείνει ταυτόχρονα με την έκθεση με το κουμπί κλείσιμο φόρμας που έχω δημιουργήσει. Αν μπορείς πες μου αναλυτικά τα βήματα. |
|
#10
| ||||
| ||||
|
Τζίμη, κάνεις λόγο για ανανέωση Έκθεσης και εγώ σου απαντώ ότι δεν γίνεται παρά μόνο αν κλείσεις και ανοίξεις την έκθεση ξανά, δίνοντας σου έναν παραδειγματικό κώδικα. Φτιάξε λοιπόν ένα κουμπί στη φόρμα, πρόσθεσε στο συμβάν click() τον κώδικα αφού προσαρμόσεις το όνομα "rpt1", μπορείς να πατάς το κουμπί κάθε φορά που θέλεις να "ανανεώνεται"η ήδη ανοιχτή έκθεση. Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Φόρμες ] Ανανέωση φόρμας με Enter | mousatos | Access - Ερωτήσεις / Απαντήσεις | 6 | 19-06-15 08:37 |
| [ Φόρμες ] Ανανέωση Δεδομένων | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 7 | 16-10-12 14:30 |
| [ Φόρμες ] Ανανέωση Φορμών | stelianta | Access - Ερωτήσεις / Απαντήσεις | 2 | 21-03-12 22:51 |
| Ανανέωση data σε subform (datasheet) | dionisis | Access - Ερωτήσεις / Απαντήσεις | 4 | 14-03-11 17:34 |
| Ανανέωση περιεχομένου σύνθετου πλαισίου | stavros2244 | Access - Ερωτήσεις / Απαντήσεις | 8 | 03-05-10 21:14 |
Η ώρα είναι 01:13.


Αλλαγή σε γραμμικό τρόπο

