Kreiranje dbf datoteke. Kreiranje dbf datoteke iz Excela - VBA

DBF je popularan format za pohranjivanje i razmjenu podataka između različitih programa, a prvenstveno između aplikacija koje održavaju baze podataka i proračunske tablice. Iako je zastario, i dalje je tražen u raznim oblastima. Na primjer, nastavljaju aktivno raditi s njim računovodstveni programi, a regulatorni i državni organi prihvataju značajan dio izvještaja u ovom formatu.

Ali, nažalost, Excel je, počevši od Excela 2007, prestao u potpunosti podržavati ovaj format. Sada u ovom programu možete samo vidjeti sadržaj DBF datoteke i spremiti podatke iz specificirano proširenje Ugrađeni aplikacijski alati više neće raditi. Na sreću, postoje i druge opcije za pretvaranje podataka iz Excel programi u formatu koji nam je potreban. Pogledajmo kako se to može učiniti.

U Excelu 2003 i starijim verzijama programa, mogli ste spremiti podatke u DBF (dBase) formatu koristeći standardnu ​​metodu. Da biste to učinili, morali ste kliknuti na stavku "File" V horizontalni meni aplikacije, a zatim izaberite poziciju na listi koja se otvori "Sačuvaj kao...". U prozoru za spremanje koji se otvori potrebno je da odaberete ime sa liste potreban format i pritisnite dugme "Sačuvaj".

Ali, nažalost, počevši od Excel 2007, Microsoft programeri su smatrali dBase zastarjelim, a moderne Excel formate previše složenim da bi trošili vrijeme i novac na osiguravanje pune kompatibilnosti. Stoga je Excel zadržao mogućnost čitanja DBF datoteka, ali je ukinuta podrška za čuvanje podataka u ovom formatu uz ugrađene softverske alate. Međutim, postoje neki načini za pretvaranje podataka sačuvanih u Excelu u DBF pomoću dodataka i drugog softvera.

Metoda 1: WhiteTown Converters Pack

Postoji veliki broj programa koji vam omogućavaju da konvertujete podatke iz Excela u DBF. Jedan od mnogih jednostavne načine Konvertovanje podataka iz Excela u DBF je korišćenje paketa uslužnih programa za pretvaranje objekata sa raznim ekstenzijama WhiteTown Converters Pack.

Iako je postupak instalacije ovog programa jednostavan i intuitivan, ipak ćemo se detaljnije zadržati na njemu, ukazujući na neke nijanse.

  1. Nakon što preuzmete i pokrenete instalacioni program, odmah se otvara prozor Čarobnjaci za instalaciju, koji od vas traži da odaberete jezik za dalje instalacijske procedure. Podrazumevano bi trebalo da prikazuje jezik koji je instaliran na vašoj kopiji Windows-a, ali ga možete promeniti ako želite. Nećemo to učiniti i samo pritisnite dugme. "UREDU".
  2. Zatim se otvara prozor u kojem je lokacija uključena sistemski disk, gdje će uslužni program biti instaliran. Podrazumevano je ovo folder "Programske datoteke" na disku "C". Ovdje je bolje ništa ne mijenjati i pritisnuti tipku "Dalje".
  3. Zatim se otvara prozor u kojem možete odabrati koje specifične smjerove transformacije želite imati. Podrazumevano su odabrane sve dostupne komponente konverzije. Ali neki korisnici možda neće htjeti da ih instaliraju sve, jer svaki uslužni program zauzima prostor na tvrdom disku. U svakom slučaju, važno nam je da pored artikla stoji kvačica "XLS (Excel) u DBF pretvarač". Korisnik može izabrati da instalira preostale komponente uslužnog paketa po sopstvenom nahođenju. Nakon što su podešavanja napravljena, ne zaboravite da kliknete na dugme "Dalje".
  4. Nakon toga otvara se prozor u kojem dodajete prečicu do mape "počni". Standardno se poziva prečica "bijeli grad", ali možete promijeniti ime ako želite. Pritisnite dugme "Dalje".
  5. Zatim se otvara prozor sa pitanjem da li da kreirate prečicu na radnoj površini. Ako želite da se doda, onda ostavite kvačicu pored odgovarajućeg parametra, ako ga ne želite, poništite ga. Zatim, kao i uvek, pritisnite dugme "Dalje".
  6. Nakon ovoga otvara se drugi prozor. Prikazuje osnovne parametre instalacije. Ako korisnik nije zadovoljan nečim i želi urediti parametre, pritisnite dugme "nazad". Ako je sve u redu, kliknite na dugme "Instaliraj".
  7. Počinje postupak instalacije, čiji će napredak biti prikazan dinamičkim indikatorom.
  8. Onda se otvara Najava on engleski jezik, koji izražava zahvalnost za instalaciju ovog paketa. Pritisnite dugme "Dalje".
  9. U zadnjem prozoru Čarobnjaci za instalaciju Izvještava se da je program WhiteTown Converters Pack uspješno instaliran. Sve što treba da uradimo je da pritisnemo dugme "Završeno".
  10. Nakon toga, folder pozvan "bijeli grad". Sadrži uslužne prečice za određena područja konverzije. Otvorite ovaj folder. Predstavljen nam je veliki broj uslužnih programa uključenih u softverski paket WhiteTown. raznim pravcima konverzija. Štaviše, svaki pravac ima poseban uslužni program za 32-bitne i 64-bitne operativne sisteme Windows sistemi. Otvorite aplikaciju sa imenom "XLS u DBF pretvarač", što odgovara bitnosti vašeg OS-a.
  11. Počinje XLS program u DBF konverter. Kao što vidite, interfejs je na engleskom, ali je ipak intuitivan.

    Kartica se odmah otvara "unos" ("Enter"). Namijenjen je da ukaže na objekt koji treba konvertirati. Da biste to učinili, kliknite na dugme "Dodati" ("Dodati").

  12. Nakon toga otvara se standardni prozor za dodavanje objekta. U njemu trebate otići u direktorij u kojem se nalazi Excel radna knjiga koja nam je potrebna s ekstenzijom xls ili xlsx. Nakon što je objekat pronađen, odaberite njegovo ime i kliknite na dugme "otvoreno".
  13. Kao što vidite, nakon toga je put do objekta prikazan u kartici "unos". Pritisnite dugme "Sljedeći" ("Dalje").
  14. Nakon toga se automatski prebacujemo na drugu karticu "izlaz" ("Zaključak"). Ovdje trebate naznačiti u kojem direktoriju će biti izlaz gotovi objekt s DBF ekstenzijom. Da biste odabrali mapu za spremanje gotovog DBF fajla, kliknite na dugme "Pregledaj..." ("Pogled"). Otvara se mala lista od dvije stavke "Odaberi datoteku" ("Odaberi fajl") I "Odaberi folder" ("Odaberi folder"). U stvari, ove tačke samo znače odabir različitih tipova navigacionih prozora koji označavaju fasciklu za čuvanje. Mi biramo.
  15. U prvom slučaju to će biti običan prozor "Sačuvaj kao...". Prikazaće i foldere i postojeće dBase objekte. Idemo u direktorij u koji želimo pohraniti. Sledeći na terenu "Ime dokumenta" Naznačavamo ime pod kojim želimo da se objekt navede nakon konverzije. Nakon toga kliknite na dugme "Sačuvaj".

    Ako odaberete opciju "Odaberi folder", otvorit će se pojednostavljeni prozor za odabir direktorija. Prikazaće samo foldere. Odaberite fasciklu koju želite da sačuvate i kliknite na dugme "UREDU".

  16. Kao što vidite, nakon bilo koje od ovih radnji, put do mape za spremanje objekta bit će prikazan na kartici "izlaz". Da biste otišli na sljedeću karticu, kliknite na dugme "Sljedeći" ("Dalje").
  17. IN zadnji tab "Opcije" ("Opcije") ima dosta podešavanja, ali nas najviše zanimaju "Vrsta polja za memo" ("Vrsta polja za dopis"). Kliknite na polje u kojem je zadana postavka "Auto" ("Auto"). Otvara se lista dBase tipova za spremanje objekta. Ovaj parametar je vrlo važan, jer ne mogu svi programi koji rade sa dBase-om obraditi sve tipove objekata sa ovom ekstenzijom. Stoga morate unaprijed znati koju vrstu odabrati. Postoji izbor između šest različitih tipova:
    • dBASE III;
    • FoxPro;
    • dBASE IV;
    • Visual FoxPro;
    • >SMT;
    • dBASE nivo 7.

    Odabiremo tip koji je potreban za korištenje u određenom programu.

  18. Nakon što je izbor napravljen, možete nastaviti na stvarnu proceduru konverzije. Da biste to učinili, kliknite na dugme "počni" ("počni").
  19. Počinje postupak konverzije. Ako Excel radna knjiga ima nekoliko listova s ​​podacima, tada će se za svaki od njih kreirati posebna DBF datoteka. Završetak procesa konverzije će biti označen zelenim indikatorom napretka. Nakon što dođe do kraja polja, kliknite na dugme "Završi" ("Završi").

