როგორ შემოვიტანოთ ყველა ფაილი საქაღალდეში თქვენს წვდომის ცხრილში

გააზიარე ახლა:

მონაცემები, მონაცემები, მონაცემები - მის გარეშე მონაცემთა ბაზა საკმაოდ უსარგებლო იქნებოდა. ამიტომ გასაკვირი არ არის, რომ ერთ-ერთი ყველაზე ხშირად დასმული კითხვა, როდესაც საქმე ეხება ამ მონაცემების თქვენს Access ცხრილში(ებში) შეტანას, არის - როგორ შემიძლია გავამარტივო ჩემი ცხოვრება, როდესაც რეგულარულად მიწევს უამრავი (და უამრავი!) ფაილის იმპორტი? რადგან ეს ასეთი გავრცელებული ამოცანაა, ცხადია, ამ კონკრეტული პრობლემის გადაჭრის მრავალი გზა არსებობს, მაგრამ აქ ჩვენ მხოლოდ ერთს განვიხილავთ - ჩემი აზრით, ყველაზე მარტივს - განსაკუთრებით თუ ამას რეგულარულ ან თუნდაც დაგეგმილ ვადებში აკეთებთ. ცოტა დაგეგმვა (და მე ვგულისხმობ ცოტას!) და ცოტა VBA მაგია და მზად იქნებით - განაგრძეთ კითხვა დასაწყებად...

ყველა Excel ფაილის იმპორტი საქაღალდეში

Excel ფაილის იმპორტი წვდომისთვისამ სტატიისთვის ჩვენ განვიხილავთ Excel-ის რამდენიმე ფაილის იმპორტს მოცემულ საქაღალდეში, მაგრამ თქვენ ასევე შეგიძლიათ მარტივად შემოიტანოთ 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(path & "\*.xls") - ანიჭებს ხაზს და ფაილის გაფართოებას მიწოდებულ გზას. მე აღვნიშნავ ამას, რადგან ძალიან ადვილი იქნებოდა კოდის შეცვლა, თუ, მაგალითად, გსურდათ მხოლოდ ფაილების იმპორტი, რომლებიც ემთხვევა კონკრეტულ სახელწოდებას (მაგ. ყველა ფაილი, რომელსაც აქვს „იანვარი“ ან „2017“, როგორც ფაილის სახელი. ). თუ გინდოდათ, შეგიძლიათ ეს ფილტრიც კი დაამატოთ, როგორც პარამეტრი ქვეპროგრამის ზარში.

ყოველ შემთხვევაში, თუ ფაილი შეესაბამება მოცემულ კრიტერიუმებს (ნებისმიერი „.xls“ ფაილი საქაღალდეში ამ შემთხვევაში იყენებს), ის დაუყოვნებლივ ცდილობს ამ ფაილის იმპორტს TransferSpreadsheet ბრძანების გამოყენებით.

სად შეცვალოთ კოდი თქვენს საჭიროებებზე…

სწორედ ამ მომენტში შეგიძლიათ შეცვალოთ კოდი ისე, რომ ცხრილის იმპორტის ნაცვლად, ის მოახდინოს csv ფაილების იმპორტი ("TransferText" ბრძანების გამოყენებით) და ა.შ.

შემდეგ კოდი მოძრაობს მანამ, სანამ ამ საქაღალდეში აღარ იქნება იმპორტირებული ფაილები.

ეს არის კოდის პატარა ნაწილი, მაგრამ დარწმუნებული ვარ, რომ თქვენ კვლავ და ისევ იყენებთ!

ავტორი შესავალი:

მიტჩელ პონდი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის SQL კორუფციის შეკეთება და Excel-ის აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად

გააზიარე ახლა:

კომენტარები დახურულია.