Loo dbf-fail Excelist - VBA. Andmete teisendamine Microsoft Excelist DBF-vormingusse Kuidas luua dbf-faili

Tasuta universaalne DBF-redaktor, mis võimaldab avada olemasolevaid ja luua uusi andmebaase. Sellel on väga väike suurus, seda saab käivitada mälupulgalt ja samal ajal on sellel palju täiustatud tööriistu DBF-failidega töötamiseks, mille hulgas on isegi SQL-päringute tugi!

Ekraanipiltide galerii

Tavaliselt käsitleme saidil programme, mis pakuvad huvi paljudele lugejatele, kuid täna pole see juhtum täiesti tavaline :). Kunagi töötasin omamoodi "arvutispetsialistina" mitmes riigiametis ja seal tuli tihti kokku puutuda erinevate FoxPro-l põhinevate programmidega ...

Peamine probleem kõigi nende rakenduste juures oli see, et lihtne kasutaja sai andmebaasi nii kergesti kokku keerata, et seda hiljem avada ei saaks. tavalisi vahendeid, nii et pidime olema perverssed, et teda uuesti ellu äratada (mis polnud alati võimalik, arvestades "metsiku juzverevi" "võimeid" :)).

Ja nüüd, mitu aastat hiljem, kui ma seal enam ei tööta, saatsid nad meile meili palvega lisada uus tasuta programm DBF-i andmebaaside redigeerimiseks, millel on lihtne nimi - Sdbf... Räägime temast :)

Võrdlus tasulise analoogiga

Sdbf, vaatamata oma kaasaskantavusele (see võib töötada mälupulgalt!) Ja väiksusest, on üsna arenenud andmebaasiredaktor, mis võimaldab teil luua, redigeerida ja eksportida mis tahes DBF-vormingus andmebaase, alates xBaseIII spetsifikatsioonist kuni kaasaegse xVisualFoxProni! Võrdleme Sdbf-i funktsioone ühe kõige arenenuma sedalaadi redaktori DBF Commander Professional võimalustega:

Ülaltoodud plaadilt näeme, et programmid erinevad veidi funktsionaalsuse poolest, kuid Sdbf on esiteks kaasaskantav (mis on tavaliselt oluline, kuna iga arvutitehnik eelistab komplekti kaasas kanda vajalikud programmid USB-mälupulgal) ja teiseks on see täiesti tasuta!

Sdbf käivitamine esimest korda

Programmi käivitamiseks pakkige see lihtsalt allalaaditud arhiivist mis tahes asukohta lahti ja avage saadud EXE-fail. Meie ette ilmub järgmise vormi tühi aken:

Drag & Drop paraku ei toetata, nii et alustamiseks peame helistama menüüsse "Fail" ja valima seal ühe kahest saadaolevast toimingust: "Loo" uus andmebaas või "Ava" olemasolev. Avame olemasoleva baasi:

Enne meid avame valitud andmebaasi sisu tabeli kujul. Real "null" kuvatakse väljade nimed ja esimesest reast alustades kuvatakse sisu ise. Sisu all on tööriistariba ja olekuriba allosas.

Viimane kuvab palju kasulikku teenuseteavet, sealhulgas andmebaasis olevate kirjete arvu, kodeeringut, loomise kuupäeva ja automaatselt määratud vormingut. Sdbf ei toeta ainult varased versioonid xBase (I ja II) ning võimaldab teil avada ja luua järgmist tüüpi DBF-faile:

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

Andmete otsimise ja filtreerimise tööriistad

Sdbf võimaldab teil otse redigeerida mis tahes lahtrit avatud andmebaasis, kuid vajalikud rakud vaja veel leida ... Kui alus on väike ja vähenõudlik, siis saab seda teha üsna kiiresti ja käsitsi. Kui aga kirjeid on mitukümmend või isegi sadu, siis võib otsimine olla päris keeruline.

Kuid see pole selline probleem, kuna Sdbf-l on korraga mitu tööriista, mis võimaldavad teil mittevajalikud andmed välja filtreerida ja kuvada ainult seda, mida vajate!