Gotov dokument će se nalaziti u direktorijumu koji je naveden na kartici "izlaz".

Jedina značajna mana metode koja koristi uslužni paket WhiteTown Converters Pack je to što možete besplatno izvršiti samo 30 postupaka konverzije, a zatim ćete morati kupiti licencu.

Metoda 2: XlsToDBF dodatak

Možete konvertovati Excel radnu svesku u dBase direktno preko interfejsa aplikacije tako što ćete instalirati dodatke treće strane. Jedan od najboljih i najprikladnijih od njih je dodatak XlsToDBF. Razmotrimo algoritam za njegovu primjenu.

  1. Nakon preuzimanja arhive XlsToDBF.7z s dodatkom, raspakirajte objekt pod nazivom XlsToDBF.xla iz nje. Pošto arhiva ima ekstenziju 7z, može se izvršiti i raspakivanje standardni program za ovu ekstenziju 7-Zip, ili koristeći bilo koji drugi arhivator koji podržava rad s njim.
  2. Nakon toga pokrenite program Excel i idite na karticu "File". Zatim prelazimo na odjeljak "Opcije" kroz meni sa leve strane prozora.
  3. U prozoru parametara koji se otvori kliknite na stavku "Dodaci". Pomaknite se na desnu stranu prozora. Na samom dnu nalazi se polje "kontrola". Pomeramo prekidač u njemu u položaj "Excel dodaci" i kliknite na dugme "idi...".
  4. Otvara se mali prozor za upravljanje dodacima. Kliknite na dugme tamo "Pregledaj...".
  5. Otvara se prozor za otvaranje objekta. Moramo otići u direktorij u kojem se nalazi raspakirana XlsToDBF arhiva. Idite u fasciklu sa istim imenom i izaberite objekat sa imenom "XlsToDBF.xla". Nakon toga kliknite na dugme "UREDU".
  6. Zatim se vraćamo na prozor za upravljanje dodacima. Kao što vidite, ime se pojavilo na listi "XLS -> DBF". Ovo je naša nadgradnja. Trebalo bi da postoji kvačica pored njega. Ako nema kvačice, označite je i kliknite na dugme "UREDU".
  7. Dakle, dodatak je instaliran. Sada otvaramo Excel dokument, podatke iz kojeg treba pretvoriti u dBase, ili ga jednostavno ukucamo na list ako dokument još nije kreiran.
  8. Sada ćemo morati malo manipulirati podacima kako bismo ih pripremili za konverziju. Prije svega, dodamo dva reda iznad zaglavlja tabele. Oni bi trebali biti prvi na listu i imati imena na vertikalnoj koordinatnoj traci "1" I "2".

    U gornjoj lijevoj ćeliji upisujemo ime koje želimo dodijeliti kreiranoj DBF datoteci. Sastoji se iz dva dijela: samog naziva i ekstenzije. Dozvoljena je samo latinica. Primjer takvog imena je "UCHASTOK.DBF".

  9. U prvoj ćeliji desno od imena morate navesti kodiranje. Postoje dvije opcije kodiranja pomoću ovog dodatka: CP866 I CP1251. Ako ćelija B2 je prazan ili ima bilo koju vrijednost postavljenu na njega osim "CP866", tada će se primijeniti zadano kodiranje CP1251. Postavljamo kodiranje koje smatramo potrebnim ili ostavljamo polje praznim.
  10. Dalje idemo na sljedeći red. Činjenica je da u dBase strukturi svaka kolona, ​​koja se zove polje, ima svoj tip podataka. Postoje takve oznake:
    • N(Numeric) – numerički;
    • L(Logički) – logički;
    • D(Datum) – datum;
    • C(Zak) – niz.

    Štaviše, u nizu ( CNN) i numerički tip ( Nnn) iza imena u obliku slova treba navesti maksimalni iznos znakova u polju. Ako numerički tip koristi decimalna mjesta, tada se i njihov broj mora navesti iza tačke ( Nnn.n).

    Postoje i druge vrste podataka u dBase formatu (Memo, General, itd.), ali ovaj dodatak ne može raditi s njima. Međutim, Excel 2003, kada je još uvijek podržavao konverziju u DBF, nije mogao raditi s njima.

    U našem konkretnom slučaju, prvo polje će biti niz širine 100 znakova ( C100), a preostala polja će biti numerička, široka 10 znakova ( N10).

  11. Sljedeći red sadrži nazive polja. Ali činjenica je da i oni moraju biti upisani latinicom, a ne ćirilicom, kao kod nas. Također, razmaci nisu dozvoljeni u nazivima polja. Preimenujemo ih prema ovim pravilima.
  12. Nakon toga, priprema podataka se može smatrati završenom. Odaberite cijeli raspon tabele na listu sa kursorom koji drži pritisnutu lijevu tipku miša. Zatim idite na karticu "Programer". Po defaultu je onemogućen, pa ga prije daljnjih manipulacija morate aktivirati i omogućiti makronaredbe. Sljedeće na traci u bloku postavki "šifra" kliknite na ikonu "makroi".

    Možete to malo olakšati upisivanjem kombinacije prečaca Alt+F8.

  13. Otvara se prozor makroa. Na terenu "ime makroa" unesite naziv našeg dodatka "XlsToDBF" bez navodnika. Registar nije važan. Zatim kliknite na dugme "trčati".
  14. Makro u pozadini vrši obradu. Nakon toga, u istoj mapi u kojoj se nalazi izvorna Excel datoteka, kreirat će se objekt s DBF ekstenzijom s imenom koje je navedeno u ćeliji A1.

