Brz način čitanja dbf c. Kako programski povezati DBF datoteku u Accessu? Brisanje unosa u DBF datoteci

Danas, vjerojatno, nikome ne treba reći da se vrlo često mnogi korisnici susreću s datotekama s nastavkom .dbf. Najtužnije je što u Windows OS-u, čak i ako je instaliran Microsoft Office, niti jedan program nije povezan s ovom vrstom datoteke. Imamo ga, sada ćemo pokušati shvatiti. Ujedno, pogledajmo kako možete postaviti pridruživanje ekstenzije za naknadno automatsko prepoznavanje podataka i otvaranje željene datoteke.

DBF format: opis

Zapravo, već iz same kratice koja se koristi za ekstenziju datoteke ove vrste, može se zaključiti da se radi o bazi podataka. Donekle je specifično, jer takve datoteke obično imaju nastavak

U ovom slučaju imamo još jedan, koji, međutim, unatoč svojoj specifičnosti, prepoznaju mnogi programi koji podržavaju rad s informacijama ove vrste. To može biti isti Excel ili Access, koji su dio glavnog paketa Microsoft Officea, ili bilo koje druge uredske aplikacije programera trećih strana.

Kako otvoriti DBF u standardnoj verziji

Zapravo, ako iznenada naiđete na datoteku ove vrste (ikona se na njoj ne koristi čak ni u Exploreru), nemojte paničariti. Može se vrlo jednostavno otvoriti pomoću programa Excel, budući da je u njemu pohranjena cjelokupna logička struktura i, s tim u vezi, mogućnost korištenja standardnog sustava pretraživanja.

Budući da nijedan program nije povezan sa samom datotekom u standardnoj verziji, postoje dva načina za nastavak. Preporuča se, primjerice, jednostavno pokrenuti Excel ili Access, a zatim koristiti standardni izbornik za otvaranje datoteke ili kombinaciju tipki Ctrl + O. Međutim, u izborniku koji se pojavi u polju za vrstu datoteke trebate navesti "Sve datoteke" (a ne "nativni" format), nakon čega odaberite datoteku koju tražite. Budite uvjereni: svaki program za proračunske tablice prepoznat će ovu vrstu podataka bez ikakvih problema.

Kao što je već jasno, problem kako otvoriti DBF datoteku u našem slučaju svodi se samo na korištenje standardne uredske aplikacije u ručnom načinu rada. Kao što je već jasno, ova metoda nije uvijek prikladna i zahtijeva određeno vrijeme.

Povezani programi

Sada pogledajmo samu DBF datoteku. Kako ga mogu otvoriti bez korištenja standardnih uredskih programa? Da, pomoću istih uslužnih programa uključenih u slične softverske proizvode.

Na primjer, to može biti isti Open Office, Lotus, itd. U načelu, ovdje nema velike razlike, budući da je jedino važno da korišteni program može raditi s tabličnim elektroničkim podacima. Čitanje DBF formata radi se na potpuno isti način u svim slučajevima. Usput, to ne ovisi o programeru uredskog paketa, budući da svi imaju podršku za ovu vrstu podataka, uključujući čak i platforme poput Oraclea.

Promjena zadanih opcija otvaranja

Pogledajmo sada kako otvoriti DBF datoteke tako da se koristi automatski način rada. U najjednostavnijem slučaju to se čini iz podizbornika koji se poziva desnim klikom na datoteku u uobičajenom “Exploreru”, gdje se odabire naredba “Otvori s...”.

Za jedan slučaj koristi se jedna od navedenih aplikacija. Kako ne biste ponovno razbijali glavu o tome kako otvoriti DBF datoteke, možete jednostavno odrediti odabranu aplikaciju, a zatim potvrditi okvir pored retka "Koristi za sve datoteke ove vrste" na dnu. Isti Excel u budućnosti (ako je odabran kao zadani program) otvorit će datoteku ove vrste običnim dvoklikom.

Podrazumijeva se da umjesto Excela možete odabrati Access ili druge programe koji mogu prepoznati i otvoriti ovu vrstu podataka. Nije u tome stvar. Glavna stvar je konfigurirati automatsko otvaranje baze podataka. Pa, s čime će raditi u smislu softvera ovisi o svakom pojedinom korisniku računalnog sustava.

Kakav je rezultat?