Need tööriistad asuvad alumisel tööriistaribal. Siin on alguses 8 navigeerimisnuppu, mis võimaldavad andmebaasis ringi liikuda (nooled), kirjeid lisada/kustutada, samuti muudatusi kinnitada või tühistada. Vajalikud funktsioonid algavad üheksanda nupuga - "Otsi":

Kui nupp on aktiveeritud, ilmub meie ette väike aken otsinguvormiga. Peame märkima otsitava teksti ja valima ripploendist välja, mille järgi otsing teostatakse. Nüüd vajutage nuppu "Leia järgmine" ja programm valib automaatselt jooksvale valikule järgneva rea, mis sisaldab soovitud teksti. Nupu uuesti vajutamine tõstab esile praeguse rea all oleva rea, mis sisaldab samu nõutavaid andmeid jne.

Mõnikord on andmebaasides ebastandardne lahtrite vorming: lisatühikud, tabeldusmärgid ja muud märgid, mida visuaalselt ei kuvata, kuid mis mõjutavad otsingutulemust. Kui olete sellise juhtumiga silmitsi seisnud, peate funktsiooni normaalseks tööks eemaldama ainult otsinguakna alumises keskosas oleva märkeruudu "Vormingu alusel" ja kuvatakse otsinguread.

Otsingufunktsioon on kasulik, kui peame kiiresti leidma konkreetsete andmete üksikud esinemised. Kuid on aegu, mil oleks mugavam kuvada korraga mitu rida, mis sisaldavad ainult teatud teavet. V sel juhul teine ​​funktsioon (mille nupp läheb kohe otsingunupu järel) aitab meid - "Filter":

Filtreerimise kasutamiseks peame kõigepealt õigesti koostama päringu ja sisestama selle spetsiaalselt määratud väljale (kohe pärast tööriistariba keskosas olevat nuppu). Taotluse koostamise põhimõte on lihtne, kuid mitte täiesti ilmne. Peame esmalt sisestama välja nime, mille järgi peame andmebaasi tabelit filtreerima, ja seejärel võrdsustama filtri väärtuse konkreetse tekstiga, mille järgi peame leidma kõik read.

Väärtuse võtame jutumärkides, mille järel vajutame ise nuppu "Filter" (see muutub kinni) ja saame tabeli, mis sisaldab andmeid ainult väärtustega, mille oleme määratlenud määratud väljadel (näites filtreerisime kõik read, mille väljal "Riik" on väärtus "USA" (nime suurtäht ei oma tähtsust)). Tabeli algsesse vaadet saate naasta lihtsalt uuesti nuppu "Filter" vajutades (see vabastatakse uuesti).

Filtreerimisväli võib sisaldada lihtsamaid tingimusi "ja" (päringu täpsustamiseks mitme välja võrra) ja "või" (alternatiivselt erinevate väljade andmete valimiseks). Kahjuks ei toeta Sdbf eksklusiivseid päringuid (nt "mitte"), kuid me saame sellest piirangust mööda minna muul viisil, millest räägitakse allpool.

Muide, selleks, et filtreerimistaotlust mitte käsitsi sisestada, võite kasutada järgmist nippi: valige väljal mis tahes kirje, mille järgi filtreerite, ja vajutage klahvikombinatsiooni Alt + F (mitte F4 :))). Päring genereeritakse automaatselt ja väärtus sisaldab märki "*", mis on otsingumask ja vastab mis tahes arvule märkidele.

