Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Δημιουργία φακέλου με επιλογή της διαδρομής στο δίσκο"C" από τον χρήστη.
Καλησπέρα. Στο συνημμένο που ανέβασα υπάρχει ένα cmd "Δημιουργία φακέλου" στη Φόρμα, με το οποίο μπορούμε να δημιουργήσουμε έναν φάκελο σε συγκεκριμένη διαδρομή του δίσκου πχ. ► "C:\Users\Admin\Desktop\" Η διαδρομή αυτή έχει οριστεί στον Κώδικα εκ των προτέρων (προεπιλεγμένη): --------------------------------------------------------------------------------------- Option Compare Database Option Explicit 'Βασικός φάκελος Const strParentFolder As String = "C:\Users\Admin\Desktop\" --------------------------------------------------------------------------------------- Θα ήθελα, κάνοντας κλικ στην εντολή cmd "Δημιουργία φακέλου" να αναδύεται ένα άλλο παράθυρο μέσω του οποίου να επιλέγει ο χρήστης τη διαδρομή που θα δημιουργηθεί ο φάκελος. Δηλαδή, η διαδρομή να μην είναι προεπιλεγμένη. Σας ευχαριστώ εκ των προτέρων |
#2
| |||
| |||
Καλησπέρα. Συμπληρωματικά, σχετικώς με το παραπάνω ερώτημά μου, σας γνωρίζω και τα ακόλουθα: Βρήκα στο Forum που μας φιλοξενεί, μιά παρόμοια περίπτωση σχετική με αυτό που προσπαθώ να πετύχω,στη διεύθυνση: <<http://www.ms-office.gr/forum/access...-backup-2.html>> Προσπάθησα, να την προσαρμόσω στο παραπάνω συνημμένο χωρίς επιτυχία. Θα ήθελα τη βοήθειά σας ... |
#3
| |||
| |||
Καλησπέρα Για να δημιουργήσουμε ένα φάκελο ή να ανοίξουμε κάποιο, πρέπει να γνωρίζουμε το πλήρες όνομά του. Στην περίπτωσή μας γνωρίζουμε το όνομα του φακέλου, αλλά όχι και τον πατρικό του (πλήρες όνομα). Μπορούμε : 1 Να ορίσουμε σταθερά τον πατρικό (πχ c:\test). Η περίπτωση αυτή δεν παρέχει ευελιξία, αλλά έχει τα πλεονεκτήματα: 1.1 Ξέρουμε εκ των προτέρων, που θα δημιουργούνται οι νέοι φάκελοι. 1.2 Ξέρουμε που θα αναζητήσουμε κάποιο φάκελο για να τον ανοίξουμε. 1.3 Απαιτείται απλούστερος κώδικας. 2 Να επιλέγουμε τον πατρικό από ένα πλαίσιο διαλόγου. Εδώ, ενώ έχουμε ευελιξία, έχουμε και τα μειονεκτήματα: 2.1 Δεν ξέρουμε, εκ των προτέρων, που θα δημιουργηθεί ο φάκελος. 2.2 Μπορούμε τον ίδιο φάκελο να τον δημιουργήσουμε πολλές φορές, σε διαφορετικούς πατρικούς. 2.3 Θα πρέπει να βρούμε ένα τρόπο για να προσδιορίσουμε το πλήρες όνομα του φακέλου, όταν θέλουμε να τον ανοίξουμε. Για την τελευταία περίπτωση 2.3, θα πρέπει: 2.3.1 Ή να προσθέσουμε ένα πεδίο στον πίνακα, όπου θα αποθηκεύεται το πλήρες όνομα του φακέλου, που δημιουργήσαμε. 2.3.2 Ή να ψάξουμε σε όλους τους φακέλους, μέχρι να βρούμε ένα φάκελο με το συγκεκριμένο όνομα. Η διαδικασία αυτή είναι πολύ χρονοβόρα. Στο συνημμένο αρχείο υλοποιείται η περίπτωση 2.3.2. Όταν πατήσουμε το κουμπί για να ανοίξει ο σχετικός φάκελος θα πρέπει να περιμένουμε αρκετά μέχρι να πάρουμε κάποιο αποτέλεσμα. Αν λάβουμε υπόψη ότι η αναζήτηση του φακέλου γίνεται μόνο στον Drive C:,η καθυστέρηση θα ήταν πολύ μεγαλύτερη, αν υπήρχαν και άλλοι Drives (πχ D:, F:, κλπ). Δημήτρη, αφού λάβεις υπόψη τα παραπάνω, εύκολα θα μπορούσες να επιλέξεις τι είναι κατάλληλο για την περίπτωσή σου. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 23-05-16 στις 08:22. Αιτία: Drivers-->Drives |
#4
| |||
| |||
Γιώργο Σε ευχαριστώ γιά το χρόνο και τον κόπο που διέθεσες, προκειμένου να μου δώσεις μιά πλήρη και εμπεριστατωμένη απάντηση σχετικά με το ζητούμενο. Θα μελετήσω την πρότασή σου και θα επανέλθω ... |
#5
| |||
| |||
Γιώργο (Kapetang) Κατόπιν ενδελεχούς μελέτης της πρότασής σου, κατέληξα στο συμπέρασμα να αφήσω την προεπιλεγμένη διαδρομή γιά τη δημιουργία φακέλου, όπως άλλωστε το σχεδίασα απ` την αρχή. Απλώς ξεκίνησα να σκέφτομαι το όλο θέμα όταν, λειτουργώντας τη βάση σε άλλο PC, προκειμένου να δημιουργήσω νέο φάκελο έπρεπε να αλλάξω τη βασική διαδρομή, με συνέπεια να ανοίγω τη βάση σε προβολή σχεδίασης γιά διόρθωση του Κώδικα κλπ. Αυτό ακριβώς προσπαθούσα να πετύχω: Όταν δουλεύει πάνω στη βάση οποιοσδήποτε χρήστης σε οποιοδήποτε PC να μπορεί να δημιουργεί νέο φάκελο χωρίς να επεμβαίνει άμεσα στον κώδικα. Δηλαδή, με άλλα λόγια, να μπορεί να παραμετροποιεί ο χρήστης τη διαδρομή δημιουργίας του φακέλου στο δικό του PC. |
#6
| |||
| |||
Καλησπέρα Δημήτρη, το συνημμένο αποτελεί προσομοίωση του ζητούμενου. Ο πατρικός φάκελος στον οποίο θα δημιουργούνται (και θα αναζητούνται) οι φάκελοι επιλέγεται μία φορά και αποθηκεύεται στο μητρώο (Regsestry) των windows. Έτσι όταν ανοίξουμε την εφαρμογή σε νέο υπολογιστή: 1) Επειδή δεν υπάρχει στο μητρώο καταχώρηση για τον πατρικό φάκελο, ανοίγει το σχετικό πλαίσιο διαλόγου για να τον επιλέξουμε. 2) Η επιλογή που κάνουμε, αποθηκεύεται στο μητρώο. 3) Στη συνέχεια, επειδή υπάρχει καταχώρηση στο μητρώο, δεν ξαναεμφανίζεται το πλαίσιο διαλόγου και η δημιουργία και η αναζήτηση του φακέλου γίνεται στον αποθηκευμένο στο μητρώο πατρικό. Κάνε δοκιμές, μήπως κάτι μου διέφυγε. Φιλικά/Γιώργος |
#7
| |||
| |||
Kαλησπέρα Γιώργο, σ` ευχαριστώ γιά μιά ακόμη φορά γιά τη βοήθειά σου. Έκανα τις δοκιμές μου και διαπίστωσα ότι η μέθοδος αυτή λειτουργεί άψογα. Χωρίς να θέλω να κάνω κατάχρηση και, ενδεχομένως, να γίνω ιδιαίτερα φορτικός θα ήθελα να μου επιτρέψεις να σου θέσω ακόμη δύο ερωτήματα: 1) Μπορούμε να δημιουργήσουμε σε μία άλλη φόρμα της ίδιας βάσης παρόμοια περίπτωση αλλά με διαφορετική διαδρομή (διαφορετικός πατρικός φάκελος); Και τούτο διότι, με την παλιά μέθοδο που χρησιμοποιούσα, δημιουργούσα δυο διαφορετικούς φακέλους στο "C" όπου αποθήκευα στον καθένα ομοειδή έγγραφα. 2) Υπάρχει δυνατότητα (τρόπος) ο χρήστης κάποια στιγμή να μπορεί να αλλάξει τον πατρικό φάκελο που αρχικά δημιούργησε (Χωρίς να παρέμβει άμεσα στο μητρώο); |
#8
| |||
| |||
Καλησπέρα 1) Δημήτρη, με τη βοήθεια των συναρτήσεων SaveSetting και GetSettings, μπορούμε να καταχωρήσουμε στο μητρώο (και να διαβάσουμε) πολλούς πατρικούς φακέλους (διαδρομές Path), όπως φαίνεται και στη συνημμένη εικόνα. Στη συνημμένη ΒΔ έχω προσθέσει και τη φόρμα, Πίνακας2. Η φόρμα Πίνακας2 είναι όμοια με την Πίνακας1 και διαφέρει μόνο ως προς τον πατρικό φάκελο. Στη φόρα Πίνακας1 πατρικός είναι αυτός που αντιστοιχεί στην τιμή Path του μητρώου, ενώ στη φόρμα Πίνακας2 αυτός που αντιστοιχεί στην τιμή Path2. 2) Στις φόρμες έχω προσθέσει και ένα κουμπί για την αλλαγή των αντίστοιχων πατρικών φακέλων. 3) Αν καταχωρηθεί στο μητρώο κάποιος πατρικός φάκελος και μετά τον διαγράψουμε από το σύστημα αρχείων του PC, όταν θα πάμε να δημιουργήσουμε σ' αυτόν κάποιο φάκελο, θα προκληθεί λάθος. Φιλικά/Γιώργος |
#9
| |||
| |||
Kαλημέρα Γιώργο, σ` ευχαριστώ πάρα πολύ γιά την πολλαπλή ενασχόλησή σου με το θέμα μου. Η πρότασή σου αποτελεί υποδειγματική επίλυση του ζητούμενου και λειτουργεί άψογα. Όμως, δεν μπορώ να την προσαρμόσω στη φόρμα μου, παρά τις διάφορες δοκιμές που έκανα και μου είναι ανεξήγητο το γιατί συμβαίνει αυτό. Μου βγάζει "Compile error" (Δες την παρακάτω εικόνα) Τι δοκιμές έκανα: α) Μετέφερα όλα τα δεδομένα της βάσης μου στη βάση "MakeOpenFolder4" ,που ανέβασες τελευταία, και διαπιστωσα ότι, παραδόξως, όλα λειτουργούσαν χωρίς πρόβλημα! β) Δημιούργησα νέα κενή ΒΔ και εισήγαγα όλα τα δεδομένα της βάσης "MakeOpenFolder4" που ανέβασες τελευταία. Αποτέλεσμα: "Compile error" γ) Μετέφερα τη νέα βάση τροποποιημένη με το παράδειγμά σου σε άλλον υπολογιστή τροποποιημένη με το παράδειγμά σου. Αποτέλεσμα: "Compile error" δ) Δημιούργησα νέα κενή ΒΔ, με νέο πίνακα κλπ. και προσάρμοσα τον κώδικα σε αυτή. Αποτέλεσμα: "Compile error" Ανεβάζω αυτή τη ΒΔ να δείς μήπως κάνω λάθος σε κάτι. Συμπερασματικά, ενώ η δική σου ΒΔ (MakeOpenFolder4) λειτουργεί κανονικότατα σε οποιοδήποτε PC, εγώ ότι ότι και να κάνω (παραπάνω περ. β,γ,δ) έχω πρόβλημα. |
#10
| |||
| |||
Καλησπέρα Δημήτρη, απουσιάζει η αναφορά στη βιβλιοθήκη: Microsoft Office 14.0 Object Library. Δες τη συνημμένη εικόνα. Μπορείς: 1) Να προσθέσεις την αναφορά (Editor VBA, Tools, References). 2) Ή να αντικαταστήσεις τη σταθερά msoFileDialogFolderPicker, με το 4. Φιλικά/Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Εμφανιση "Μηνός" και "Έτους" σε πίνακα και ερώτημα | antonib | Access - Ερωτήσεις / Απαντήσεις | 4 | 24-09-12 20:58 |
[Excel07] "Δημιουργία" ημερομηνίας | athfot | Excel - Ερωτήσεις / Απαντήσεις | 10 | 12-09-12 20:05 |
Επιλογή "άκυρο" σε μήνυμα με το κλείσιμο της φόρμας Βackup | alex | Access - Ερωτήσεις / Απαντήσεις | 3 | 14-03-12 10:52 |
[ Πίνακες ] Εμφάνιση πίνακα "παρασκηνίου" στο "προσκήνιο" | PanosPan | Access - Ερωτήσεις / Απαντήσεις | 6 | 12-10-10 15:33 |
[ Εκθέσεις ] Άθροισμα "σε μεταφορά" στο υποσέλιδο και "από μεταφορά" στην κεφαλίδα | prokopino | Access - Ερωτήσεις / Απαντήσεις | 4 | 25-06-10 16:24 |
Η ώρα είναι 00:31.