Kao što vidite, ova metoda je mnogo složenija od prethodne. Također je prilično ograničen u broju tipova polja koje može koristiti i broju tipova objekata DBF ekstenzija koje može kreirati. Još jedan nedostatak je što se direktorij za kreiranje dBase objekata može dodijeliti samo prije postupka konverzije, direktnim premještanjem izvorne Excel datoteke u odredišni folder. Među prednostima ovu metodu Može se primijetiti da je, za razliku od prethodne opcije, apsolutno besplatna i da se gotovo sve manipulacije izvode direktno kroz Excel sučelje.

Metoda 3: Microsoft Access program

Iako nove verzije Excel-a nemaju ugrađen način za spremanje podataka u DBF formatu, još uvijek postoji mogućnost korištenja aplikacije Microsoft Access najbliže da se nazove standardnom. Činjenica je da je ovaj program izdao isti proizvođač kao i Excel, a također je uključen Microsoft paket Ured. Osim toga, ovo je najsigurnija opcija, jer nećete morati kontaktirati softver proizvođači trećih strana. Microsoft Access je posebno dizajniran za rad sa bazama podataka.

  1. Nakon što se svi potrebni podaci unesu u Excel list, da biste ga konvertovali u DBF format, prvo ih morate sačuvati u jednom od Excel formati. Da biste to učinili, kliknite na ikonu diskete u gornjem lijevom kutu prozora programa.
  2. Otvara se prozor za spremanje. Idemo u direktorij u koji želimo da se datoteka sačuva. Iz ove fascikle ćete morati da je otvorite u Microsoft Access-u. Format knjige možete ostaviti kao zadani xlsx, ili ga možete promijeniti u xls. U ovom slučaju, ovo nije kritično, jer ionako spremamo datoteku samo da bismo je konvertovali u DBF. Nakon što su sva podešavanja završena, kliknite na dugme "Sačuvaj" i zatvorite Excel prozor.
  3. Pokrenite program Microsoft Access. Idite na karticu "File", ako se otvorio na drugoj kartici. Kliknite na stavku menija "otvoreno", koji se nalazi na lijevoj strani prozora.
  4. Otvara se prozor za otvaranje datoteke. Idemo u direktorij u koji smo sačuvali datoteku u jednom od Excel formata. Da bi se pojavio u prozoru, pomaknite prekidač za format datoteke na poziciju « Excel radna sveska(*.xlsx)" ili « Microsoft Excel(*.xls)", u zavisnosti od toga u kojoj je od njih knjiga sačuvana. Nakon što se prikaže naziv datoteke koja nam je potrebna, odaberite je i kliknite na dugme "otvoreno".
  5. Otvara se prozor „Komunikacija sa tabela» . Omogućava vam da premjestite podatke iz Excel datoteke u Microsoft Access što je ispravnije moguće. Moramo odabrati Excel list iz kojeg ćemo uvesti podatke. Činjenica je da čak i ako je Excel datoteka sadržavala informacije na nekoliko listova, možete je samo zasebno uvesti u Access i, shodno tome, pretvoriti je u zasebne DBF datoteke.

    Također je moguće uvesti informacije iz pojedinačnih raspona u listove. Ali u našem slučaju to nije potrebno. Postavite prekidač u položaj "Čaršave", a zatim odaberite list sa kojeg ćemo uzeti podatke. Ispravnost prikaza informacija može se vidjeti na dnu prozora. Ako je sve zadovoljavajuće, pritisnite dugme. "Dalje".

  6. U sljedećem prozoru, ako vaša tabela sadrži zaglavlja, morate označiti polje pored "Prvi red sadrži zaglavlja kolona". Zatim kliknite na dugme "Dalje".
  7. U novom prozoru veze za proračunsku tablicu možete po želji promijeniti naziv povezane stavke. Zatim kliknite na dugme "spreman".
  8. Nakon toga, otvorit će se dijaloški okvir koji pokazuje da je povezivanje tabele sa Excel datotekom završeno. Kliknite na dugme "UREDU".
  9. Ime tabele koju smo joj dodelili u poslednjem prozoru pojaviće se na levoj strani programskog interfejsa. Dvaput kliknite na njega levim tasterom miša.
  10. Nakon toga, tabela će biti prikazana u prozoru. Prelazak na karticu "Spoljni podaci".
  11. Na vrpci u kutiji s alatima "izvoz" kliknite na natpis "dodatno". Na listi koja se otvori odaberite stavku "dBase fajl".
  12. Otvara se prozor za izvoz u DBF format. Na terenu "Ime dokumenta" možete odrediti lokaciju za pohranu datoteke i njen naziv ako zadani nisu prikladni za vas iz nekog razloga.

    Na terenu "Format datoteke" odaberite jedan od tri tipa DBF formata:

    • dBASE III(podrazumevano);
    • dBASE IV;
    • dBASE 5.

    Treba uzeti u obzir da što je format moderniji (što je veći serijski broj), to je više mogućnosti za obradu podataka u njemu. Odnosno, postoji veća vjerovatnoća da će svi podaci tabele biti sačuvani u datoteci. Ali u isto vrijeme, manje je vjerovatno da će program u koji ćete ubuduće uvesti DBF datoteku biti kompatibilan s ovom vrstom.

    Nakon što su postavljene sve postavke, kliknite na dugme "UREDU".

  13. Ako se nakon ovoga pojavi poruka o grešci, pokušajte izvesti podatke koristeći drugu vrstu DBF formata. Ako je sve prošlo kako treba, pojavit će se prozor koji vas obavještava da je izvoz uspješan. Kliknite na dugme "Zatvori".

