![]() |
Βοήθεια για την εντολή SELECT Καλησπέρα σε όλους! Μια απορία: Σε ερώτημα sql χρησιμοποιώ την εντολή: SELECT * FROM myTable για να εμφανίσω όλα τα πεδία του πίνακα. Υπάρχει δυνατότητα να εμφανίσω μόνο τα πεδία που το όνομά τους (όχι το περιεχόμενο) αρχίζει από "a"? Δηλαδή μια εντολή του τύπου SELECT a* , SELECT a% ; |
SELECT * FROM MYTABLE WHERE ((onomapediou1.MYTABLE) LIKE *a) and ((onomapediou2.MYTABLE) LIKE *b) klp klp klp |
Ευχαριστώ για την απάντηση! Δεν την πολυκατάλαβα όμως... Μάλλον δεν είναι αυτό που ζητάω: Ο πίνακας MYTABLE έχει τα πεδία a1, a2, a3, a4, e1,e2,e3,e4. Πως θα γίνει το ερώτημα με τη select για να εμφανισθούν μόνο τα πεδια a1,a2,a3,a4? ΥΓ: Δεν το κάνω ως απλό ερώτημα γιατί τα πεδία του πίνακα σίγουρα ξεκινούν απο "a" αλλά δεν είναι σίγουρα τα υπόλοιπα ψηφία. Μπορεί να είναι πχ a24... ( Τα πεδία του πίνακα μεταβάλλονται από το χρήστη αλλά σίγουρα ξεκινάνε από "a") |
select mytable.a1, mytable.a2, mytable.a3, mytable.a4,from mytable where ((a2.mytable) like b*) Το παραπάνω θα σου επιστρέψει τα πεδία a1,a2,a3,a4 ως στήλες εαν το περιεχόμενο του a2 ξεκινάει απο b Φιλικά, Άγγελος |
Δεν είναι αυτό που ζητάω Άγγελε! Μάλλον πάλι δεν έκανα σωστά την ερώτηση: Δεν με ενδιαφέρει το περιεχόμενο αλλά το όνομα των πεδίων Με τη select mytable.a1, mytable.a2, mytable.a3, mytable.a4 θα πάρω σωστά αποτελέσματα αλλά δεν ξέρω το ακριβές όνομα των πεδίων για το προκαθορίσω! Ξέρω μόνο ότι ξεκινάνε από a!!! χρειάζομαι κάτι σαν select mytable.a* για να "πιάσω" όλες τα δυνατά ονόματα: a1,a2,a20 κλπ |
Γιάννη καλησπέρα! Δεν μπορείς μέσω SQL να προσθαφαιρείς πεδία σε ερώτημα επιλογής και μάλιστα με κριτήρια. Ίσως χρειαστεί να επανασχεδιάσεις τη δομή των πινάκων σου έτσι που να μη χρειάζεται να μεταβάλλονται τα ονόματα πεδίων από το χρήστη(!!!) Αν δεν υπάρχει κάποια διαφορετική προσέγγιση από μέρους σου, προτείνω τον παρακάτω κώδικα VBA που δημιουργεί το ερώτημα εκ νέου σε κάθε του εκτέλεση: Κώδικας: Function Create_Query(TableName As String, QueryName As String, SearchLetters As String)"Table1" = Το όνομα του πίνακα με τα πεδία α1,α2 κτλ. "Query1" = Το όνομα του ερωτήματος που θα δημιουργηθεί. "a*" = Το γράμμα ή τα γραμματα που αποτελούν το κριτήριο. ("*ast" , "*a*" , "a*" κτλ.) Καλή συνέχεια! Τάσος |
Μάλλον λάθος κατάλαβα εγώ... Η λύση που σου πρότεινε ο Τάσος ίσως σε καλύψει... Προσωπικά δεν μπορώ να σε βοηθήσω, αν και είμαι περίεργος γιατί χρειάζεσαι κάτι τέτοιο... Πως γίνεται να μην ξέρεις τα πεδία του πίνακά σου? Μήπως η σχεδίασή σου, όπως είπε και ο Τάσος δεν είναι σωστή? Φιλικά, Άγγελος |
Καλησπέρα Τάσο! Αν και "ζαλίστηκα" προσπαθώντας να "ερμηνεύσω" τον κώδικά σου, θα κοιτάξω να τον υλοποιήσω! Φίλε Άγγελε, Ο πίνακας θα δημιουργείται από διαφορετικά excel και γι αυτό δεν είναι σταθερό το όνομα των πεδίων... προσπαθώ να είναι όσο το δυνατόν παραμετροποιημένη η δημιουργία του! Ευχαριστώ για τη βοήθεια!!! |
Τάσος THE Best! Δουλεύει άψογα! Κάτι τέτοιο είχα στο μυαλό μου!!!! :yahoo::yahoo::yahoo: Ελπίζω να καταφέρω και τα υπόλοιπα που έχω στο μυαλό μου! :sntoup: Ευχαριστώ και πάλι!! |
Καλημέρα σε όλους! Το ίδιο "τραγούδι" αλλά σε λίγο διαφορετική εκτέλεση: :rock: Κώδικας: Function GetFlexQuery(TableName As String, _Τα λέμε! Γιάννης |
Καλημέρα στην παρέα Γιάννη είδα το θαυμάσιο κώδικά σου. Νομίζω όμως ότι το πεδίο Fields(0) περιλαμβάνεται στο ερώτημα δύο φορές με παρενέργειες και στο αποτέλεσμα, όταν παραλείπεται το Pattern. Φιλικά/ Γιώργος |
Καλησπέρα Γιώργο και σ' ευχαριστώ για τα καλά σου λόγια! :happy: Με τις χρήσιμες (όπως πάντα) παρατηρήσεις σου, το "τραγούδι", μου βγήκε λίγο ...HEAVY METAL :metalo: όμως ο "στοίχος" του, νομίζω πως έγινε πολύ πιο στιβαρός από τον πρωινό. Ελπίζω να το απολαύσεις...:003: Κώδικας: Function GetFlexQueryEx(TableName As String, _όταν δεν υπάρχει πεδίο με όνομα που να ταιριάζει στο υπόδειγμα (Pattern).:unsure: Νομίζω όμως πως δεν είναι και τόσο σημαντικό μιας και πρόκειται για διαγραφή ερωτήματος και όχι πραγματικών δεδομένων. Φιλικά, Γιάννης |
Καλησπέρα κι από μένα! Επιτρέψτε μου να κάνω μια παρέμβαση που έχει καθαρά τεχνικό χαρακτήρα. 1) Γιατί να χρησιμοποιείται η μέθοδος OpenRecordset για να ανοίξει πίνακα που μπορεί να περιέχει περισσότερα MB δεδομένων (μη παραγωγικό) όταν από τον δεύτερο ζητάμε μόνο τα ονόματα των πεδίων του; Νομίζω ότι το WizHook είναι πιο αποδοτικό. 2) Νομίζω ότι είναι καλύτερα αντί για: Κώδικας: ...Set flds = CurrentDb.TableDefs(TableName).OpenRecordset.Fields...Κώδικας: With CurrentDb.TableDefs(TableName).OpenRecordsetΦιλικά Τάσος |
Καλησπέρα στην παρέα Γιάννη και βέβαια χάρηκα το νέο κώδικα. Είναι πολύ πιο στιβαρός χωρίς να χάνει την αρμονία του. Μια σκέψη, επειδή η συνάρτηση (ανάλογα με τα ορίσματα) δίνει διάφορα αποτελέσματα, αν ο τύπος της ήταν variant, ίσως να μπορούσαμε να χειριστούμε ευκολότερα τις διάφορες περιπτώσεις. Φιλικά/Γιώργος |
Καλησπέρα ξανά στην παρέα Μόλις διάβασα και τις τεχνικές επισημάνσεις του Τάσου. Το πρόβλημα αναφέρεται στη δομή (σχήμα) της βάσης δεδομένων. Γιατί δε χρησιμοποιούνται τα αντικείμενα της βιβλιοθήκης ADOX που έχει δημιουργηθεί για το σκοπό αυτό; Φιλικά/Γιώργος |
Καλησπέρα! Τάσο μου, όσον αφορά την πρώτη παρατήρηση, έχεις εν μέρει δίκιο αλλά το ότι δεν ανοίγουμε εμείς ρητά το Recordset αυτό δεν σημαίνει πως δεν το κάνει και η μέθοδος του WizHook. Αλλά ακόμη κι αν δεν το κάνει, για ποιον λόγο να δώσουμε τον έλεγχο σε μια μη τεκμηριωμένη βιβλιοθήκη και να χρησιμοποιούμε πίνακες από Variants παιδεύοντας τη VBA με τη διαστασιολόγησή τους, όταν μπορούμε να πάρουμε μια μόνο από τις, πιθανώς εκατομμύρια, εγγραφές του πίνακα; Μήπως τελικά είναι πιο απλό και πιο αποδοτικό αν πούμε απλά και μόνο... Κώδικας: Set flds = CurrentDb.OpenRecordset("Select Top 1 * From " & TableName).FieldsΌσο για την δεύτερη, αν και η VBA είναι μια πολύ ελαστική και βολική γλώσσα στο θέμα της δημιουργίας και καταστροφής αντικειμένων, ...έχεις απόλυτο δίκιο. :blushing: Είναι καλό να κλείνουμε και να καταστρέφουμε ρητά τα αντικείμενα που δημιουργούμε όμως αυτή η γλώσσα μας έχει κακομάθει λίγο...:001_rolleyes: Γιώργο, η επιστρεφόμενη τιμή της συνάρτησης καθορίζεται από την εντολή: Κώδικας: Set GetFlexQueryEx = rsΤι ακριβώς εννοείς όμως με το "διάφορα αποτελέσματα" και το "διάφορες περιπτώσεις" και πως φαντάζεσαι πως θα μπορούσαμε να τις χειριστούμε; |
Γιάννη recordset επιστρέφεται μόνο όταν υπάρχει ο πίνακας και τα πεδία του ταιριάζουν με το μοτίβο (pattern). Σε κάθε μία από τις άλλες περιπτώσεις (δεν υπάρχει πίνακας, υπάρχει αλλά δεν έχει ταιριαστά πεδία, βρέθηκε ή όχι το ερώτημα) θα μπορούσε να αντιστοιχιστεί μια άλλη τιμή στη συνάρτηση που θα μας έδινε πληροφορίες και πιθανόν να βοηθούσε και στη διαμόρφωση του κώδικα. |
Καλησπέρα σε όλους!!!! Χαίρομαι που η άγνοιά μου επέφερε μια τοσο σημαντική ανταλαγή απόψεων!!! Εγώ :wall: δεν μπορώ σας παρακολουθήσω! Μπορώ όμως να σας... δυσκολέψω :011:: -Εφτιαξα το flexy ερώτημα με το κώδικα του Τάσου... -Καθόρισα μια σχέση: το ερωτημα με τον πίνακα -Εφτιαξα μια φόρμα: στο πάνω μέρος κάποια πεδία του πίνακα, στο κάτω μέρος τα πεδία του ερωτήματος (μια εγγραφή κάθε φορά) Εδω είναι το πρόβλημα: Οταν αλλάξουν τα πεδία με το νέο τρέξιμο του ερωτήματος, η φόρμα περιμένει τα παλιά πεδία! Υπάρχει δυνατότητα και για auto update της φόρμας ??? ΥΓ: Πραγματικά σας συγχαίρω για την επιμονή σας :handshake: |
Καλησπέρα Γιαννη! Θα σου πρότεινα να κάνεις τα εξής:
Κώδικας: Function Create_Query(TableName As String, QueryName As String, SearchLetters As String)
Κώδικας: Private Sub cmdRefresh_Click()Τάσος |
Παράθεση:
Θέλεις να επιστρέφει τον τύπο του σφάλματος, εξαιτίας του οποίου δεν δημιουργήθηκε το RecordSet. Επειδή όμως οι Variants για τον nisgia είναι ό,τι και για τον διάολο το λιβάνι, θα προτιμούσα αυτή η τιμή να περνάει σε ένα ακόμη όρισμα τύπου Long, περασμένο δια αναφοράς (ByRef) το οποίο θα έπαιρνε την τιμή του Err στο σημείο σφάλματος. Εκεί δηλαδή που τώρα είναι τα μηνύματα ενημέρωσης σφάλματος. Έτσι η διαδικασία που καλεί τη συνάρτηση, θα έχει την ευκαιρία να εξετάσει τον αριθμό σφάλματος όταν η τιμή της συνάρτησης ισούται με Nothing. Ελπίζω να με καταλαβαίνεις... Φίλε Γιάννη, αν μας δώσεις να καταλάβουμε τι προσπαθείς να κάνεις, είμαι σίγουρος πως θα μπορέσουμε να σε βοηθήσουμε να βρεις μια πιο κανονικοποιημένη λύση για το επιχείρημά σου. Είναι φως φανάρι πως πρόκειται για θέμα κακού σχεδιασμού. Καλό ξημέρωμα! Γιάννης |
Καλημέρα στην παρέα Γιάννη (nisgia) συμφωνώ απόλυτα. Φιλικά/Γιώργος |
Παράθεση:
Η ADOX είναι όντως μια πάρα πολύ καλή λύση. Ωστόσο, γιατί να φορτώσουμε μια επιπλέον βιβλιοθήκη, αφού η ίδια η Access μέσα από τις ήδη φορτωμένες βιβλιοθήκες της μας παρέχει τα ανάλογα εργαλεία; Εγώ προσωπικά χρησιμοποιώ την ADOX (σε αυτοματισμούς που σχετίζονται με πίνακες/ερωτήματα της Access) μέσα από Word, Excel, Outlook κτλ. (βλ. μήνυμα: http://www.ms-office.gr/forum/excel-...eia-excel.html ) Να είστε καλά! Τάσος |
Καλημέρα στην παρέα Θα προσπαθήσω να περιγράψω το πρόβλημα του Γιάννη, όπως το κατάλαβα από την μέχρι τώρα συζήτηση: 1. Από το excel εισάγονται δεδομένα σε ένα πίνακα με σταθερό όνομα (Table1). Το πλήθος των πεδίων και το όνομα είναι μεταβλητό (σε κάθε εισαγωγή από το excel μπορεί να αλλάζει). 2. Θέλει από τον πίνακα Table1, να επιλέγει, σύμφωνα με κάποια κριτήρια, ορισμένα πεδία και να εμφανίζει τα δεδομένα τους σε μία φόρμα. Το πρόβλημα της εισαγωγής λύθηκε έξυπνα από το Τάσο και το Γιάννη στη συνέχεια. Με τις λύσεις που δόθηκαν αρχικά δημιουργείται ένα αποθηκευμένο ερώτημα (Query1) με τα επιθυμητά πεδία. Μέχρι εδώ το Query1, σε κάθε άνοιγμα, μπορεί να έχει διαφορετικό πλήθος πεδίων με διαφορετικά ονόματα. Η δημιουργία συνεπώς μιας φόρμας με τον κλασικό τρόπο δεν είναι δυνατή. Με τη δεύτερη λύση του Τάσου στα πεδία του Query1 δίνονται σταθερά ονόματα. Εδώ όμως κάποια πράγματα δεν τα καταλαβαίνω (Τάσο χρειάζομαι φροντιστήριο): 1. Πως θα προσδιορίσουμε το πλήθος των ονομάτων (τιμών) στον πίνακα tblFormNames; 2. Πως θα δημιουργήσουμε τη φόρμα αφού το πλήθος των πεδίων είναι μεταβλητό; Τελικά αν το πρόβλημα είναι όπως το παρουσιάζω, έχω την εντύπωση, ότι η φόρμα πρέπει να δημιουργείται δυναμικά (με κώδικα) Φιλικά/Γιώργος |
1 Συνημμένο(α) Καλημέρα κι από μένα! Αυτό που εξαρχής εγώ υπέθεσα (μιας και ο Γιάννης αρνείται μέχρι τώρα να μας πει) είναι πως ο Γιάννης προσπαθεί να κάνει ένα ιστορικό αλλαγών κάποιων περιοχών του EXCEL χρησιμοποιώντας λανθασμένα, τις διευθύνσεις των κελιών ως πεδία.:icon_baby: Μέχρι όμως να μας αποκαλύψει τα σχέδιά του ο Γιάννης, εμείς δεν έχουμε παρά να ασχολούμαστε με τα αποτελέσματα και όχι με την αιτία του προβλήματος.:hammer-smilies-0002 Τα αποτελέσματα λοιπόν, νομίζω πως κατά κάποιο τρόπο μπαλώνονται με την τεχνική της κατά το χρόνο εκτέλεσης ρύθμισης της προέλευσης του κάθε πεδίου της φόρμας. Αφού λοιπόν το ερώτημα επιλογής πεδίων είναι απλά ένα υποσύνολο του πίνακα "Table1", γιατί να μην βασιστεί η φόρμα σε αυτόν τον πίνακα και απλά τα πεδία της να αλλάζουν προέλευση στοιχείου ελέγχου με βάση τα κριτήρια αναζήτησης πεδίων; Αυτό ακριβώς γίνεται στο παράδειγμα που επισυνάπτω (FlexForm.zip). Δείτε το αν θέλετε και τα ξαναλέμε... Γιάννης |
Παράθεση:
Γιώργο μου, πρότεινα τη λύση αυτή υποθέτοντας ότι πρόκειται για σταθερό πλήθος πεδίων στη φόρμα και ότι τα πεδία από την Excel ( τα *a) έχουν μια σταθερή σειρά και μορφή. Με τον κώδικα αυτό δημιουργείται ένα ερώτημα που έχει τόσα "*a" όσες και οι εγγραφές του πίνακα "tblFormNames". Παρ όλα αυτά δεν κατανοώ γιατί δεν μπορούν να ετοιμαστούν οι στήλες ή οι επικεφαλίδες ενός πίνακα Excel έτσι που να εισάγονται χωρίς να δημιουργούν την ανάγκη αναζήτησης για ακραίες λύσεις. Τα λέμε λοιπόν Τάσος |
Καλησπέρα σε όλους τους φίλους!!!! Χαίρομαι υπερβολικά για τον διάλογο!!!!:045: Εχοντας ως βασικό κανόνα οτι πειραματίζομαι για να μάθω, ας βάλουμε λοιπόν τα πράγματα σε μια σειρά.... Ο πίνακας έχει στοιχεία μισθοδοσίας: -40 περίπου πεδία με τυπικά στοιχεία (ονομα, επώνυμο, ΑΦΜ κλπ) -30 πεδία με αποδοχές -40 πεδία με κρατήσεις Τα στοιχεία υποβάλλονται απο τις υπομονάδες σε μορφή excel. Το πιο απλό (αυτό έχω σήμερα) είναι να φτιάξω μια φόρμα με τα 110 πεδία και να ξεμπερδέψω! Εχουμε όμως και το εξής δεδομένο: Η κάθε υπομονάδα έχει τελείως διαφορετικές αποδοχές (συνήθως όχι πάνω από 10) και κρατήσεις (μέγιστο 15) ανάλογα με το τύπο του εργαζόμενου σ αυτή. Σκέφτηκα λοιπόν να προσπαθήσω να φτιάξω το ερώτημα και τη φόρμα που θα "βλέπει" (για οικονομια χώρου) μόνο τα απαραίτητα στοιχεία της υπομονάδας!!! Ετσι λοιπον, αφήνω σταθερά τα τυπικά στοιχεία, κωδικοποιώ την ονοματοδοσία των πεδίων με τις αποδοχές ως "apodoxes_8011, apodoxes_8012" κλπ, τις κρατησεις ως "kratiseis_002, kratiseis_003" με τον κάθε αριθμό _8011, _002 κλπ να αντιστοιχεί σε συγκεκριμένο είδος αποδοχών και κρατήσεων! Θέλω να ανοίγω λοιπόν τη φόρμα και να βλέπω όσο το δυνατόν λιγότερα στοιχεία! Υπάρχουν εργαζόμενοι με μόνο ένα πεδίο αποδοχών ("Μισθός") και ένα πεδίο κρατήσεων ("ΙΚΑ") Γι αυτό έψαχνα ερώτημα-φίλτρο και φόρμα-φίλτρο... Μια πρόχειρη ματιά λόγω έλλειψης χρόνου (οικογενειακές υποχρεώσεις!) που έριξα στη φόρμα του nisgia ίσως με καλύψει... Ελπίζω να σας έδωσα να καταλάβετε με τι περίπου ασχολούμαι... Κάθε ιδέα ευπρόσδεκτη!!!! ΥΓ Η βάση αφορά 24 υπομονάδες με 120 εργαζόμενους και περιέχει αρκετούς πίνακες για στατιστικούς λόγους... |
Καλησπέρα Γιάννη! Τώρα που μας κατατόπισες πλήρως, θα πρότεινα να "προετοιμάσεις" τα δεδομένα των πινάκων της Excel σε ένα ή περισσότερα "συγκεντρωτικά φύλλα" τα οποία θα τα συνδέσεις στην Access χωρίς κανένα πρόβλημα! Να χτυπήσεις δηλαδή το κακό στη ρίζα του.:dft012: Μέσα από την εφαρμογή της Excel, μπορεί κανείς με σχετικά απλές μεθόδους να δημιουργήσει όπως προανέφερα συγκεντρωτικά φύλλα, που θα δίνουν αυτόματα στα δεδομένα τέτοια μορφή ώστε η σύνδεση τους στη βάση σου αλλά και η περεταίρω επεξεργασία τους να αποτελούν μια απλή ρουτίνα. Βέβαια το πως θα γίνει κάτι τέτοιο θα μπορούμε να σου το πούμε αφού γνωρίσουμε τη δομή των πινάκων Excel που έχεις. Φιλικά Τάσος |
Καλησπέρα και πάλι!!! Παρασκευή βράδυ και η γυναίκα μου μού ζητάει ευγενικά :031: με κάθε τρόπο :hit: και μέσο :fryingpan: να βγούμε... Επανέρχομαι Τάσο!!! |
Καλημέρα σε όλους!!! Τάσο, περιγράφω αναλυτικότερα τη βάση: -Πίνακας με 110 (όλα τα δυνατά )πεδία, της μορφής: aa, code, name, afm, ..., ...., misthos, yperories, bonus, ...,....,foros, tsmede,ika κλπ κλπ... -Φόρμα με 110 πεδία - Αρχεία excel που στέλνουν οι υπομονάδες, της μορφής: (αρχείο1, υπομονάδα εργοδηγών) aa | code | misthos | ika | 1 | ΕΡ-01 | 732,00 | 322,53| κλπ...κλπ... (αρχείο2, υπομονάδα ηλεκτρολόγων) aa | code | misthos |yperories| tsmede | 1 | ΗΛ-01 | 1064,00 | 244,00 | 480,00 | κλπ...κλπ... Με ένα ερώτημα ενημερώνεται ο πίνακας και τα στοιχεία εμφανίζονται στη Φόρμα των 110 πεδίων!!! Τα στοιχεία του πίνακα χρησιμοποιούνται απ το λογιστήριο για εκτύπωση συγκεντρωτικών καταστάσεων ανα περίοδο, ανα έξοδο, ανά υπομονάδα (για έλεγχο και... περικοπή!) Δουλεύει καλά μέχρι τώρα αλλά δεν μου αρέσει.... Θέλω να ελατώσω τα πεδία που εμφανίζονται στη φόρμα, να βλέπω δηλαδή μόνο όσα έχει η υπομονάδα... Γι αυτό έκανα ερώτηση στο φορουμ ψάχνοντας flexy-ερώτημα... Μάλλον ήθελα flexy-φόρμα (δεν πήγε καν το μυαλό μου)! Θα με βόλευε να είχα 24 διαφορετικούς πίνακες και αντίστοιχες φόρμες, αλλά δεν νομίζω οτι είναι λύση! Θα μελετήσω τη FlexForm του nisgia... Καμμιά άλλη πρόταση? |
Καλησπέρα στην παρέα Γιάννη ενώ γράφεις θαυμάσια, στην περιγραφή του προβλήματός σου μάλλον δεν είσαι σαφής. Μια καλύτερη ενημέρωση θα ήταν της μορφής (την αναλύω γιατί μπορεί να πάρεις και κάποιες ιδέες για την οργάνωση των δεδομένων σου): Α. Για τα στοιχεία του excel 1. Έχω 20 υποομάδες (περιπτώσεις) και κάθε μήνα παίρνω δεδομένα σε 20 διαφορετικής δομής φύλλα δεδομένων. 2. Δημιούργησα ένα βιβλίο με 20 φύλλα ένα για κάθε υποομάδα, όπου αντιγράφω τα δεδομένα που μου στέλνουν. Για να μη γίνει βαρύ το βιβλίο μπορεί να δημιουργηθούν 20, ένα για κάθε υποομάδα. 3. Δημιούργησα 20 συγκεντρωτικούς πίνακες, έναν για κάθε υποομάδα, όπου μπορώ να δω και να εκτυπώσω τα στοιχεία ανά έξοδο, υποομάδα, εργαζόμενο, κλπ. Επειδή το excel δε με καλύπτει χρησιμοποιώ και την access. Β. Για τα στοιχεία της access (Ακολουθούν τα στοιχεία για την acces). Από ότι κατάλαβα μέχρι τώρα η acces δεν σου προσφέρει τίποτα. Το να έχεις μια φόρμα μόνο και μόνο για να δεις κάποια στοιχεία (επεξεργασία δε γίνεται) είναι περιττό αφού μέσα από το excel αυτή τη δουλειά μπορείς να την κάνεις καλύτερα και ευκολότερα. Σε συμβουλεύω να μελετήσεις καλύτερα την πρόταση του Τάσου γιατί μπορεί να σε βοηθήσει να αυτοματοποιήσεις πολλές επιμέρους εργασίες και να σκεφτείς επίσης τη μεταφορά ολόκληρης της εφαρμογής στην access. Φιλικά/Γιώργος |
Και μια άλλη ιδέα: Αφού δημιοργείται ο πίνακας των 120 πεδίων, πολύ εύκολα μπορεί να δημιουργθεί με τον οδηγό) μια φόρμα συγκεντρωτικού πίνακα (μπορούμε να έχουμε τα στοιχεία και σε γράφημα) όπου μπορούμε να κρύβουμε στήλες και να εφαρμόζουμε διάφορα φίλτρα. |
Καλησπέρα Γιώργο! Εχεις δίκιο για την ασάφεια... Οφείλεται στη δικιά μου άγνοια περι access για να περιγράψω το πρόβλημα! Από τη βάση παίρνουμε κατα κύριο λόγο συγκεντρωτικά στοιχεία από όλους τους εργαζομένους, πχ το κόστος των υπερωριών σε σχέση με το χρονοδιάγραμμα υλοποίησης του έργου, ή το συνολικό κόστος ΙΚΑ κλπ κλπ. Δεν γίνεται κάποια άλλη επεξεργασία. Ο υπολογισμός της μισθοδοσίας γίνεται από τις υπομονάδες με excel. Θέλω κάποια στιγμή να τα κάνω όλα με access... Οταν το αποφασίσω, πρέπει να πάρω τη διαβεβαίωση του διαχειριστή του φόρουμ ότι έχει αρκετα TB διαθέσιμα, γιατί θα έχω πολλές απορίες!!!! ΥΓ. Στους συμμετέχοντες των αποριών μου, διανέμονται δωρεάν αγχολυτικά-αντικαταθλιπτικά-ηρεμιστικά... |
Καλημέρα στη παρέα! Φίλε Γιάννη, μην χάνεις άλλο χρόνο μελετώντας flexy φόρμες και ερωτήματα εκατοντάδων πεδίων. Αυτό που θέλεις, στην Access υλοποιείται πολύ εύκολα και αποτελεσματικά. Ξεκίνα να φτιάχνεις τη βάση σου δημιουργώντας έναν πίνακα για κάθε οντότητα ξεχωριστά. Οι εργαζόμενοι, οι ειδικότητες, οι μισθοί και οι κρατήσεις για παράδειγμα, είναι 4 ανεξάρτητες οντότητες, τα στοιχεία των οποίων θα πρέπει να αποθηκευτούν σε αντίστοιχους πίνακες. Οι βάσεις δεδομένων δεν διαφέρουν και πολύ από τον πραγματικό κόσμο. Αντιθέτως έχουν τεράστιες ομοιότητες και όσο τις μαθαίνεις, ανακαλύπτεις πως στην πραγματικότητα, μαθαίνεις την ίδια τη δομή του κόσμου στον οποίο ζεις αλλά ποτέ δεν είχες δώσει σημασία.:noexpression: Ξεκινώντας λοιπόν τη βάση σου με αυτή τη λογική, θα δεις ότι τα επόμενα βήματα θα είναι πολύ εύκολα και η υλοποίηση μιας στιβαρής, ασφαλούς και αποδοτικής εφαρμογής θα είναι ένα φυσικό και λογικό αποτέλεσμα. Κάνε εσύ λοιπόν το πρώτο βήμα με εφόδια τα παραπάνω και μην ανησυχείς... Δεν θα ξοδευτείς καθόλου σε... αγχολυτικά-αντικαταθλιπτικά-ηρεμιστικά... :cool: Φιλικά, Γιάννης |
Καλησπέρα σε όλους! Ευχαριστώ για τις συμβουλές σου Γιάννη!! Μόλις βρω τον απαραίτητο χρόνο, θα επιχειρήσω να σχεδιάσω απ την αρχή τη βάση! Νομίζω ότι έτσι θα είναι καλύτερα... Φιλικά Γιάννης |
Ξεκίνα εσύ Γιάννη και εδώ είμαστε εμείς!:001_smile: Να θυμάσαι μόνο πως στον πίνακα της κάθε οντότητας, θα πρέπει να διατηρούμε μόνο τα στοιχεία (πεδία) που περιγράφουν πλήρως την οντότητα. Ένας εργαζόμενος για παράδειγμα, χαρακτηρίζεται από τα αυστηρώς προσωπικά του στοιχεία και τα στοιχεία της ειδικότητάς του και όχι από το ταμείο ασφάλισής του. Όταν κρατάς άσχετα με την οντότητα στοιχεία σε έναν πίνακα, είναι σαν να κουβαλάς πάντα μαζί σου το εκλογικό σου βιβλιάριο (αν είχες) και το απολυτήριο στρατού.:crazy2: Ή σαν να σου κάνει έλεγχο η τροχαία και να σου ζητούν την άδεια αλιείας...!!! :laugh: Τα λέμε! Γιάννης |
| Η ώρα είναι 20:11. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.