Τρόπος εισαγωγής όλων των αρχείων σε έναν φάκελο στον πίνακα πρόσβασής σας

Κοινή χρήση τώρα:

Δεδομένα, δεδομένα, δεδομένα – χωρίς αυτά, μια βάση δεδομένων θα ήταν αρκετά άχρηστη. Δεν αποτελεί έκπληξη λοιπόν το γεγονός ότι μία από τις πιο συχνές ερωτήσεις όσον αφορά την εισαγωγή αυτών των δεδομένων στους πίνακες της Access είναι – πώς μπορώ να κάνω τη ζωή μου ευκολότερη όταν πρέπει να εισάγω τακτικά πολλά (και πολλά!) αρχεία; Καθώς πρόκειται για μια τόσο συνηθισμένη εργασία, υπάρχουν προφανώς διάφοροι τρόποι για να ξεπεράσετε αυτό το πρόβλημα, αλλά εδώ θα εξετάσουμε μόνο έναν – κατά τη γνώμη μου τον ευκολότερο – ειδικά αν το κάνετε αυτό σε τακτικό ή ακόμα και προγραμματισμένο χρονικό πλαίσιο. Λίγος προγραμματισμός (και εννοώ λίγο!) και λίγη μαγεία VBA και θα είστε έτοιμοι – διαβάστε παρακάτω για να ξεκινήσετε…

Εισαγωγή όλων των αρχείων του Excel σε ένα φάκελο

Εισαγωγή αρχείου Excel για πρόσβασηΓια αυτό το άρθρο, θα εξετάσουμε την εισαγωγή ενός αριθμού αρχείων Excel σε έναν δεδομένο φάκελο, αλλά θα μπορούσατε εξίσου εύκολα να εισαγάγετε αρχεία csv κ.λπ. - θα συζητήσουμε πώς να αλλάξετε τον κώδικα για να χειριστείτε αρχεία csv σύντομα.

Αρχικά, ας καθορίσουμε τι θέλουμε να κάνει ο κώδικας:

"Θέλουμε να εισαγάγουμε όλα τα αρχεία από έναν δεδομένο φάκελο σε έναν υπάρχοντα πίνακα - θέλουμε επίσης να καθορίσουμε εάν τα αρχεία έχουν μια κεφαλίδα ή όχι"

Φαίνεται αρκετά απλό, οπότε ας δούμε τον κώδικα για να το κάνουμε αυτό:

Sub ImportfromPath(path As String, intoTable As String, hasHeader As Boolean)

Dim fileName As String

'Loop through the folder & import each file
fileName = Dir(path & "\*.xls")
While fileName <> ""
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader
   'check whether there are any more files to import
    fileName = Dir()
Wend

End Sub

Έλεγχος για προβλήματα…

Πρόσβαση σε καταστροφή βάσης δεδομένωνΠροτού αναφερθούμε στις λεπτομέρειες σχετικά με τον τρόπο λειτουργίας αυτού του κώδικα, είναι σημαντικό να σημειωθεί ότι δεν περιλαμβάνεται έλεγχος σφαλμάτων στον παραπάνω κώδικα - αυτό είναι σκόπιμο, ώστε ο κώδικας να διατηρείται εύκολα αναγνώσιμος, αλλά προτείνω να προσθέσετε κώδικα διαχείρισης στη βάση δεδομένων σας, ώστε να διατηρείτε τις πιθανότητες Πρόσβαση σε καταστροφή βάσης δεδομένων στο ελάχιστο!

Εντάξει - πρώτα πράγματα πρώτα. Για να διατηρήσουμε τον κώδικα όσο το δυνατόν πιο χρήσιμο σε διαφορετικές περιστάσεις, ζητάμε το όνομα της διαδρομής (όπου αποθηκεύονται τα αρχεία), το όνομα του πίνακα στον οποίο θέλετε να εισαγάγετε αυτά τα αρχεία και εάν όλα τα αρχεία σε αυτόν το φάκελο έχουν όλα κεφαλίδα ή όχι (δηλαδή εμφανίζονται τα ονόματα των πεδίων στην πρώτη σειρά του υπολογιστικού φύλλου).

Θα παρατηρήσετε ότι το μέρος του κώδικα που αναζητά αρχεία - Dir (διαδρομή & "\ *. Xls") - προσθέτει μια μπαλαντέρ και επέκταση αρχείου στην παρεχόμενη διαδρομή. Το αναφέρω αυτό καθώς θα ήταν πολύ εύκολο να αλλάξετε τον κώδικα εάν, για παράδειγμα, θέλετε να εισαγάγετε μόνο αρχεία που ταιριάζουν με μια συγκεκριμένη σύμβαση ονομασίας (π.χ. όλα τα αρχεία που έχουν "Ιανουάριος" ή "2017" ως μέρος του ονόματος αρχείου ). Θα μπορούσατε, αν θέλετε, να προσθέσετε ακόμη και αυτό το φίλτρο ως παράμετρο στην κλήση υπορουτίνας.

Τέλος πάντων, εάν ένα αρχείο ταιριάζει με τα δεδομένα κριτήρια (οποιοδήποτε αρχείο ".xls" στο φάκελο χρησιμοποιώντας το σε αυτήν την περίπτωση), προσπαθεί αμέσως να εισαγάγει αυτό το αρχείο χρησιμοποιώντας την εντολή TransferSpreadsheet.

Πού να αλλάξετε τον κωδικό που ταιριάζει στις ανάγκες σας…

Σε αυτό το σημείο θα μπορούσατε να αλλάξετε τον κώδικα έτσι ώστε αντί να εισαγάγετε ένα υπολογιστικό φύλλο, εισάγει αρχεία csv (χρησιμοποιώντας την εντολή "TransferText") κ.λπ.

Στη συνέχεια ο κώδικας βγαίνει μέχρι να μην υπάρχουν άλλα αρχεία για εισαγωγή σε αυτόν το φάκελο.

Είναι ένα μικρό κομμάτι κώδικα, αλλά αυτό που θα ξέρεις ξανά και ξανά είμαι σίγουρος!

Εισαγωγή συγγραφέα:

Ο Mitchell Pond είναι ειδικός στην ανάκτηση δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων επιδιορθώστε την καταστροφή του SQL και υπερέχουν προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com

Κοινή χρήση τώρα:

Τα σχόλια είναι κλειστά.