Kreirana datoteka u dBase formatu će se nalaziti u direktoriju koji je naveden u prozoru za izvoz. Tada možete izvršiti bilo kakve manipulacije s njim, uključujući i uvoz u druge programe.

Kao što vidimo, uprkos činjenici da je u moderne verzije Excel nema mogućnost spremanja datoteka u DBF formatu pomoću ugrađenih alata, međutim, ovaj postupak se može postići korištenjem drugih programa i dodataka. Treba napomenuti da je najfunkcionalnija metoda konverzije korištenje WhiteTown Converters Pack-a. Ali, nažalost, broj besplatnih konverzija u njemu je ograničen. Dodatak XlsToDBF vam omogućava da izvršite konverziju apsolutno besplatno, ali je procedura mnogo komplikovanija. Osim toga, funkcionalnost ove opcije je vrlo ograničena.

“Zlatna sredina” je metoda koja se koristi Pristup programima. Kao i Excel, to je razvoj Microsofta, i stoga aplikacija treće strane ne možeš ga više zvati. Osim toga, ova opcija vam omogućava konverziju Excel fajl u nekoliko tipova dBase formata. Iako je u ovom pokazatelju Access još uvijek inferioran u odnosu na program WhiteTown.

Besplatan univerzalni DBF editor koji vam omogućava otvaranje postojećih i kreiranje novih baza podataka. Veoma je male veličine, može se pokrenuti sa fleš diska i istovremeno ima mnogo naprednih alata za rad sa DBF datotekama, uključujući čak i podršku za SQL upite!

Galerija snimaka ekrana

Obično na sajtu pokrivamo programe koji će biti od interesa za širok krug čitalaca, ali danas slučaj nije sasvim običan :). Jednom sam radio kao neka vrsta “kompjuteraša” u nekoliko državnih kancelarija i tamo sam često morao da se bavim raznim programima koji rade na bazi FoxPro...

Glavni problem svih ovih aplikacija bio je u tome što je jednostavan korisnik mogao lako zeznuti bazu podataka tako da se ne može otvoriti standardnim sredstvima, pa su morali koristiti neku perverziju da je vrate u život (što nije uvijek funkcioniralo, s obzirom na "sposobnosti" "divljih korisnika" :)).

I sada, nekoliko godina kasnije, pošto više ne radim tamo, dobili smo e-mail sa zahtjevom da dodamo novi besplatni program za uređivanje DBF baza podataka, koje imaju jednostavan naziv - Sdbf. Hajde da pričamo o tome :)

Poređenje sa plaćenim analogom

Sdbf, uprkos svojoj prenosivosti (može raditi sa fleš diska!) i maloj veličini, prilično je napredan uređivač baze podataka koji vam omogućava da kreirate, uređujete i izvozite bilo koju bazu podataka DBF formata, od xBaseIII specifikacije do modernog xVisualFoxPro! Uporedimo funkcionalnost Sdbf-a sa mogućnostima jednog od najnaprednijih uređivača ove vrste, DBF Commander Professional:

Iz gornje tabele vidimo da se programi malo razlikuju po funkcionalnosti, ali je Sdbf, prije svega, prenosiv (što je obično važno, jer svaki kompjuterski tehničar radije nosi set neophodni programi na fleš disku), i drugo, potpuno je besplatno!

Prvo lansiranje Sdbf-a

Da biste pokrenuli program, samo ga raspakirajte iz preuzete arhive na bilo koju lokaciju i otvorite rezultirajuću EXE datoteku. Pred nama će se pojaviti prazan prozor poput ovog:

Drag&Drop, nažalost, nije podržan, pa ćemo za početak morati pozvati meni „Datoteka“ i odabrati jednu od dvije dostupne akcije: „Kreiraj“ novu bazu podataka ili „Otvori“ postojeću. Otvorimo postojeću bazu podataka:

Sadržaj odabrane baze podataka će se otvoriti pred nama u obliku tabele. „Nulta“ linija prikazuje nazive polja, a počevši od prvog reda - sam sadržaj. Ispod sadržaja nalazi se traka sa alatkama i statusna traka.

Potonji prikazuje dosta korisnih informacija. službene informacije, uključujući broj zapisa u bazi podataka, kodiranje, datum kreiranja i automatski određeni format. Od formata, Sdbf ne podržava samo ranije verzije xBase (I i II) i omogućava vam otvaranje i kreiranje DBF datoteka sljedećih tipova:

  • xBase III - VII;
  • xClipper;
  • xFoxPro;
  • xVisualFoxPro.

Alati za pretraživanje i filtriranje podataka

Program Sdbf vam omogućava da direktno uredite bilo koju ćeliju otvorene baze podataka, međutim, potrebne ćelije još uvijek treba pronaći... Ako je baza podataka mala i jednostavna, onda se to može učiniti prilično brzo i ručno. Međutim, ako postoji nekoliko desetina ili čak stotina zapisa, pretraživanje može biti prilično teško.

Ali to nije toliki problem, jer Sdbf ima nekoliko alata odjednom koji vam omogućavaju da filtrirate nepotrebne podatke i prikažete samo ono što vam je potrebno!

Ovi alati se nalaze na donjoj alatnoj traci. Ovdje se prvo nalazi 8 navigacijskih dugmadi koji vam omogućavaju navigaciju kroz bazu podataka (strelice), dodavanje/brisanje unosa, kao i potvrđivanje ili otkazivanje promjena. Funkcije koje su nam potrebne počinju s devetim gumbom - "Traži":

Kada je dugme aktivirano, ispred nas se pojavljuje mali prozor sa formom za pretragu. Moramo da navedemo tekst koji će se pronaći i sa padajuće liste izabrati polje za pretragu. Sada kliknite na dugme “Pronađi sljedeće” i program će automatski odabrati red nakon trenutnog odabira koji sadrži tekst koji tražite. Ponovnim pritiskom na dugme će se istaći linija ispod trenutne, koja sadrži iste tražene podatke, itd.

Ponekad se u bazama podataka javlja nestandardno formatiranje ćelija: dodatni prostori, tabulatori i drugi simboli koji nisu vizuelno prikazani, ali utiču na rezultat pretrage. Ako naiđete na takav slučaj, da bi funkcija normalno radila, morat ćete samo poništiti potvrdni okvir "Na osnovu formata" u donjem središnjem dijelu prozora za pretraživanje i traženi nizovi će početi da se prikazuju.

Funkcija pretraživanja je zgodna kada moramo brzo pronaći pojedinačna pojavljivanja određenih podataka. Ali postoje slučajevi kada bi bilo zgodnije prikazati nekoliko redova odjednom koji sadrže samo određene informacije. U ovom slučaju će nam pomoći druga funkcija (čije se dugme nalazi odmah iza dugmeta za pretragu) - „Filter“:

Da bismo omogućili filtriranje, prvo moramo pravilno sastaviti upit i uneti ga u posebno za to određeno polje (odmah iza dugmeta u centralnom delu trake sa alatkama). Princip podnošenja zahtjeva je jednostavan, ali nije sasvim očigledan. Prvo trebamo unijeti naziv polja po kojem želimo filtrirati tabelu baze podataka, a zatim postaviti vrijednost filtera na konkretan tekst, po kojem trebamo pronaći sve redove.

Vrijednost stavljamo u jednostruke navodnike, nakon čega pritisnemo samo dugme „Filter“ (postaje pritisnut) i dobijamo tabelu koja sadrži podatke samo sa vrednostima koje su nam definisane u navedenim poljima (u primeru, filtrirali smo sve redove sa vrijednošću “U.S.A” u polju “Country” (velika i mala slova imena nisu bitna)). Možete vratiti tabelu u prvobitni oblik jednostavnim pritiskom na dugme “Filter” (ponovo se oslobađa).

Polje za filtriranje može sadržavati najjednostavnije uslove “i” (za preciziranje upita za nekoliko polja) i “ili” (za alternativni izbor podataka iz različitih polja). Nažalost, Sdbf ne podržava upite o isključenju (kao što je "ne"), ali ovo ograničenje možemo zaobići na drugi način, o čemu će biti riječi u nastavku.

Inače, kako ne biste ručno unosili zahtjev za filtriranje, možete koristiti sljedeći trik: odaberite bilo koji unos u polju po kojem ćete filtrirati i pritisnite kombinaciju tipki “Alt+F” (ne F4 :). Zahtjev će biti automatski generiran, a vrijednost će sadržavati znak “*”, koji je maska ​​za pretraživanje i odgovara bilo kojem broju bilo kojeg karaktera.

Jao, ovo je jedina vrsta maski koja se može koristiti u Sdbf-u i, što je još tužnije, jedan zahtjev može sadržavati samo jednu masku :(. Stoga, ako trebate filtrirati isto polje po nekoliko parametara, morat ćete koristite operator “i” (brzo generiranje zahtjeva pritiskom na “CTRL+ALT+F”) ili “ili” (“SHIFT+ALT+F”).

Izvršavanje SQL upita prema tablicama baze podataka

Pretraživanje i filtriranje su nesumnjivo dobri, ali nisu uvijek zgodni. Kada je broj zapisa veliki, lako možemo izgubiti iz vida podatke koji su nam potrebni prilikom raščlanjivanja tabela. Međutim, za ovaj slučaj, Sdbf ima odličnu karakteristiku - podršku za SQL upite!

Koristeći takve upite u Sdbf-u možemo:

  1. Dinamički formatirajte našu tabelu, kreirajući selekciju samo za određene Obavezna polja(SELECT i SELECT TOP iskazi);
  2. Kopiranje podataka iz jedne baze podataka u drugu (INSERT FROM i INSERT INTO);
  3. Izmijeniti i izbrisati sadržaj određenih redova (UPDATE i DELETE, respektivno);
  4. Grupni paralelni upiti (UNION);
  5. Oblik pivot table(PIVOT).

Da bismo započeli rad sa upitima, potrebno je da kliknemo na dugme „SQL upit“ na desnom kraju trake sa alatkama. Međutim, rezultat takve akcije će biti donekle obeshrabrujući: sadržaj upravo uređene baze podataka će nestati, a na vrhu radnog prozora će se pojaviti još jedan prazan prozor sa dva polja (na vrhu je polje za izlaz podataka, a na na dnu je polje za unos).

Ne plašite se :). Potrebno je samo da odmah unesete željeni SQL upit u donje polje sa naznakom imena željene baze podataka. Ako se ne sjećate ovog imena, možete ga aktivirati bočna traka Sdbf (klikom na sivu okomitu traku sa desne strane), koji u obliku liste prikazuje sve baze podataka koje ste ranije otvorili:

Takođe, da biste ubrzali svoj rad, preporučljivo je zapamtiti prečice, koje možete pogledati pozivanjem pomoći pritiskom na tipku F1. Ima ih samo tri, ali mogu značajno ubrzati proces kreiranja pravih upita.

Dakle, kombinacija “CTRL+Space” će prikazati iskačući prozor sa listom dostupnih imena baze podataka (kako ne bi gledao u bočnu traku), “CTRL+F” će prikazati listu funkcija za trenutnog operatera, i “CTRL+Enter” će pokrenuti proces izvršavanja upita. Osim toga, ako kliknete na polje za unos desni klik miša (pozovite kontekstni meni), tada ćemo dobiti listu operatora koje podržava Sdbf.

Vratimo se na naš prethodni snimak ekrana i pogledajmo jednostavan zahtjev, koji je tamo sastavljen. Zasnovan je na “SELECT” operatoru, što znači da nam vraća odabir. Parametar odabira je “*”, što znači prikazivanje bilo kojeg podatka, ali tu možemo navesti, odvojeno zarezima, nazive svih polja u tabeli baze podataka.

Izbor koji smo pogledali iznad je najjednostavniji, ali Sdbf vam omogućava da izvodite složenije upite. Na sljedećem snimku ekrana vidjet ćemo selekciju, dinamički generiranu tabelu koja se sastoji od polja koja sadrže imena klijenata, grad u kojem žive i državu. Osim toga, klijenti se filtriraju prema zemlji prebivališta (SAD) i rezultati se prikazuju po abecednom redu:

Ako ga rastavite ovaj zahtjev, tada ćemo vidjeti već spomenuti metod uzorkovanja po poljima koja su navedena odvojena zarezima iza SELECT izraz. Dalje, ista naznaka imena baze podataka, ali sada zahtjev tu ne završava.

Sljedeći korak je ispisivanje glavnih funkcija operatera koje će se morati izvršiti kao rezultat obrade zahtjeva. Ovdje ih ima dvoje.

Prvi - "gdje" je sličan filteru o kojem smo ranije razgovarali i obavlja sličnu akciju - omogućava vam da odaberete samo one zapise koji odgovaraju uvjetu.

Druga funkcija, “order by”, odgovorna je za sortiranje rezultata dobijenih po jednom od polja (u ovom slučaju po polju sa imenom klijenta - “NAME”) po abecednom (“asc” parametar) ili obrnuto (“ desc”) red.

Naravno, navedeni primjer je također prilično primitivan, ali odražava opću suštinu kreiranja i obrade SQL upita. Ako želite saznati više o njima, savjetujem vam da pročitate priručnike ovdje: http://dimonchik.com/insert.html ili https://www.sql.ru/articles/articles.aspx?g=SQL&s= 0.

Inače, prednost Sdbf-a je mogućnost izvoza tabele dobijene kao rezultat upita kao nove baze podataka ili kao HTML, RTF ili CSV fajl! Da biste to učinili, samo pozovite kontekstni meni polja za prikaz tabele i odaberite odgovarajuću stavku.

Dodatne funkcije iz trake menija

Shvatili smo osnovne mogućnosti Sdbf-a, ali tu nije kraj. Brojne korisne, pa čak i jedinstvene funkcije skrivene su u traci menija, iste one koju smo koristili za otvaranje baze podataka :) Dakle, mnoge korisne karakteristike(koji vam ponekad omogućavaju da radite bez SQL upita) možete u meniju „Tabela“:

Između ostalih “korisnih stvari” poput promjene kodiranja i spajanja baza podataka, na samom dnu možemo pronaći stavku “Promijeni strukturu”. Ova stavka otvara dodatni prozor u kojem možemo u potpunosti promijeniti sva polja otvoreni sto, dodajte nove ili izbrišite sve nepotrebne sekcije (isti prozor se otvara kada kreirate bazu podataka od nule).

Konkretno, možemo promijeniti redoslijed polja, njihova imena, tipove, veličine (broj znakova u ćeliji) i preciznost (dubinu bita - obično se postavlja automatski i ovisno o vrsti polja).

Jedina stvar koju trebate imati na umu kada uređujete (a posebno kreirate) baze podataka je da svaki tip baze podataka ima svoje skupove tipova polja i često su (ako ne uzmete u obzir glavne N, C, D) različite. Na primjer, xClipper baze podataka ne podržavaju polja sa slikama (P, B), a xBase do sedme verzije ne podržava polja sa automatskim inkrementiranjem (+). Odnosno, uvijek morate zapamtiti kompatibilnost :).

Dok gledamo u traku sa menijima, ne zaboravite da pogledate meni "Polje":

Ovdje postoje samo dvije funkcije, ali one mogu biti vrlo korisne! Posebno prvi - "Zamijeni". Omogućava vam da brzo automatski način rada zamijeni vrijednosti u cijeloj koloni navedeno polje, ili određene riječi i simbole u cijeloj bazi podataka!

Funkcija "Izračunaj" analogna je Excelovim formulama za automatsko izračunavanje i daje nam priliku da izvodimo takve matematičke i statističke operacije kao što je pronalaženje autosuma polja, izračunavanje aritmetičke sredine, kao i maksimalne i minimalne vrijednosti. Naravno, da bi se izvršili proračuni, tipovi polja moraju biti numerički (N, F, I, O, B).