Ukratko, vrijedi reći da je najbolja opcija za otvaranje datoteka ove vrste, naravno, uredski paket Microsoft Corporation, budući da je najrasprostranjeniji u cijelom svijetu. Istina, nema ništa loše u tome što će korisnik koji ne koristi Microsoftove proizvode otvoriti podatke ove vrste u bilo kojoj drugoj aplikaciji.

Kao što je već jasno iz svega gore navedenog, urednici tablica prisutni su u gotovo svim paketima koji su danas poznati. Mogu se međusobno razlikovati samo po nazivu, a nikako po funkcionalnom sklopu koji je u pravilu svugdje isti, uz rijetke iznimke.

Između ostalog, u skladu s tim, možete koristiti mnoge razvojne alate koristeći prilično velik broj programskih jezika. Na istoj platformi koja podržava izradu i optimizaciju SQL poslužitelja, takve se datoteke otvaraju, kako kažu, trenutno. Kada se otvore, imat će prilično specifičan izgled, što je pomalo neobično za prosječnog korisnika. Međutim, većina korisnika vjerojatno neće koristiti takve alate za profesionalni razvoj i ograničit će se samo na standardni skup softvera.

Dobar dan svima, dragi čitatelji bloga. U današnjem članku govorit ću o pristupanju DBF datotekama (tablicama) na razne načine. Naišao sam na ovaj problem kada sam trebao pristupiti FoxPro DBF tablicama. Pokušao sam preko BDE, nije išlo, samo na Paradox tablice (dbf), na kraju sam odlučio pokušati preko TDBF komponente - također se pokazalo kao neuspjeh. Odlučio sam se pokušati spojiti preko ADO-a na starinski način i sve je išlo kao po loju.

Stoga ću vam u ovom članku reći kako se možete povezati s DBF tablicama na tri načina:

  • Korištenje BDE - ova opcija mi nije radila za FoxPro tablice
  • Korištenje ADO - FoxPro tablice otvorile su se savršeno
  • Koristeći TDBF komponentu, dobro otvara Paradox tablice s različitim kodiranjem ili dBase.

Da budem iskren, nikako ne podnosim BDE, ali morao sam raditi s takvim tablicama i prva opcija preko koje sam se htio spojiti na njih je bila korištenje BDE-a, što mi je u principu i uspjelo, tj. je, uspio sam doći do popisa stolova, što mi je bilo drago i mislio sam da će sve ići po planu, ali nije bilo tako. Kada sam se pokušao spojiti na tablicu, dobio sam pogrešku nešto poput:

Pokušao sam ga instalirati i u samom BDE Administratoru i prilikom povezivanja, ali ništa nije išlo. Ali pomoću ove metode uspio sam se savršeno povezati s DBF - Paradox tablicama, na primjer dBase.

Stoga na obrazac s kartice BDE instaliramo sljedeće komponente:

  • TTable ili TQuery
  • Po izboru, možete koristiti TDataSource i TDbGrid

Dalje, u svojstvu DatabaseName komponente TDataBase postavili smo naziv baze podataka, napisao sam - MyDB, au svojstvu DriverName iste komponente sam iz padajuće liste odabrao STANDART. Svojstvo LoginPromt postavili smo na False, budući da na našim tablicama nema prijave i lozinke. U svojstvu Params postavili smo parametre veze, samo sam odredio put do naših tablica:

Također možete dvaput kliknuti na komponentu TDataBase i konfigurirati potrebnu vezu i postaviti svojstvo Connected na True, kao rezultat, trebalo bi se dogoditi povezivanje s tablicama, bez ikakvih grešaka. To je sve, idemo na komponentu TTable, gdje u svojstvu DatabaseName označavamo naziv naše baze podataka, odnosno MyDB. U svojstvu TableType izaberemo tip tablice, naveo sam ttDBase, a u svojstvu TableName izaberemo naziv tablice nakon čega svojstvo Active postavimo na True. To je to, meni se savršeno spaja i prikazuje tablicu sasvim u redu.

Ali ova opcija mi nije radila s FoxPro tablicama, kao što sam gore spomenuo. Stoga sam za rješavanje svog problema odlučio koristiti ADO tehnologiju. Dakle, s kartice ADO instalirao sam sljedeće komponente:

  • TADOConnection
  • TADOQuery ili TADOTable
  • Po želji možete instalirati TDataSource i TDBGrid

