Paano Mag-import ng Lahat ng Mga File sa loob ng isang Folder sa Iyong Access Table

Ipamahagi ngayon:

Ang data, data, data - kung wala ito isang database ay magiging walang silbi. Kaya't hindi nakakagulat na ang isa sa mga most mga madalas itanong pagdating sa pagkuha ng data na iyon sa iyong (mga) talahanayan ng Access ay - paano ko mapapadali ang aking buhay kung kailangan kong regular na mag-import ng maraming (at maraming!) ng mga file? Dahil ito ay isang karaniwang gawain, malinaw naman maraming mga paraan upang mapayat ang partikular na pusa, ngunit dito titingnan namin ang isa lamang - sa palagay ko ang pinakamadali - lalo na kung ginagawa mo ito sa isang regular, o kahit na nakaiskedyul na timeframe. Isang maliit na pagpaplano (at ang ibig kong sabihin ay kaunti!) At isang maliit na mahika ng VBA at magiging mabuti kang pumunta - basahin para makakuha ng started…

Pag-import ng lahat ng mga file ng Excel sa isang folder

I-import ang Excel File Upang Mag-accessPara sa artikulong ito, titingnan namin ang pag-import ng isang bilang ng mga file ng Excel sa loob ng isang naibigay na folder, ngunit madali mo ring mai-import ang mga csv file atbp - tatalakayin namin kung paano baguhin ang code upang mahawakan ang mga file na csv sa ilang sandali.

Una, tukuyin natin kung ano ang nais nating gawin ng code:

"Gusto naming i-import ang lahat ng mga file mula sa isang naibigay na folder sa isang mayroon nang talahanayan - nais din naming tukuyin kung ang mga file ay may isang linya ng header o hindi"

Mukhang sapat na simple, kaya't tingnan natin ang code upang magawa ito:

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

Sinusuri ang mga problema ...

Pag-access sa Korapsyon sa DatabaseBago namin makuha ang detalye tungkol sa kung paano gumagana ang code na ito, mahalagang tandaan na walang error sa pagsuri na kasama sa code sa itaas - sadya ito upang ang code ay mapanatiling madaling mabasa ngunit masidhi kong iminumungkahi na magdagdag ka ng error sa pagkontrol ng code sa iyong database upang mapanatili mo ang mga pagkakataon ng I-access ang katiwalian sa database sa isang minimum!

OK - una muna. Upang mapanatili ang code na magagamit sa iba't ibang mga pangyayari hangga't maaari hinihiling namin ang pangalan ng path (kung saan nakaimbak ang mga file), ang pangalan ng talahanayan na nais mong i-import ang mga file na ito, at kung ang mga file sa folder na ito lahat ay mayroong header o hindi (ibig sabihin, lilitaw ang mga pangalan ng patlang sa unang hilera ng spreadsheet).

Mapapansin mo na ang bahagi ng code na naghahanap ng mga file - Dir (path at "\ *. Xls") - ay nagdagdag ng isang wildcard at extension ng file sa naibigay na path. Nabanggit ko ito sapagkat napakadaling baguhin ang code kung, halimbawa, nais mong i-import lamang ang mga file na tumugma sa isang partikular na kombensyon sa pagpapangalan (hal. Lahat ng mga file na may "Enero", o "2017" bilang bahagi ng pangalan ng file ). Maaari mong, kung nais mong, idagdag pa ang filter na iyon bilang isang parameter sa subroutine na tawag.

Gayunpaman, kung ang isang file na tumutugma sa ibinigay na pamantayan (anumang ".xls" na file sa folder gamit ang sa kasong ito), agad nitong tinatangka na i-import ang file na iyon gamit ang utos ng TransferS nyebarsheet.

Kung saan babaguhin ang code upang umangkop sa iyong mga pangangailangan…

Sa puntong ito na maaari mong baguhin ang code upang sa halip na mag-import ng isang spreadsheet, ini-import nito ang mga file ng csv (gamit ang "TransferText" na utos) atbp

Mag-loop ang code pagkatapos ay walang karagdagang mga file na mai-import sa folder na iyon.

Ito ay isang maliit na piraso ng code, ngunit ang isa na mahahanap mo ang iyong sarili na ginagamit nang paulit-ulit sigurado ako!

Panimula ng May-akda:

Ang Mitchell Pond ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang ayusin ang katiwalian ng SQL at excel mga produkto ng pagbawi ng software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.