Posljednja karakteristika koja nije tako očigledna, ali može biti korisna je ugrađeni HEX editor:

Omogućava vam da uredite podatke bilo koje ćelije. Da biste to učinili, samo odaberite sadržaj koji treba promijeniti i kontekstni meni odaberite posljednju stavku - "Otvori u heksadecimalnom". To je to - možete urediti i spremiti ili odmah ispisati rezultat!

Prednosti i mane programa

  • prenosivost i mala veličina;
  • podrška za gotovo sve vrste DBF datoteka;
  • mogućnost kreiranja baza podataka od nule;
  • podrška za SQL upite;
  • ugrađeni sistem za pretraživanje, filtriranje i uređivanje podataka.
  • ne dozvoljava vam da navedete više od jedne maske u filteru;
  • Ne postoji funkcija poništavanja.

zaključci

Sdbf program, uprkos svojoj skromnoj veličini i Zahtjevi sustava omogućava vam da uradite, ako ne sve, onda jako, jako puno sa DBF bazama podataka... A implementacija podrške za SQL upite generalno vam omogućava da posao uređivanja baze podataka dovedete do novi nivo! Uz njihovu pomoć možete lako nadoknaditi mnoge nedostatke u radu kroz grafičko sučelje.

Najveće razočaranje, po mom mišljenju, bio je izostanak najtrivijalnije funkcije „Undo poslednja akcija" u svijetu "CTRL+Z": (Najnerviranije je to što zbog previda ili neznanja korisnik može, na primjer, slučajno primijeniti autoispravku na cijelo polje, pa će biti nemoguće vratiti podatke :(

Za ovo možemo konstatovati da je program više nego uspješan u funkcionalnom smislu, ali prije rada s njim uvijek se pridržavajte drevnog administratorskog pravila - KREIRAJTE BACKUPS! I bićete srećni :)

P.S. Daje se dopuštenje za slobodno kopiranje i citiranje ovog članka, pod uvjetom da je naznačena otvorena aktivna veza do izvora i da je sačuvano autorstvo Ruslana Tertyshnyja.

DBF je široko korišćen format za skladištenje podataka koji se pojavio 80-ih godina prošlog veka. Format je prvi put korišten u dBase DBMS porodici. Zbog popularnosti i raširene upotrebe dBase-a, mnogi su slični dBase-u softverskih proizvoda, pod zajedničkim nazivom xBase. Unatoč značajnoj starosti formata, on je još uvijek u širokoj upotrebi. Ovaj članak govori o tome kako raditi s DBF-om iz 1C:Enterprise.

U 1C:Enterprise, poseban softverski 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 sa DBF datotekama, zapamtite da ime datoteke mora zadovoljiti ograničenje 8.3.

Pažnja!

xBase objekat je dostupan i na strani klijenta i na strani servera. Trebalo bi razmišljati o interakciji klijent-server prilikom rješavanja svakog konkretnog problema.

Čitanje DBF datoteke

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

  1. Kreiranje XBase objekta;
  2. Otvaranje datoteke;
  3. Sekvencijalno iterira kroz sve redove datoteke i čita vrijednosti polja;
  4. Zatvaranje fajla.
DBP = Nova XBase; DBP. OpenFile("D:\MyFile.dbf" ); // Faza 2. Otvaranje datoteke Dok je ciklus istine // Faza 3. Iterirajte kroz redove datoteke Izvještaj(DBF.NAME); Ako NIJE DBP. Next() Onda // Položaj na sljedećem zapisu Prekini; endIf; EndCycle; DBP. CloseFile(); // Faza 4. Zatvaranje datoteke

Možete koristiti malo izmijenjen algoritam za ponavljanje linija datoteke:

NIJE DBF još. AtEnd() Izvještaj petlje (DBF.NAME); DBP. Sljedeći(); EndCycle;

Prijenos u DBF datoteku

Faze učitavanja u DBF fajl:

  1. Kreiranje XBase objekta;
  2. Određivanje kodiranja (ako nije navedeno, koristit će se ANSI kodiranje);
  3. Opis polja;
  4. Kreirajte datoteku;
  5. Petlja sa dodavanjem i popunjavanjem linija;
  6. Zatvaranje fajla.

Pogledajmo ovaj proces koristeći primjer:

DBP = Nova XBase; // Faza 1. Kreirajte XBase objekt DBP. Kodiranje = EncodingXBase. OEM; // Faza 2. Određivanje kodiranja DBP. Polja. Dodaj("CODE" , "S" , 9 ); // Faza 3. Opis imena i tipa polja DBP. Polja. Dodaj("NAME" , "S" , 40 ); DBP. CreateFile("D:\MyFile.dbf" ); // Faza 4. Kreiranje datoteke Izbor = Direktoriji. Nomenklatura. Izaberi(); Bye Selection. Next() Petlja DBP. Dodati();// Dodaj red DBP. KOD = Uzorak. Code;// Popunite vrijednost polja(); DBP. NAZIV = Izbor. Ime;

DBP. Pisati();

  • // Pisanje linije EndCycle; DBP. CloseFile// Faza 6. Zatvaranje datoteke
  • Prilikom navođenja kodiranja koristi se tip XBase Encoding koji može imati dvije vrijednosti: ANSI

– Windows format;

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

– DOS format.

  • Dodavanje novog polja kada se opisuje struktura ima sintaksu
  • Dodati
  • Dostupne su sljedeće vrste:
  • “N” – broj;
  • “S” – niz;

Dužina polja je potrebna za tipove polja "N", "F" i "S".

Rad sa indeksima

Indeksna datoteka se može koristiti zajedno s DBF datotekom, koja može sadržavati informacije o jednom ili više indeksa. Prisustvo indeksa čini moguća upotreba pretraživanje, a ne samo sekvencijalno pretraživanje svih redova datoteke.

Kada kreirate indeksni fajl, morate navesti:

  • Lista indeksa;
  • Putanja za spremanje indeksne datoteke (u fazi 4 otpremanja).

Primjer kreiranja indeksne datoteke:

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