Zatim, samo trebamo stvoriti vezu koju smo napravili za MS Access bazu podataka, razlikovat će se po tome što odabiremo drugog pružatelja podataka, naime Microsoft Visual FoxPro ODBC. To je to, zatim označavamo kodiranje i put do tablica. Ako se radi o FoxPro tablicama, tada se u mapi mora nalaziti datoteka s popisom svih tablica ekstenzije *.dbc. Odnosno, niz veze komponente TADOConnection izgledat će otprilike ovako:

Povezujemo komponentu TADOConnection s TADOTable ili TADOQuery i radimo s tablicama koje su nam potrebne.

Druga mogućnost je rad s tablicama dbf-formata pomoću TDBF komponente, koju koristim u projektu. Da budem iskren, želim ga napustiti, samo dobro radi s kodiranjem. Neću vam reći kako raditi s njim, ali ću samo ostaviti poveznicu kao primjer.

Možda ovaj kod može pomoći:

VB funkcija koju trebate staviti u MS Access prilično je jednostavna i u osnovi poziva metodu TransferDatabase, prosljeđujući joj DSN (pokazuje na izvornu bazu podataka), naziv izvorne tablice i naziv odredišne ​​tablice. kod izgleda ovako:

Uvoz javne funkcije (dsnName As String, sourceTableName As String, targetTableName As String) ‘ ako tablica već postoji, izbrišite je. On Error GoTo CopyTable DoCmd.DeleteObject acTable, targetTableName CopyTable: DoCmd.TransferDatabase _ acImport, _ "ODBC Database", _ "ODBC;DSN=" + dsnName, _ acTable, _ sourceTableName, _ targetTableName End Function

A zatim C# kod:

pristup objektuObject = null; pokušaj ( accessObject = Activator.CreateInstance(Type.GetTypeFromProgID("Access.Application")); accessObject.GetType().InvokeMember("OpenCurrentDatabase", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject , novi objekt ( "AccessDbase.mdb" )); accessObject.GetType().InvokeMember("Pokreni", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject, novi objekt ( "Uvoz", "DSN naziv", "Izvorni naziv tablice", "Naziv ciljne tablice" )); accessObject.GetType().InvokeMember("CloseCurrentDatabase", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject, null); MessageBox.Show("Kopiranje je uspjelo."); ) catch (Exception ex) ( string message = ex.Message; while (ex.InnerException != null) ( ex = ex.InnerException; message += "\r \n----\r\n" + ex.Message; ) MessageBox.Show(message); ) finally ( if (accessObject != null) ( System.Runtime.InteropServices.Marshal.ReleaseComObject(accessObject); accessObject = null; ) )

Promjena VBA da čita acLink umjesto acImport trebala bi omogućiti povezivanje.

Uredi komentare

Ne mogu pomoći s C#, ali evo nekog VBScripta koji povezuje tablicu iz jednog MDB-a u drugi.

StrLinkFile = "C:\Docs\Link.mdb" strAccessFile = "C:\Docs\LTD.mdb" "Stvori vezu..." Postavi cn = CreateObject("ADODB.Connection") cn.Otvori "Provider=Microsoft. Jet.OLEDB.4.0;" & _ "Izvor podataka=" & strAccessFile & ";" & _ "Persist Security Info=False" Postavi adoCat = CreateObject("ADOX.Catalog") Postavi adoCat.ActiveConnection = cn Postavi adoTbl = CreateObject("ADOX.Table") Postavi adoTbl.ParentCatalog = adoCat adoTbl.Name = "LinkTable" adoTbl.properties("Jet OLEDB:Link Datasource") = strLinkFile adoTbl.properties("Jet OLEDB:Link Provider String") = "MS Access" adoTbl.properties("Jet OLEDB:Remote Table Name") = "Table1" adoTbl .properties("Jet OLEDB:Create Link") = True "Dodaj tablicu u kolekciju tablica " adoCat.Tables.Append adoTbl

DBF je široko korišten format za pohranu podataka koji se pojavio 80-ih godina prošlog stoljeća. Format je prvi put korišten u obitelji dBase DBMS. Zbog popularnosti i raširene upotrebe dBase-a, stvoreni su mnogi softverski proizvodi slični dBase-u, zajednički nazvani xBase. Unatoč znatnoj starosti formata, on je još uvijek prilično široko korišten. Ovaj članak govori o tome kako raditi s DBF-om iz 1C:Enterprise.