Kahjuks on see ainus maskide tüüp, mida saab Sdbf-is kasutada ja mis veelgi hullem, üks päring võib sisaldada ainult ühte maski :(. Seega, kui teil on vaja sama välja filtreerida mitme parameetri järgi, peate kasutama operaator "ja" (päringu kiire moodustamine, vajutades "CTRL + ALT + F") või "või" ("SHIFT + ALT + F").

SQL päringute täitmine andmebaasi tabelite vastu

Otsimine ja filtreerimine on kahtlemata hea, kuid mitte alati mugav. Kui kirjete arv on suur, võime tabelite sõelumisel kergesti silmist kaotada andmed, mida vajame. Sel juhul on Sdbf-l aga suurepärane funktsioon – SQL-päringute tugi!

Nende Sdbf-i päringute abil saame:

  1. Vormindage meie tabel dünaamiliselt, luues valiku ainult teatud kohustuslike väljade jaoks (laused SELECT ja SELECT TOP);
  2. Andmete kopeerimine ühest andmebaasist teise (INSERT FROM ja INSERT INTO);
  3. Muutke ja kustutage teatud ridade sisu (vastavalt UPDATE ja DELETE);
  4. Rühma paralleelpäringud (UNION);
  5. Kujundamiseks pöördetabelid(PIVOT).

Päringutega töötamise alustamiseks peame klõpsama tööriistariba paremas otsas nuppu "SQL päring". Sellise tegevuse tulemus on aga mõnevõrra heidutav: äsja redigeeritud andmebaasi sisu kaob ja tööakna kohale ilmub teine ​​tühi kahe väljaga aken (ülaosas - andmeväljundi väli ja alla - sisestusväli).

Ära karda :). Peate lihtsalt alumisele väljale koos nimega sisestama nõutud SQL-päringu vajalik alus andmeid. Kui te seda nime ei mäleta, saate aktiveerida kõrvalpaneel Sdbf (klõpsates paremal asuval hallil vertikaalsel ribal), mis kuvab loendina kõik varem avatud andmebaasid:

Samuti on töö kiirendamiseks soovitav meelde jätta kiirklahvid, mida saab vaadata F1 klahvi vajutades abi kutsudes. Neid on ainult kolm, kuid need võivad õigete päringute loomise protsessi oluliselt kiirendada.

Niisiis, kombinatsioon "CTRL + tühik" - kuvab hüpikakna saadaolevate andmebaasinimede loendiga (et mitte vaadata külgriba), "CTRL + F" - kuvab praeguse funktsioonide loendi. operaator ja "CTRL + Enter" käivitab päringu täitmisprotsessi ... Lisaks, kui teete sisestusväljal paremklõpsu (helistate kontekstimenüüsse), saame Sdbf-i toetatud operaatorite loendi.

Läheme tagasi eelmise ekraanipildi juurde ja heidame pilgu peale lihtsaim taotlus mis seal koostatakse. See põhineb lausel "SELECT", mis tähendab, et see tagastab meile valiku. Valikuparameeter on "*", mis tähendab mis tahes andmete väljundit, kuid seal võiksime märkida komadega eraldatuna andmebaasi tabeli mis tahes väljade nimed.

Eespool vaadeldud toomine on kõige lihtsam, kuid Sdbf võimaldab teha keerukamaid päringuid. Järgmisel ekraanipildil näeme valikut, dünaamiliselt genereeritud tabelit, mis koosneb väljadest, mis sisaldavad klientide nimesid, linna, kus nad elavad, ja riiki. Lisaks filtreeritakse kliente elukohariigi (USA) järgi ja tulemused kuvatakse tähestikulises järjekorras:

Kui võtate lahti antud palve, siis näeme komaga määratud väljade järgi juba mainitud valikumeetodit SELECT avaldus... Edasi sama andmebaasi nime märge, kuid nüüd päring sellega ei lõpe.

Järgmine samm on põhioperaatori funktsioonide loetlemine, mis tuleks päringu töötlemise tulemusel täita. Siin on neid kaks.

Esimene - "kus" on sarnane filtriga, millest me varem rääkisime, ja teeb sarnase toimingu - see võimaldab teil valida ainult need kirjed, mis vastavad tingimusele.

Teine funktsioon "order by" vastutab ühe välja (antud juhul kliendi nimega välja "NAME" järgi) saadud tulemuste sortimise eest tähestikulises järjekorras (parameeter "asc") või ümberpööratult (" desc") tellimus.

Loomulikult on antud näide ka üsna primitiivne, kuid peegeldab SQL päringute loomise ja töötlemise üldist olemust. Kui soovite nende kohta rohkem teada saada, soovitan teil lugeda juhendeid siit: http://dimonchik.com/insert.html või https://www.sql.ru/articles/articles.aspx?g=SQL&s= 0.

