Si të përditësoni shpejt një tabelë të lidhur kur ndryshohet emri i skedarit të jashtëm

Tabelat e lidhura mund të jenë jashtëzakonisht të dobishme (megjithëse jo gjatë gjithë kohës sigurisht) – veçanërisht kur keni të bëni me informacione të jashtme që ndryshojnë rregullisht. Një shembull tipik mund të jetë kur një furnizues ju jep akses në skedarin aktual të çmimeve mujore. Por çfarë ndodh kur ata lëshojnë skedarin muajin tjetër dhe emri i skedarit ndryshon nga "Çmimtari-01-01-2016" në "Çmimtari-01-02-2016"? Gjëja e parë që do të ndodhë është se lidhja juaj do të prishet, kështu që do t'ju duhet ta përditësoni manualisht. Sa herë që ndryshojnë emrin e skedarit. Kjo vlen edhe për emrat e tabelave (sigurisht!). A ka ndonjë mënyrë për ta bërë këtë shpejt dhe lehtë ju pyesni? Jemi të kënaqur që pyetët – lexoni më tej dhe zbuloni se si…

Vendosja e skenës - skenari

Menaxheri i Tabelave të LidhuraNë këtë artikull, unë do të përdor një skenar imagjinar - por një që jam i sigurt se do ta dalloni shpejt!

Çdo muaj, Acme trading na dërgon një listë çmimesh të përditësuar për të gjitha materialet harxhuese të përdorura në DataNumen. Që të dimë se sa do të shpenzojmë për stacionare çdo muaj, ne e lidhim atë skedar në bazën e të dhënave të menaxhimit të zyrës sonë.

Ndryshoni emrin e skedaritProblemi është se, edhe pse formati i skedarit mbetet i njëjtë, emri i skedarit ndryshon çdo muaj. Muajin e kaluar ishte "kosto stacionare Janar 2017.xls", këtë muaj është "kosto stacionare Shkurt 2017.xls".

Jo shumë ndryshim, jam i sigurt se do të pajtoheni, por nëse nuk e kalojmë problemin e riemërtimit manual të skedarit (pasi ta kemi hequr skedarin e vjetër nga rruga ose ta kemi fshirë), ose të kalojmë procesin e rilidhja e tabelës përmes menaxherit të tabelës së lidhur në Access.

Për shkak se ne nuk donim ta bënim këtë, krijuam kodin e mëposhtëm për ta bërë atë në vend të kësaj - shumë më e lehtë siç jam i sigurt që do ta shihni:

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

Duke shpjeguar kodin

Siç mund ta shihni, ne e kalojmë emrin e tabelës (së lidhur), së bashku me emrin e skedarit të ri me të cilin duhet të lidhet tabela. Emri i skedarit duhet të përfshijë rrugën e plotë drejt skedarit. Një aspekt i mundshëm me të cilin mund të keni vështirësi në fillim është gjetja e formatit të saktë për vargun e lidhjes që duhet të vendoset në variablin "newConnect". Ndërsa ka shumë burime për të gjetur formatin e saktë, një nga më të lehtat që kam gjetur është thjesht të shikoni vargun e lidhjes së tabelës aktuale të lidhur. Për ta bërë këtë, thjesht shtoni rreshtin e mëposhtëm direkt poshtë rreshtit "Set objTableDef = objDB.TableDefs(tableName)":

Debug.Print (objTableDef.Connect)

Kjo do të printojë vargun ekzistues të lidhjes në dritaren e korrigjimit/të menjëhershme të redaktuesit të kodit (nëse kjo nuk është tashmë e dukshme, shtypni CTRL-G nga brenda ekranit të redaktuesit të kodit VBA për të ndryshuar dukshmërinë e dritares "Immediate" përpara se të ekzekutoni kodin.

Nje paralajmerim

Si gjithmonë, mos harroni se ndërsa pjesa e kodit më sipër mund t'ju ndihmojë të kurseni kohë kur duhet të ndryshoni skedarin me të cilin është lidhur një tabelë, ajo që nuk mund të bëjë është t'ju ndihmojë nëse hasni ndonjë Hyni në dëmtimin e skedarit, prandaj sigurohuni që të mbani kopje rezervë dhe të dini se ku të drejtoheni nëse gjithçka tjetër dështon.

Hyrje e autorit:

Mitchell Pond është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë riparimi i dëmtimit të SQL dhe produkte softuerike të rimëkëmbjes excel. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.