Sintaksa za dodavanje novog indeksa je:

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

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

  • Odredite putanju 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 na prvi red indeksa prije nego što prelazite redove uzastopno. To se može učiniti pomoću metode First(), na primjer:

DBP. Prvo();

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

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

Kao rezultat obe funkcije, vraća se vrednost tipa Boolean (bez obzira da li je pronađen zapis sa navedenim uslovima ili ne). Ako je pretraga uspješna, trenutni pokazivač se postavlja 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, specificira se dodatna indeksna datoteka DBP. CurrentIndex = dbf. Indeksi. INDCODE; // Postavlja trenutni indeks // traži metodom Find: Ako DBP. Find("000000003" , "=" ) Zatim Izvještaj( + DBP. NAME); Else Report("Nije pronađeno"); endIf; // traži pomoću FindByKey metode: DBP. Ključ. CODE = "000000002" ; Ako DBP. FindByKey("=" ) Zatim prijavi( "Pronađeno. Naziv stavke: "+ DBP. IME); Else Report("Nije pronađeno"); endIf; DBP. CloseFile();

Brisanje unosa u DBF datoteci

Brisanje zapisa se vrši metodom Delete ():

DBP . Izbriši();

Ali kada se koristi ovaj metod, zapis se ne briše trajno iz datoteke; Prilikom iteracije preko redova, zapisi označeni za brisanje se preskaču. Ako želite da indeksirate cijelu datoteku, uključujući unose označene za brisanje, morate postaviti svojstvo na True. DisplayDeleted xBase objekat. Možete saznati da li je zapis označen za brisanje ili ne pomoću funkcije RecordDeleted(). Da biste uklonili oznaku za brisanje, koristite metodu Restore().

DBP . DisplayDeleted = Tačno; NIJE DBF još. AtEnd() Loop If DBP. RecordDeleted() Zatim DBP. Restore();(); EndCycle;

endIf; DBP. Sljedeći

DBP Da direktno uklonite označene unose, koristite metodu Shrink():();

. Compress

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

. ClearFile

Učitavanje iz DBF-a koristeći ADO ADO tehnologija se može koristiti za rad sa DBF datotekama. ADO drajveri uključeni operativni sistem

Nema potrebe da instalirate Windows ili da ih dodatno instalirate.

Pogledajmo primjer koda za čitanje iz DBF datoteke koristeći ADO tehnologiju: ADO = Novi COMObject("ADODB.Connection" );// Kreiranje COM objekta ADO. Otvori("Provider=Microsoft.Jet.OLEDB.4.0; |Izvor podataka=""D:\""; |Proširena svojstva=DBASE III" ); DB = ADO. Execute("Izaberi * iz MyFile" );// zahtjev za preuzimanje svih zapisa iz MyFile.DBF datoteke Zbogom BD. EOF= 0 ciklus//Petlja kroz zapise DBF datoteke Izvještaj(DB. Polja("Ime"). vrijednost);// Primjer pristupa vrijednosti polja DB. MoveNext();//Idi na sljedeći unos

EndCycle; ADO. Zatvori();

  • Prikazani primjer koristi niz veze "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="D:\";Extended Properties=DBASE III". u ovom redu:
  • Provajder je upravljački program koji se koristi;
  • Izvor podataka – putanja na kojoj se nalazi DBF datoteka. Putanja je navedena tačno do direktorijuma. Ime datoteke se koristi kao ime tabele u upitima;

Pažnja!

Proširena svojstva – kada se pristupa DBF datotekama, ovo je obavezan parametar. Možete odrediti format datoteke

Prilikom čitanja pomoću specificirane metode, zadano kodiranje je OEM. Da biste promijenili kodiranje u ANSI, trebate postaviti parametar HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\xBase\DataCodePage na "ANSI" u Windows registru.
Imate još pitanja?

kako napraviti dbf datoteku iz Excel-a koristeći ADO u ADO-u. Zbunio sam se...... to su specifične informacije.... 1. povezivanje na dbf (i na šta se još možete povezati pomoću ado-a i kako); 2. kreiranje dbf datoteke (ostale opcije); 3.record; 4.ušteda; 5.zatvaranje. hvala za bilo kakvu informaciju

sta traziti na ovoj temi ili potpuno ignorisati.....na temu ADO mozda bi bilo bolje da se napravi tema.....opsežna upotreba ADO

štedljivo kako ispada

Kod za zadatak: “Kreiranje dbf datoteke iz Excela”

Tekstualni

Listing programa

"::: Faza 1 - Odredite gdje pokrećemo iz homeDir=Wscript.ScriptFullName "::: Ovo je puna putanja naše datoteke k=Instrrev(homeDir,"\") "::: Tražimo "\ " na kraju homeDir=left (homeDir,(k-1)) "::: Ovo je čisto ime direktorija "::: Korak 2 - Kreirajte ADO vezu i prazan skup zapisa Postavite Conn = CreateObject("ADODB .Connection") Postavite RS = CreateObject(" ADODB.Recordset") DSNName = "DRIVER=Microsoft dBase Driver (*.dbf);DBQ=" DSNName = DSNName & HomeDir "::: Faza 3 - Otvorite vezu Conn.Open DSNName "::: Faza 4 - pripremite SQL- operator za kreiranje tablice SQL="kreirajte tablicu Testtable (N1 Float, N2 Float)" "::: Faza 5 - izvršite RS.Open sql,Conn,3,3 " ::: Faza 6 - Dodajte 100 zapisa u tablicu Za i=1 do 100 SQL="ubaci u vrijednosti testne tablice (" & cstr(i) & "," & Cstr(2*i-1) & ") " RS.Open sql,Conn,3,3 Next ":: : Faza 7 - suma... SQL="Odaberi sumu(N1),sum(N2) iz Testtable" RS.Open SQL,Conn,3,3 SS1 =RS(0) SS2=RS(1) MsgBox SS1 MsgBox SS2 Rs.Close SQL="Drop table Testtable" RS.Open sql,Conn,3,3 MsgBox "Tabela ispuštena!"

Dijeli