Muide, Sdbf eeliseks on võimalus eksportida päringu tulemusel saadud tabelit uue andmebaasina või HTML-, RTF- või CSV-failina! Selleks helistage lihtsalt tabeli kuvavälja kontekstimenüüsse ja valige sobiv element.

Lisafunktsioonid menüüribalt

Oleme välja mõelnud Sdbfi põhifunktsioonid, kuid see ei lõpe sellega. Menüüribal on peidetud mitmeid kasulikke ja isegi unikaalseid funktsioone, sama, mida kasutasime andmebaasi avamisel :) Nii et paljud kasulikud funktsioonid(mis võimaldab mõnikord ilma SQL-päringuteta hakkama saada) võib olla menüüs "Tabel":

Muude "kasulike asjade" hulgas, nagu kodeeringu muutmine ja andmebaaside liitmine päris allosas, leiame üksuse "Muuda struktuuri". See element kutsub esile lisaakna, milles saame täielikult muuta avatud tabeli kõiki välju, lisada uusi või kustutada mittevajalikke jaotisi (sama aken avaneb andmebaasi nullist loomisel).

Täpsemalt saame muuta väljade järjekorda, nende nimesid, tüüpe, suurusi (märkide arv lahtris) ja täpsust (bitisügavus – tavaliselt määratakse automaatselt ja oleneb välja tüübist).

Ainus, mida andmebaaside redigeerimisel (ja eriti loomisel) meeles pidada, on see, et igal andmebaasitüübil on oma väljatüüpide komplektid ja need erinevad sageli (kui mitte arvestada põhilisi N, C, D). Näiteks xClipperi alustes puudub piltidega väljade (P, B) tugi ja xBase kuni seitsmenda versioonini ei toeta automaatse suurendamise välju (+). See tähendab, et peaksite alati meeles pidama ühilduvust :).

Kui oleme menüüribal, ärge unustage vaadata menüüd Field:

Siin on ainult kaks funktsiooni, kuid need võivad olla väga kasulikud! Eriti esimene on "Asenda". See võimaldab teil kiiresti automaatrežiim asendage väärtused kogu määratud välja veerus või konkreetsed sõnad ja sümbolid kogu andmebaasis!

Funktsioon "Arvuta" on Exceli automaatse arvutamise valemite analoog ning võimaldab teha selliseid matemaatilisi ja statistilisi toiminguid nagu välja automaatsumma leidmine, aritmeetilise keskmise, aga ka maksimum- ja miinimumväärtuste arvutamine. Loomulikult peavad arvutuste tegemiseks väljatüübid olema numbrilised (N, F, I, O, B).

Viimane funktsioon, mis pole nii ilmne, kuid võib olla kasulik, on sisseehitatud HEX-redaktor:

See võimaldab teil redigeerida mis tahes lahtri andmeid. Selleks piisab, kui valida sisu, mis vajab muutmist ja sisse kontekstimenüü valige viimane üksus - "Ava kuueteistkümnendikul". See on kõik – saate tulemust kohe redigeerida ja salvestada või printida!

Programmi eelised ja puudused

  • teisaldatavus ja väike suurus;
  • peaaegu igat tüüpi DBF-failide tugi;
  • võimalus luua andmebaase nullist;
  • SQL päringute tugi;
  • sisseehitatud süsteem andmete otsimiseks, filtreerimiseks ja redigeerimiseks.
  • ei võimalda filtris määrata rohkem kui ühte maski;
  • tagasivõtmise funktsiooni pole.

järeldused

Sdbf programm oma tagasihoidliku suurusega ja Nõuded süsteemile võimaldab teha DBF-i andmebaasidega, kui mitte kõiki, siis väga-väga palju... Ja SQL päringute toe rakendamine üldiselt võimaldab viia andmebaasi redigeerimise töö uuele tasemele! Nende abiga saate graafilise liidese kaudu hõlpsasti kompenseerida paljusid töö puudusi.

