Ang mga naka-link na talahanayan ay maaaring maging kapaki-pakinabang (bagaman hindi sa lahat ng oras ng kurso) - lalo na kapag nakikipag-usap ka sa panlabas na impormasyon na regular na nagbabago. Ang isang tipikal na halimbawa ay maaaring kapag binigyan ka ng isang supplier ng access sa kanilang kasalukuyang buwanang file ng presyo. Ngunit ano ang mangyayari kapag na-isyu nila ang file sa susunod na buwan, at nagbago ang pangalan ng file mula sa "Pricelist-01-01-2016" patungong "Pricelist-01-02-2016"? Ang unang bagay na mangyayari ay masisira ang iyong link, kaya kailangan mong manu-manong i-update ito. Sa tuwing binabago nila ang pangalan ng file. Napupunta din iyon sa mga pangalan ng talahanayan (syempre!). Mayroon bang paraan upang magawa ito nang mabilis at madali mong itanong? Natutuwa kaming tinanong mo - basahin at alamin kung paano…
Pagtatakda ng eksena - ang senaryo
Sa artikulong ito, gagamit ako ng isang kathang-isip na senaryo - ngunit isang sigurado akong mabilis mong makikilala!
Bawat buwan, ang Acme trading ay nagpapadala sa amin ng isang na-update na listahan ng presyo para sa lahat ng mga magagamit na ginamit sa DataNumen. Upang malaman namin kung magkano ang gagastos namin sa nakatigil bawat buwan, naka-link kami sa file na iyon sa aming database ng pamamahala ng tanggapan.
Ang problema, kahit na pareho pa rin ang format ng file, nagbabago ang pangalan ng file buwan-buwan. Noong nakaraang buwan ay “stationary costs Jan 2017.xls”, ngayong buwan ay “stationary costs Feb 2017.xls”.
Hindi gaanong pagbabago ang sigurado akong sasang-ayon ka, ngunit maliban kung dumaan kami sa problema ng pagpapalit ng pangalan ng file nang manu-mano (sa sandaling nalipat namin ang dating file sa daan o tinanggal ito), o dumaan sa proseso ng muling paglalagay ng talahanayan sa pamamagitan ng naka-link na tagapamahala ng talahanayan sa Access.
Dahil hindi namin nais na gawin ito, nilikha namin ang sumusunod na code upang gawin ito sa halip - mas madali dahil sigurado akong makikita mo:
Public Sub UpdateLink (tableName As String, newFileName As String) Dim objDB As Database Dim objTableDef As TableDef Dim newConnect as String Set objDB = CurrentDb Set objTableDef = objDB.TableDefs(tableName) 'format of the connection string in our case, for example, is: ' Excel 5.0;HDR=YES;IMEX=2;DATABASE=File name including path and extension type newConnect = "Excel 5.0;HDR=YES;IMEX=2;DATABASE=" & newFileName objTableDef.Connect = newConnect objTableDef.RefreshLink Set objTableDef = Nothing Set objDB = Nothing End Sub
Pagpapaliwanag ng code
Gaya ng nakikita mo, ipinapasa natin ang pangalan ng (naka-link) na talahanayan, kasama ang pangalan ng bagong file kung saan dapat i-link ang talahanayan. Dapat kasama sa pangalan ng file ang buong path papunta sa file. Ang isang posibleng bagay na maaaring mahirapan ka sa simula ay ang pagkuha ng tamang format para sa connection string na ilalagay sa variable na "newConnect". Bagama't maraming mapagkukunan para malaman ang tamang format, isa sa pinakamadali kong natuklasan ay ang pagtingin lamang sa connection string ng kasalukuyang naka-link na talahanayan. Para gawin iyon, idagdag lamang ang sumusunod na linya sa ibaba mismo ng linyang "Set objTableDef = objDB.TableDefs(tableName)":
Debug.Print (objTableDef.Connect)
I-print nito ang umiiral na string ng koneksyon sa debug / agarang window ng code editor (kung hindi pa nakikita iyon, pindutin ang CTRL-G mula sa loob ng screen ng editor ng VBA code upang i-toggle ang kakayahang makita ang Agarang window bago ang pagpapatakbo ng code.
Isang babala
Tulad ng nakasanayan, huwag kalimutan na habang ang code na snippet sa itaas ay makakatulong sa iyong makatipid ng oras kapag kailangan mong baguhin ang file na naka-link sa isang talahanayan, kung ano ang hindi nito maaaring gawin ay tulungan ka kung nakasalamuha mo ang anumang Pag-access ng pinsala sa file, kaya tiyaking pinapanatili mo ang mga pag-backup at alam kung saan liliko kung nabigo ang lahat.
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 pinsala ng SQL at excel mga produkto ng pagbawi ng software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa