Холбогдсон хүснэгтийг өөрийн нэвтрэх орон нутгийн хүснэгт болгон хэрхэн хөрвүүлэх вэ

Одоо хуваалцах:

Бид үүнийг өмнө нь хэлж байсан боловч давтах нь зүйтэй юм - холбоотой хүснэгтүүд хэд хэдэн шалтгааны улмаас таны мэдээллийн санд үнэхээр хэрэгтэй байж болох юм. Гэхдээ холбосон хүснэгтүүдийн нэг сул тал бол гүйцэтгэл юм. Тэдгээрийн эсрэг асуулга явуулах, ялангуяа Microsoft Access хүснэгт биш бол (өөрөөр хэлбэл тэд Excel, CSV эсвэл DBF файлууд). Тэдэнтэй удаан ажиллахад удаан байж болно. Үүнийг тойрон гарах хэд хэдэн арга байдаг - бид энд нэг аргаар ажиллах болно, энэ нь холбосон хүснэгтийг локал хүснэгт болгон хөрвүүлэх явдал юм. Мэдээжийн хэрэг - та хүснэгтийг хуулж / буулгах замаар үүнийг гараар хийж болох байсан, гэхдээ танд зохицуулах зүйл их байвал үүнийг кодоор хийх нь хамаагүй хялбар байдаг тул яаж хийхийг үзье ...

Таны хэрэгцээг тоймлох нь яагаад чухал вэ?

Холбогдсон хүснэгтэд нэвтрэхНэгдүгээрт, кодыг яг юу хийхийг хүсч байгаагаа тоймлоё - ингэснээр кодыг эхний ээлжинд үүсгэх нь илүү хялбар болж байгаа тул зарим VBA код бүтээх талаар бодож байхдаа хийхийг танд зөвлөж байна. , энэ нь таны зорилгыг тодруулахад тусална.

"Холбогдсон хүснэгтийн нэрийг өгөөд гүйцэтгэлийг сайжруулахын тулд хүснэгтийг локал хүснэгт болгон мэдээллийн санд оруулна уу. Сонголтоор өгөгдлийн сангаас холбоосыг нэгэн зэрэг устгана уу"

Ер нь, та холбосон хүснэгтийг локал хүснэгт болгон хөрвүүлэхдээ холбоосыг устгахыг хүсэх болно, гэхдээ доорх кодын жишээн дээр бид танд эх файлыг хадгалах сонголтыг өгсөн боловч үүнийг хийснээр шинээр импортолсон хүснэгт нь таны асуулгад холбогдсон хүснэгтийг орлохгүй тул орон нутгийн хүснэгтээс танд өгөх үр ашгийг олж харахгүй болно. Кодыг хэрэгтэй хэмжээгээр нь ажиллуулж байгаад та тав тухтай болсны дараа эхийг нь үргэлж устгахыг зөвлөж байна.Үнэндээ та бодит хүснэгтийг устгахгүй, зөвхөн түүний холбоосыг л устгах хэрэгтэй.

Болгоомжтой үг

Код руу орохоосоо өмнө анхааруулах хэрэгтэй бөгөөд хэрэв та а холбоосыг холбосон бол та хийж чадах зүйл бага байна Access мэдээллийн сан гэмтсэн - Хэрэв Access файлыг уншиж чадахгүй бол түүнийг импортлох магадлал багатай юм.

Тиймээс - код дээр ...

Sub MakeTableLocal(tableName As String, optional deleteOriginal As Boolean = True)
    Dim DbPath As Variant, TblName As Variant

    'get path of linked table
    DbPath = DLookup("Database", "MSysObjects", "Name='" & tableName & "' And Type=6")
    'Get the real name of the linked table (in case it has been given an alias in the link)
    TblName = DLookup("ForeignName", "MSysObjects", "Name='" & tableName & "' And Type=6")
    If IsNull(DbPath) Then
        'Either a local table, or the wrong table name has been supplied, exit the sub
        Exit Sub
    End If

    'delete linked table
    If deleteOriginal Then
        DoCmd.DeleteObject acTable, tableName
    Else
        'If we're not deleting the existing table we'll have to rename the imported table to avoid
        'overwriting it etc
        tableName = tableName & " - local"
    End If
    
    'import the table as a local, unlinked table
    DoCmd.TransferDatabase acImport, "Microsoft Access", DbPath, acTable, TblName, tableName
End Sub

Код юу хийж байна

VBA кодКодын ихэнх хэсэг нь нэлээд тодорхой байх боловч анхаарах ёстой зарим гол зүйлс байна. Нэгдүгээрт, бид (ихэвчлэн нуугдсан) Access системийн хүснэгт болох "MSysObjects"-ийг хайж ямар файлтай холбогдож байгаа талаарх дэлгэрэнгүй мэдээллийг авдаг. Та холбогдсон хүснэгтэд шинэ орон нутгийн alias өгсөн байх бүрэн боломжтой (мөн магадлалтай) тул бидний хийх ёстой дараагийн зүйл бол анхны хүснэгтийн нэрийг авах явдал юм - дахин хэлэхэд "MSysObjects" хүснэгтээс.

Одоо эдгээр дэлгэрэнгүй мэдээлэл байгаа бөгөөд хэрэв тэдгээр нь хүчин төгөлдөр байвал (өөрөөр хэлбэл та хүснэгтийн алдаатай бичсэн хүснэгтийн нэрийг оруулаагүй болно), ингэснээр бид а) холбоосыг устгах (хэрэв deleteOriginal-ийг True) болгож, хүснэгтийг импортлож байна.

Үүнийг хийснээр танд гүйцэтгэл эрс сайжирсан байх болно.Хэрэв та холбосон хүснэгт ашиглаж байгаа бол эдгээр хүснэгтийг орон нутгийн хувилбар руу шилжүүлэхэд танд ямар ашиг өгөхийг шалгахыг зөвлөж байна. Та гайхаж магадгүй юм!

Зохиогчийн танилцуулга:

Митчелл Цөөрөм бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. засвар SQL Server Файл болон excel сэргээх програм хангамжийн бүтээгдэхүүнүүд. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com

Одоо хуваалцах:

Тайлбарууд нь хаалттай байна.