U 1C:Enterprise, poseban programski objekt, xBase, koristi se za rad s datotekama u DBF formatu (verzija dBase III). Rad s ovim objektom obično ne uzrokuje poteškoće.

Pažnja!

Kada radite s DBF datotekama, zapamtite da naziv datoteke mora zadovoljiti ograničenje 8.3.

Pažnja!

Objekt xBase dostupan je i na strani klijenta i na strani poslužitelja. Prilikom rješavanja svakog specifičnog problema trebali biste razmišljati o interakciji klijent-poslužitelj.

Čitanje DBF datoteke

Čitanje podataka iz DBF datoteke izvodi se u nekoliko uzastopnih koraka:

  1. Stvaranje XBase objekta;
  2. Otvaranje datoteke;
  3. Sekvencijalno ponavljanje kroz sve retke datoteke i čitanje vrijednosti polja;
  4. Zatvaranje datoteke.
DBP = Nova XBase; DBP. OpenFile("D:\MyFile.dbf" ); // Faza 2. Otvaranje datoteke Dok je Ciklus istine // Faza 3. Prolaženje kroz redove datoteke Izvješće(DBF.NAME); Ako NE DBP. Next() Zatim // Pozicija na sljedećem zapisu Prekid; završi ako; EndCycle; DBP. ZatvoriDatoteku(); // Faza 4. Zatvaranje datoteke

Možete koristiti blago modificirani algoritam za ponavljanje preko redaka datoteke:

Još NIJE DBF. Izvješće o petlji AtEnd(). (DBF.NAME); DBP. Sljedeći(); EndCycle;

Prijenos u DBF datoteku

Faze učitavanja u DBF datoteku:

  1. Stvaranje XBase objekta;
  2. Određivanje kodiranja (ako nije navedeno, koristit će se ANSI kodiranje);
  3. Opis polja;
  4. Izrada datoteke;
  5. Petlja s dodavanjem i punjenjem linija;
  6. Zatvaranje datoteke.

Pogledajmo ovaj proces na primjeru:

DBP = Nova XBase; // Faza 1. Kreirajte XBase objekt DBP. Kodiranje = EncodingXBase. OEM; // Faza 2. Određivanje kodiranja DBP. Polja. Dodaj("ŠIFRA" , "S" , 9); // Faza 3. Opis naziva i tipa polja DBP. Polja. Dodaj("IME" , "S" , 40 ); DBP. CreateFile("D:\MyFile.dbf" ); // Faza 4. Stvaranje datoteke Odabir = Imenici. Nomenklatura. Odaberite(); Zbogom selekciji. Next() petlja DBP. Dodati(); // Dodaj liniju DBP. ŠIFRA = Uzorak. Kodirati; // Ispunite vrijednost polja DBP. NAZIV = Odabir. Ime; DBP. Pisati(); // Napišite redak EndCycle; DBP. Zatvori datoteku(); // Faza 6. Zatvaranje datoteke

Prilikom određivanja kodiranja koristi se tip XBase Encoding koji može imati dvije vrijednosti:

  • ANSI– Windows format;
  • OEM– DOS format.

Dodavanje novog polja pri opisivanju strukture ima sintaksu

Dodati (< Имя>, < Тип>, < Длина>, < Точность>)

Dostupne su sljedeće vrste:

  • “N” – broj;
  • “S” – žica;
  • “D” – datum;
  • “L” – Booleov;
  • “F” – slično “N” – broj.

Duljina polja je potrebna za vrste polja "N", "F" i "S".

Rad s indeksima

Indeksna datoteka može se koristiti zajedno s DBF datotekom, koja može sadržavati informacije o jednom ili više indeksa. Prisutnost indeksa omogućuje korištenje pretraživanja, a ne samo sekvencijalno pretraživanje svih redaka datoteke.

Prilikom izrade indeksne datoteke morate navesti:

  • Popis indeksa;
  • Put za spremanje datoteke indeksa (u fazi 4 prijenosa).

Primjer kreiranja indeksne datoteke:

DBP . Indeksi. Dodaj("INDCODE" , "CODE" ); DBP. CreateFile("D:\MyFile.dbf" , "D:\index.cdx" );

Sintaksa za dodavanje novog indeksa je:

Dodati (< Имя>, < Выражение>, <Уникальность>, < Убывание>, < Фильтр >)

Za korištenje indeksa prilikom čitanja iz DBF datoteke:

  • Navedite stazu do datoteke indeksa (u fazi 2 preuzimanja);
  • Postavite trenutni indeks.

Primjer otvaranja DBF datoteke pomoću indeksne datoteke:

DBP . OpenFile("D:\MyFile.dbf" , "D:\index.cdx" ); DBP. CurrentIndex = dbf. Indeksi. INDCODE;

Pažnja!

Prilikom otvaranja DBF datoteke, pozicioniranje se događa na prvom zapisu u datoteci. Prvi unos u datoteci ne odgovara prvom unosu u indeksu. Zbog toga, kada koristite indekse, morate se postaviti u prvi redak indeksa prije uzastopnog obilaska redaka. To se može učiniti pomoću metode First(), na primjer:

DBP. Prvi();

Za pretraživanje se može koristiti jedna od dvije funkcije:

  • Pronaći (< Ключ>, < Режим >) ;
  • FindByKey(< Режим >) .

Kao rezultat obje funkcije vraća se vrijednost tipa Boolean (bez obzira na to je li zapis s navedenim uvjetima pronađen ili ne). Ako je pretraga uspješna, trenutni pokazivač postavlja se na pronađenu liniju. Jedna od sljedećih vrijednosti može se koristiti kao način pretraživanja:

  • «>=»;
  • «>»;
  • «<=»;
  • «<«.

Pogledajmo pretraživanje u DBF datoteci koristeći primjere:

DBP = Nova XBase; DBP. OpenFile("D:\MyFile.dbf" , "D:\index.cdx" ); // Prilikom otvaranja DBF datoteke navedena je dodatna indeksna datoteka DBP. CurrentIndex = dbf. Indeksi. INDCODE; // Postavi trenutni indeks // pretraži metodom Find: Ako je DBP. Find("000000003" , "=" ) Zatim Report( + DBP. NAME); Else Report("Nije pronađeno"); završi ako; // pretraži pomoću metode FindByKey: DBP. Ključ. KOD = "000000002" ; Ako je DBP. FindByKey("=" ) Zatim prijavi( "Pronađen. Naziv stavke: "+ DBP. IME); Else Report("Nije pronađeno"); završi ako; DBP. Zatvori datoteku();

Brisanje unosa u DBF datoteci

Brisanje zapisa vrši se metodom Delete ():

DBP . Izbrisati();

Ali kada koristite ovu metodu, zapis se ne briše trajno iz datoteke, već se označava kao izbrisan. Prilikom ponavljanja redaka, zapisi označeni za brisanje se preskaču. Ako želite indeksirati cijelu datoteku, uključujući unose označene za brisanje, morate postaviti svojstvo na True. Prikaz Izbrisan xBase objekt. Pomoću funkcije RecordDeleted() možete saznati je li zapis označen za brisanje ili ne. Da biste uklonili oznaku brisanja, koristite metodu Restore().

DBP . DisplayDeleted = True; Još NIJE DBF. Petlja AtEnd() Ako je DBP. RecordDeleted() Zatim DBP. Vratiti(); završi ako; DBP. Sljedeći(); EndCycle;

Za izravno uklanjanje označenih unosa upotrijebite metodu Shrink():

DBP . Oblog();

Ako trebate izravno izbrisati sve unose u datoteci, možete koristiti metodu ClearFile():

DBP . ClearFile();

Učitavanje iz DBF-a pomoću ADO-a

ADO tehnologija može se koristiti za rad s DBF datotekama. ADO upravljački programi uključeni su u operativni sustav Windows i ne moraju se dodatno instalirati.

Pogledajmo primjer koda za čitanje iz DBF datoteke pomoću ADO tehnologije:

TEŠKOĆA = New COMObject("ADODB.Connection" ); // Kreirajte COM objekt TEŠKOĆA. Otvoren( "Dobavljač=Microsoft.Jet.OLEDB.4.0; |Izvor podataka=""D:\""; |Proširena svojstva=DBASE III"); DB = ADO. Izvrši("Odaberi * iz MyFile" ); // zahtjev za dobivanje svih zapisa iz datoteke MyFile.DBF Zbogom BD. EOF= 0 Ciklus //Prolazi kroz zapise DBF datoteka Izvješće(DB. Polja("Naziv" ). vrijednost); // Primjer pristupa vrijednosti polja DB. Pomakni dalje(); //Idi na sljedeći unos EndCycle; TEŠKOĆA. Zatvoriti();

Prikazani primjer koristi niz veze "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="D:\";Extended Properties=DBASE III". U ovom retku:

  • Provider je upravljački program koji se koristi;
  • Izvor podataka – staza na kojoj se nalazi DBF datoteka. Put je naveden točno prema direktoriju. Naziv datoteke koristi se kao naziv tablice u upitima;
  • Proširena svojstva – kada se pristupa DBF datotekama, ovo je obavezan parametar. Možete odrediti format datoteke

Pažnja!

Prilikom čitanja navedenom metodom, zadano kodiranje je OEM. Kako biste promijenili kodiranje u ANSI, trebate postaviti parametar HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\xBase\DataCodePage na "ANSI" u registru sustava Windows.

Možda ovaj kod može pomoći:

VB funkcija koju ćete morati staviti u MS Access prilično je jednostavna i u osnovi poziva metodu TransferDatabase, prosljeđujući joj DSN (pokazuje na izvornu bazu podataka), naziv izvorne tablice i naziv odredišne ​​tablice. kod izgleda ovako:

Uvoz javne funkcije (dsnName As String, sourceTableName As String, targetTableName As String) ‘ ako tablica već postoji, izbrišite je. On Error GoTo CopyTable DoCmd.DeleteObject acTable, targetTableName CopyTable: DoCmd.TransferDatabase _ acImport, _ "ODBC Database", _ "ODBC;DSN=" + dsnName, _ acTable, _ sourceTableName, _ targetTableName End Function

A zatim C# kod:

pristup objektuObject = null; pokušaj ( accessObject = Activator.CreateInstance(Type.GetTypeFromProgID("Access.Application")); accessObject.GetType().InvokeMember("OpenCurrentDatabase", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject , novi objekt ( "AccessDbase.mdb" )); accessObject.GetType().InvokeMember("Pokreni", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject, novi objekt ( "Uvoz", "DSN naziv", "Izvorni naziv tablice", "Naziv ciljne tablice" )); accessObject.GetType().InvokeMember("CloseCurrentDatabase", System.Reflection.BindingFlags.Default System.Reflection.BindingFlags.InvokeMethod, null, accessObject, null); MessageBox.Show("Kopiranje je uspjelo."); ) catch (Exception ex) ( string message = ex.Message; while (ex.InnerException != null) ( ex = ex.InnerException; message += "\r \n----\r\n" + ex.Message; ) MessageBox.Show(message); ) finally ( if (accessObject != null) ( System.Runtime.InteropServices.Marshal.ReleaseComObject(accessObject); accessObject = null; ) )

Promjena VBA da čita acLink umjesto acImport trebala bi omogućiti povezivanje.

Uredi komentare

Ne mogu pomoći s ovim, ali ovdje je neki VBScript koji povezuje tablicu iz jednog MDB-a u drugi.

StrLinkFile = "C:\Docs\Link.mdb" strAccessFile = "C:\Docs\LTD.mdb" "Stvori vezu..." Postavi cn = CreateObject("ADODB.Connection") cn.Otvori "Provider=Microsoft. Jet.OLEDB.4.0;" & _ "Izvor podataka=" & strAccessFile & ";" & _ "Persist Security Info=False" Postavi adoCat = CreateObject("ADOX.Catalog") Postavi adoCat.ActiveConnection = cn Postavi adoTbl = CreateObject("ADOX.Table") Postavi adoTbl.ParentCatalog = adoCat adoTbl.Name = "LinkTable" adoTbl.properties("Jet OLEDB:Link Datasource") = strLinkFile adoTbl.properties("Jet OLEDB:Link Provider String") = "MS Access" adoTbl.properties("Jet OLEDB:Remote Table Name") = "Table1" adoTbl .properties("Jet OLEDB:Create Link") = True "Dodaj tablicu u kolekciju tablica " adoCat.Tables.Append adoTbl