Suurim pettumus oli minu meelest kõige triviaalseima funktsiooni "Tühista viimane tegevus"Maailmas" CTRL + Z ":( Kõige tüütum on see, et möödalaskmise või teadmatuse tõttu võib kasutaja näiteks kogemata automaatkorrektsiooni rakendada kogu väljale ja andmeid pole võimalik tagastada :(

Selle jaoks võime väita, et programm on funktsionaalselt enam kui edukas, kuid enne sellega töötamist järgige alati iidset administraatorireeglit - CREATE BACKUPS! Ja sa saad õnnelikuks :)

P.S. Seda artiklit on lubatud vabalt kopeerida ja tsiteerida, kui on näidatud avatud aktiivne link allikale ja säilib Ruslan Tertõšnõi autorsus.

DBF on laialt levinud andmesalvestusvorming, mis ilmus eelmise sajandi 80ndatel. Esimest korda kasutati vormingut DBMS-i dBase perekonnas. dBase'i populaarsuse ja laialdase kasutamise tõttu on paljud dBase'i sarnased tarkvaratooted, koondnimetusega xBase. Vaatamata formaadi märkimisväärsele vanusele on see endiselt laialt kasutusel. Selles artiklis käsitletakse 1C: Enterprise'i DBF-iga töötamise viise.

1C: Enterprise puhul kasutatakse DBF-vormingus failidega (versioon dBase III) töötamiseks spetsiaalset tarkvaraobjekti - xBase. Selle objektiga töötamine on tavaliselt lihtne.

Tähelepanu!

DBF-failidega töötades pidage meeles, et failinimi peab vastama 8.3 piirangule.

Tähelepanu!

Objekt xBase on saadaval nii kliendi kui ka serveri poolel. Iga konkreetse probleemi lahendamisel on vaja läbi mõelda kliendi-serveri suhtlus.

DBF-faili lugemine

Andmete lugemine aadressilt DBF-fail toodetakse mitmel järjestikusel etapil:

  1. XBase objektide loomine;
  2. faili avamine;
  3. Faili kõigi ridade järjestikune loendamine ja välja väärtuste lugemine;
  4. Faili sulgemine.
DBF = Uus XBase; DBF. OpenFile ("D: \ MyFile.dbf"); // 2. etapp. Faili avamine Kuigi tõetsükkel // 3. etapp. Faili ridade silmuskäik Aruanne (DBF. NAME); Kui EI DBP. Järgmine () Siis // Positsioneerimine järgmisel plaadil Katkesta; EndIf; Tsükli lõpp; DBF. CloseFile (); // Samm 4. Faili sulgemine

Faili ridade itereerimiseks saate kasutada veidi muudetud algoritmi:

Pole veel DBP. Lõpus () Loop Report (DBF. NIMI); DBF. Edasi(); Tsükli lõpp;

Laadige üles DBF-faili

DBF-faili üleslaadimise etapid:

  1. XBase objektide loomine;
  2. Kodeeringu määramine (kui pole määratud, kasutatakse ANSI-kodeeringut);
  3. Väljade kirjeldus;
  4. Failide loomine;
  5. Silmus koos lisamis- ja täitmisjoontega;
  6. Faili sulgemine.

Vaatame seda protsessi näitega:

DBF = Uus XBase; // 1. etapp. XBase objekti loomine DBF. Kodeerimine = EncodingXBase. OEM; // Etapp 2. Kodeeringu määramine DBF. Väljad. Lisa ("KOOD", "S", 9); // Etapp 3. Välja nimetuse ja tüübi kirjeldus DBF. Väljad. Lisa ("NAME", "S", 40); DBF. CreateFile ("D: \ MyFile.dbf"); // Samm 4. Looge fail Näidis = kataloogid. Nomenklatuur. Vali(); Proovide võtmise ajal. Järgmine () Loop DBF. Lisama(); // Lisa rida DBF. KOOD = Näidis. Kood; // Täitke välja väärtus DBF. NIMI = Näidis. nimi; DBF. Kirjutage (); // Salvestage rida EndCycle; DBF. Sulge fail(); // Etapp 6. Faili sulgemine

Kodeeringu määramisel kasutatakse EncodingXBase tüüpi, millel võib olla kaks väärtust:

  • ANSI- Windowsi formaat;
  • OEM- DOS-vorming.

Uue välja lisamisel struktuuri kirjeldamisel on süntaks

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

Saadaval on järgmised tüübid:

  • "N" on arv;
  • "S" - string;
  • "D" - kuupäev;
  • "L" - tõeväärtus;
  • "F" - sarnane "N" - numbriga.

Väljatüüpide "N", "F" ja "S" puhul on nõutav välja pikkus.

Töö indeksidega

Indeksfaili võib kasutada koos DBF-failiga, mis võib sisaldada teavet ühe või mitme indeksi kohta. Indeksite olemasolu teeb võimalik kasutamine otsingut, mitte ainult faili kõigi ridade järjestikust iteratsiooni.

Indeksifaili loomisel peaksite määrama:

  • Indeksite loend;
  • Registrifaili salvestamise tee (üleslaadimise 4. sammus).

Näide registrifaili loomisest:

DBF ... Indeksid. Lisa ("INDCODE", "CODE"); DBF. Loo fail("D: \ MinuFail.dbf", "D: \ index.cdx");

Uue indeksi lisamise protseduuril on süntaks:

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

Indekside kasutamiseks DBF-failist lugemisel toimige järgmiselt.

  • Määrake registrifaili tee (laadimise 2. etapis);
  • Seadke praegune indeks.

Näide DBF-faili avamisest registrifaili abil:

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

Tähelepanu!

DBF-faili avamisel toimub positsioneerimine faili esimesel kirjel. Faili esimene kirje ei ühti indeksi esimese kirjega. Seetõttu on indeksite kasutamisel enne ridade järjestikust läbimist vaja positsioneerida indeksi esimesele reale. Seda saab teha esimese () meetodi abil, näiteks:

DBF. Esimene ();

Otsimiseks saab kasutada ühte kahest funktsioonist:

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

Mõlema funktsiooni töö tulemusena tagastatakse boolean tüüpi väärtus (kas leitud tingimustega kirje leiti või mitte). Kui otsing on edukas, seatakse praegune kursor leitud stringile. Otsingurežiimina saab kasutada ühte järgmistest väärtustest:

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

Vaatame näidete abil otsingut DBF-failis:

DBF = Uus XBase; DBF. OpenFile ("D: \ MyFile.dbf", "D: \ index.cdx"); // DBF-faili avamisel määratakse täiendavalt registrifail DBF. CurrentIndex = DBF. Indeksid. INDCODE; // Praeguse indeksi määramine // otsige otsingumeetodiga: Kui DBF. Otsi ("000000003", "=") Seejärel teatage (+ DBF. NIMI); Vastasel juhul teatage ("ei leitud"); EndIf; // otsige FindByKey meetodi abil: DBF. Võti. KOOD = "000000002"; Kui DBF. FindByKey ("=") Seejärel teatage ( "Leitud. Kauba nimi:"+ DBP. NIMI); Vastasel juhul teatage ("ei leitud"); EndIf; DBF. Sulge fail();

DBF-faili kirjete kustutamine

Kirje kustutatakse meetodi Kustuta () abil:

DBF ... Kustuta();

See meetod aga ei kustuta kirjet failist jäädavalt, see märgitakse kustutatuks. Üle ridade itereerimisel jäetakse kustutamiseks märgitud kirjed vahele. Kui teil on vaja läbida kogu fail, sealhulgas kustutamiseks märgitud kirjed, peate määrama atribuudi väärtuseks Tõene. Ekraan Eemaldatud xBase objekt. Funktsiooni Record Deleted () abil saate teada, kas kirje on kustutamiseks märgitud või mitte. Kustutamise märgistuse tühistamiseks kasutage Taasta () meetodit.

DBF ... DisplayRemoted = Tõene; Pole veel DBP. Lõpus () Loop Kui DBF. Kirje kustutatud () Seejärel DBF. Taastama(); EndIf; DBF. Edasi(); Tsükli lõpp;

Märgitud kirjete otse kustutamiseks kasutage tihendamismeetodit ():

DBF ... Kahanema();

Kui peate failis kõik kirjed otse kustutama, võite kasutada meetodit ClearFile ().

DBF ... ClearFile();

Laadimine DBF-ist koos ADO-ga

ADO-tehnoloogiat saab kasutada DBF-failidega töötamiseks. ADO draiverid on Windowsi operatsioonisüsteemiga kaasas ja neid ei pea installima.

Vaatleme näidet koodist DBF-failist ADO-tehnoloogia abil lugemiseks:

ADO = Uus COMOobjekt ("ADODB.Ühendus"); // Looge COM-objekt ADO. Ava ( "Pakkuja = Microsoft.Jet.OLEDB.4.0; | Andmeallikas =" "D: \" "; | Laiendatud atribuudid = DBASE III"); DB = ADO. Käivitage ("Valige * MyFile'ist"); // taotlus kõigi kirjete hankimiseks failist MyFile.DBF Kuigi DB. EOF = 0 Tsükkel // Sirvige DBF-failis olevaid kirjeid Aruanne (DB. Väljad ("Nimi"). Väärtus); // Näide välja väärtusele juurdepääsust DB. MoveNext (); // Liigu järgmise kirje juurde Tsükli lõpp; ADO. Sulge ();

Antud näites kasutatakse ühendusstringi "Pakkuja = Microsoft.Jet.OLEDB.4.0; Data Source =" D: \ "; Extended Properties = DBASE III". Sellel real:

  • Pakkuja on juht, keda kasutada;
  • Andmeallikas on tee, kus DBF-fail asub. Tee on määratud kataloogi täpsusega. Failinime kasutatakse päringutes tabelinimena;
  • Laiendatud atribuudid – nõutav parameeter DBF-failidele viitamisel. Failivormingut saab määrata

Tähelepanu!

Määratud viisil lugemisel on vaikekodeeringuks OEM. Kodeeringu muutmiseks ANSI-ks määrake Windowsi registris parameetri HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Jet \ 4.0 \ Engines \ xBase \ DataCodePage väärtuseks "ANSI".

Kas teil on endiselt küsimusi?
Küsige artikli kommentaarides.

kuidas ADO-s ADO abil Exceli failist dbf faili luua Sattusin segadusse ...... just konkreetses infos .... 1. dbf-ga ühendamine (ja mida veel saab ado abil ühendada ja kuidas); 2. dbf faili loomine (muud valikud); 3.salvestus; 4.säästmine; 5.sulgemine. aitäh igasuguse info eest

mida antud teemal otsida või täielik ignoreerimine ..... teemal ADO saab paremini teemat luua ..... ADO laialdane kasutamine

säästlikult, kuidas see välja tuleb

Ülesande kood: "Dbf-faili loomine Excelist"

Tekstiline

Programmide loend

"::: 1. samm – määrake, kus me töötame saidist homeDir = Wscript.ScriptFullName" ::: See on meie faili täielik tee k = Instrrev (homeDir, "\") "::: Otsige" \ "alates the end homeDir = left (homeDir, (k-1)) "::: See on puhas kataloogi nimi" ::: 2. samm – looge ADO-ühendus ja tühi kirjekomplekt Set Conn = CreateObject ("ADODB.Connection") Määra RS = CreateObject (" ADODB.Recordset ") DSNName =" DRIVER = Microsoft dBase'i draiver (* .dbf); DBQ = "DSNNname = DSNNname & HomeDir" ::: 3. toiming. Ühenduse avamine Conn.Open DSNNname ":: : 4. samm – valmistage ette SQL-lause tabeli loomiseks SQL = "loo tabel Testtabel (N1 Float, N2 Float)" "::: 5. etapp - käivitame selle RS.Open sql, Conn, 3,3" ::: Etapp 6 - Lisage tabelisse 100 kirjet For i = 1 kuni 100 SQL = "sisestage testtabeli väärtused (" & cstr (i) & "," & Cstr (2 * i-1) & ")" RS.Open sql, Conn, 3,3 Next ":: : 7. etapp - kokkuvõte ... SQL = "Valige testtabelist summa (N1), summa (N2)" RS.Open SQL, Conn, 3,3 SS1 = RS (0 ) SS2 = RS (1) MsgBox SS1 MsgBox SS2 Rs.Close SQL = "Drop tabl e Testtabel "RS.Open sql, Conn, 3.3 MsgBox" Tabel kustutatud!