Creazione di un file DBF. Creazione di un file dbf da Excel - VBA. Funzioni aggiuntive dalla barra dei menu

DBF è un formato di archiviazione dati ampiamente utilizzato apparso negli anni '80 del secolo scorso. Il formato è stato utilizzato per la prima volta nella famiglia DBMS dBase. A causa della popolarità e dell'uso diffuso di dBase, molti sono simili a dBase prodotti software, collettivamente chiamati xBase. Nonostante la notevole età del formato, è ancora abbastanza diffuso. Questo articolo illustra come lavorare con DBF da 1C:Enterprise.

In 1C:Enterprise, per lavorare con i file nel formato DBF (versione dBase III), viene utilizzato un oggetto software speciale, xBase. Lavorare con questo oggetto di solito non causa difficoltà.

Attenzione!

Quando si lavora con file DBF, ricordare che il nome del file deve soddisfare il vincolo 8.3.

Attenzione!

L'oggetto xBase è disponibile sia sul lato client che sul lato server. Dovresti pensare attraverso l'interazione client-server quando risolvi ogni problema specifico.

Lettura di un file DBF

La lettura dei dati da un file DBF viene eseguita in diversi passaggi successivi:

  1. Creazione di un oggetto XBase;
  2. Apertura di un file;
  3. Itera in sequenza tutte le righe del file e leggi i valori dei campi;
  4. Chiusura del file.
DBP = Nuovo XBase; DBP. OpenFile("D:\MioFile.dbf" ); // Fase 2. Apertura del file Mentre il Ciclo della Verità // Fase 3. Ciclo attraverso le righe del file Rapporto(DBF.NOME); Se NON DBP. Successivo() Allora // Posizione sul record successivo Interrompere; finisci se; FineCiclo; DBP. ChiudiFile(); // Fase 4. Chiusura del file

Puoi utilizzare un algoritmo leggermente modificato per scorrere le righe di un file:

NON ancora DBF. Rapporto sul ciclo AtEnd() (DBF.NOME); DBP. Prossimo(); FineCiclo;

Caricamento in un file DBF

Fasi del caricamento in un file DBF:

  1. Creazione di un oggetto XBase;
  2. Specificando la codifica (se non specificata verrà utilizzata la codifica ANSI);
  3. Descrizione dei campi;
  4. Creazione di file;
  5. Ciclo con linee di aggiunta e riempimento;
  6. Chiusura del file.

Diamo un'occhiata a questo processo utilizzando un esempio:

DBP = Nuovo XBase; // Fase 1. Creare un oggetto XBase DBP. Codifica = CodificaXBase. OEM; // Fase 2. Specifica della codifica DBP. Campi. Aggiungi("CODICE" , "S" , 9 ); // Fase 3. Descrizione del nome e del tipo del campo DBP. Campi. Aggiungi("NOME" , "S" , 40 ); DBP. CreaFile("D:\MioFile.dbf" ); // Fase 4. Creazione del file Selezione = Directory. Nomenclatura. Scegliere(); Ciao selezione. Successivo() Ciclo DBP. Aggiungere(); // Aggiunge una riga DBP. CODICE = Campione. Codice; // Compila il valore del campo DBP. NOME = Selezione. Nome; DBP. Scrivere();(); // Scrive la riga EndCycle; DBP. ChiudiFile

// Fase 6. Chiusura del file

  • Quando si specifica la codifica viene utilizzato il tipo XBase Encoding che può assumere due valori: ANSI
  • – Formato Windows; OEM

– Formato DOS.

L'aggiunta di un nuovo campo quando si descrive una struttura ha la sintassi (< Имя>, < Тип>, < Длина>, < Точность>)

Aggiungere

  • Sono disponibili i seguenti tipi:
  • “N” – numero;
  • “S” – corda;
  • “D” – data;
  • “L” – booleano;

“F” – simile a “N” – numero.

La lunghezza del campo è obbligatoria per i tipi di campo "N", "F" e "S".

Lavorare con gli indici

Un file indice può essere utilizzato insieme al file DBF, che può contenere informazioni su uno o più indici. La presenza di indici consente di utilizzare la ricerca e non solo la ricerca sequenziale di tutte le righe del file.

  • Quando si crea un file indice, è necessario specificare:
  • Elenco degli indici;

Percorso per salvare il file indice (nella fase 4 del caricamento).

Esempio di creazione di un file indice: DBP. Indici. Aggiungi("INDCODE" , "CODICE" ); DBP. CreaFile

("D:\MioFile.dbf" , "D:\index.cdx" );

L'aggiunta di un nuovo campo quando si descrive una struttura ha la sintassi (< Имя>, < Выражение>, <Уникальность>, < Убывание>, < Фильтр >)

La sintassi per aggiungere un nuovo indice è:

  • Per utilizzare gli indici durante la lettura da un file DBF:
  • Specificare il percorso del file indice (nella fase 2 del download);

Imposta l'indice corrente.

Esempio di creazione di un file indice: Esempio di apertura di un file DBF utilizzando un file indice:;

Attenzione!

. OpenFile("D:\MioFile.dbf" , "D:\index.cdx" ); DBP. Indice corrente = dbf. Indici. CODICEIND

Quando si apre un file DBF, il posizionamento avviene sul primo record del file. La prima voce nel file non corrisponde alla prima voce nell'indice. Per questo motivo, quando si utilizzano gli indici, è necessario posizionarsi sulla prima riga dell'indice prima di attraversare le righe in sequenza. Questo può essere fatto utilizzando il metodo First(), ad esempio:

DBP. Primo();

  • Trovare (< Ключ>, < Режим >) ;
  • Per effettuare la ricerca è possibile utilizzare una delle due funzioni:< Режим >) .

Trova per chiave(

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

Come risultato di entrambe le funzioni, viene restituito un valore di tipo Booleano (se è stato trovato o meno un record con le condizioni specificate). Se la ricerca ha esito positivo, il puntatore corrente viene impostato sulla riga trovata. Come modalità di ricerca è possibile utilizzare uno dei seguenti valori:

DBP Diamo un'occhiata alla ricerca in un file DBF utilizzando gli esempi: = Nuovo XBase; DBP. OpenFile("D:\MioFile.dbf" , "D:\index.cdx" );// Quando si apre un file DBF, viene specificato un file indice aggiuntivo // Imposta l'indice corrente // cerca usando il metodo Trova: Se DBP. Trova("000000003" , "=" ) Quindi Rapporto( + DBP. NOME); Altro Report("Non trovato"); finisci se; // cerca utilizzando il metodo FindByKey: DBP. Chiave. CODICE = "000000002" ; Se DBP. TrovaPerChiave("=" ) Quindi Segnala( "Trovato. Nome articolo: "+ DBP. NOME);();

Altro Report("Non trovato"); finisci se;

DBP. ChiudiFile

Esempio di creazione di un file indice: Eliminazione di voci in un file DBF();

L'eliminazione di un record viene eseguita utilizzando il metodo Elimina (): . Eliminare Ma quando si utilizza questo metodo, il record non viene eliminato in modo permanente dal file, ma viene contrassegnato come eliminato. Quando si scorre su righe, i record contrassegnati per l'eliminazione vengono ignorati. Se desideri eseguire la scansione dell'intero file, comprese le voci contrassegnate per l'eliminazione, devi impostare la proprietà su True.

Esempio di creazione di un file indice: Visualizza Eliminato(); FineCiclo;

Oggetto xBase. Puoi scoprire se un record è contrassegnato per l'eliminazione o meno utilizzando la funzione RecordDeleted(). Per rimuovere il segno di cancellazione, utilizzare il metodo Restore().

Esempio di creazione di un file indice: . DisplayDeleted = Vero; NON ancora DBF. AtEnd() Ciclo se DBP. RecordDeleted() Quindi DBP. Ristabilire(); finisci se;();

DBP. Prossimo

Esempio di creazione di un file indice: Per rimuovere direttamente le voci contrassegnate, utilizzare il metodo Shrink():();

. Comprimere

Se è necessario eliminare direttamente tutte le voci in un file, è possibile utilizzare il metodo ClearFile():

. CancellaFile

Caricamento da DBF utilizzando ADO La tecnologia ADO può essere utilizzata per lavorare con file DBF. I driver ADO sono inclusi nel sistema operativo Windows e non devono essere installati ulteriormente. Diamo un'occhiata ad un esempio di codice per leggere da un file DBF utilizzando la tecnologia ADO: ADO = Nuovo COMObject("ADODB.Connection" );// Crea un oggetto COM ADO. Aprire("Provider=Microsoft.Jet.OLEDB.4.0; |Origine dati=""D:\""; |Proprietà estese=DBASE III" ); DB = ADO. Esegui("Seleziona * da MioFile");// richiesta di ottenere tutti i record dal file MyFile.DBF Ciao B.D. EOF= 0 Ciclo//Esegue il ciclo tra i record del file DBF Report(DB. Fields("Nome" ). valore);// Esempio di accesso al valore di un campo

DB. SpostaAvanti();

  • //Vai alla voce successiva
  • FineCiclo; ADO. Vicino();
  • Proprietà estese: quando si accede ai file DBF, questo è un parametro obbligatorio. È possibile specificare il formato del file

Attenzione!

Durante la lettura utilizzando il metodo specificato, la codifica predefinita è OEM. Per modificare la codifica in ANSI, è necessario impostare il parametro HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\xBase\DataCodePage su "ANSI" nel registro di Windows.

Hai ancora domande?
Chiedi nei commenti all'articolo.

come creare un file dbf da Excel utilizzando ADO in ADO mi sono confuso......sono le informazioni specifiche.... 1. connessione a dbf (e a cos'altro puoi connetterti utilizzando ado e come); 2. creazione di un file dbf (altre opzioni); 3.registrazione; 4.risparmio; 5.chiusura. grazie per qualsiasi informazione

cosa cercare su questo argomento o ignorarlo completamente.....sull'argomento ADO potrebbe essere meglio creare un argomento.....ampio uso di ADO

con parsimonia come andrà a finire

Codice per l'attività: "Creazione di un file dbf da Excel"

Testuale

Elenco dei programmi

"::: Fase 1 - Determinare da dove stiamo eseguendo homeDir=Wscript.ScriptFullName "::: Questo è il percorso completo del nostro file k=Instrrev(homeDir,"\") "::: Cerchiamo "\ " alla fine homeDir=left (homeDir,(k-1)) "::: Questo è il nome puro della directory "::: Passaggio 2: creare una connessione ADO e un recordset vuoto Set Conn = CreateObject("ADODB .Connection") Set RS = CreateObject(" ADODB.Recordset") DSNName = "DRIVER=Microsoft dBase Driver (*.dbf);DBQ=" DSNName = DSNName & HomeDir "::: Fase 3 - Aprire la connessione Conn.Open DSNName "::: Fase 4 - prepara l'operatore SQL per creare una tabella SQL="crea tabella Testtable (N1 Float, N2 Float)" "::: Fase 5 - eseguila RS.Open sql,Conn,3,3 " ::: Fase 6 - Aggiungi 100 record alla tabella Per i=1 a 100 SQL="inserisci nei valori testtable (" & cstr(i) & "," & Cstr(2*i-1) & ") " RS.Open sql,Conn,3,3 Successivo ":: : Fase 7 - somma... SQL="Seleziona somma(N1),somma(N2) da Testtable" RS.Open SQL,Conn,3,3 SS1 =RS(0) SS2=RS(1) MsgBox SS1 MsgBox SS2 Rs.Close SQL="Elimina tabella Testtable" RS.Open sql,Conn,3,3 MsgBox "Tabella eliminata!"

DBF è un formato popolare per l'archiviazione e lo scambio di dati tra vari programmi e principalmente tra applicazioni che servono database e fogli di calcolo. Sebbene sia diventato obsoleto, continua ad essere richiesto in vari campi. Ad esempio, i programmi di contabilità continuano a lavorare attivamente con esso e gli organismi di regolamentazione e governativi accettano una parte significativa dei rapporti in questo formato.

Ma sfortunatamente Excel, a partire da Excel 2007, ha smesso di supportare completamente questo formato. Ora in questo programma puoi solo visualizzare il contenuto del file DBF e non sarà più possibile salvare i dati con l'estensione specificata utilizzando gli strumenti integrati dell'applicazione. Fortunatamente esistono altre opzioni per convertire i dati da Excel nel formato di cui abbiamo bisogno. Diamo un'occhiata a come è possibile farlo.

In Excel 2003 e nelle versioni precedenti del programma, era possibile salvare i dati in formato DBF (dBase) utilizzando il metodo standard. Per fare ciò dovevi fare clic sull'elemento "File" nel menu orizzontale dell'applicazione, quindi selezionare una posizione nell'elenco che si apre "Salva come…". Nella finestra di salvataggio che si apre, è necessario selezionare il nome del formato desiderato dall'elenco e fare clic sul pulsante "Salva".

Ma, sfortunatamente, a partire da Excel 2007, gli sviluppatori Microsoft hanno considerato dBase obsoleto e i moderni formati Excel troppo complessi per spendere tempo e denaro per garantire la piena compatibilità. Pertanto, Excel ha mantenuto la capacità di leggere i file DBF, ma il supporto per il salvataggio dei dati in questo formato con gli strumenti software integrati è stato interrotto. Tuttavia, esistono alcuni modi per convertire i dati salvati in Excel in DBF utilizzando componenti aggiuntivi e altri software.

Metodo 1: pacchetto convertitori WhiteTown

Esistono numerosi programmi che consentono di convertire i dati da Excel a DBF. Uno dei modi più semplici per convertire dati da Excel a DBF è utilizzare un pacchetto di utilità per la conversione di oggetti con varie estensioni WhiteTown Converters Pack.

Nonostante la procedura di installazione di questo programma sia semplice ed intuitiva, ci soffermeremo comunque nel dettaglio, sottolineandone alcune sfumature.

  1. Dopo aver scaricato e avviato il programma di installazione, si apre immediatamente una finestra Procedure guidate di installazione, che richiede di selezionare una lingua per ulteriori procedure di installazione. Per impostazione predefinita, dovrebbe visualizzare la lingua installata sulla tua copia di Windows, ma puoi cambiarla se lo desideri. Non lo faremo e basterà premere il pulsante. "OK".
  2. Successivamente, si apre una finestra che indica la posizione sul disco di sistema in cui verrà installata l'utilità. Per impostazione predefinita questa è la cartella "File di programma" su disco "C". Anche qui è meglio non cambiare nulla e premere il tasto "Ulteriore".
  3. Si apre quindi una finestra in cui è possibile selezionare quali direzioni di trasformazione specifiche si desidera avere. Per impostazione predefinita, sono selezionati tutti i componenti di conversione disponibili. Ma alcuni utenti potrebbero non volerli installare tutti, poiché ogni utility occupa spazio sul disco rigido. In ogni caso per noi è importante che accanto all'articolo sia presente un segno di spunta "Convertitore da XLS (Excel) a DBF". L'utente può scegliere di installare i restanti componenti del pacchetto di utilità a propria discrezione. Dopo aver effettuato le impostazioni, non dimenticare di fare clic sul pulsante "Ulteriore".
  4. Successivamente, si apre una finestra in cui aggiungi un collegamento alla cartella "Inizio". Per impostazione predefinita viene richiamato il collegamento "Città Bianca", ma puoi cambiarne il nome se lo desideri. premi il bottone "Ulteriore".
  5. Si apre quindi una finestra che chiede se creare un collegamento sul desktop. Se vuoi che venga aggiunto, lascia un segno di spunta accanto al parametro corrispondente; se non lo desideri, deselezionalo. Quindi, come sempre, premi il pulsante "Ulteriore".
  6. Successivamente si apre un'altra finestra. Mostra i parametri di installazione di base. Se l'utente non è soddisfatto di qualcosa e desidera modificare i parametri, premere il pulsante "Indietro". Se tutto è in ordine, fare clic sul pulsante "Installare".
  7. Inizia la procedura di installazione, il cui avanzamento verrà visualizzato da un indicatore dinamico.
  8. Quindi si apre un messaggio informativo in inglese, che esprime gratitudine per l'installazione di questo pacchetto. premi il bottone "Ulteriore".
  9. Nell'ultima finestra Procedure guidate di installazioneÈ stato riferito che il programma WhiteTown Converters Pack è stato installato con successo. Tutto quello che dobbiamo fare è premere il pulsante "Completare".
  10. Successivamente, una cartella chiamata "Città Bianca". Contiene scorciatoie di utilità per aree di conversione specifiche. Apri questa cartella. Ci vengono presentate un gran numero di utilità incluse nel pacchetto WhiteTown per varie aree di conversione. Inoltre, ciascuna direzione ha un'utilità separata per i sistemi operativi Windows a 32 e 64 bit. Apri l'applicazione con il nome "Convertitore XLS in DBF", corrispondente al bit del tuo sistema operativo.
  11. Viene avviato il programma di conversione da XLS a DBF. Come puoi vedere, l'interfaccia è in inglese, ma è comunque intuitiva.

    La scheda si apre immediatamente "Ingresso" ("Accedere"). Ha lo scopo di indicare l'oggetto che deve essere convertito. Per fare ciò, fare clic sul pulsante "Aggiungere" ("Aggiungere").

  12. Successivamente si apre una finestra standard per l'aggiunta di un oggetto. In esso devi andare nella directory in cui si trova la cartella di lavoro Excel di cui abbiamo bisogno con l'estensione xls o xlsx. Dopo aver trovato l'oggetto, seleziona il suo nome e fai clic sul pulsante "Aprire".
  13. Come puoi vedere, successivamente il percorso dell'oggetto è stato visualizzato nella scheda "Ingresso". premi il bottone "Prossimo" ("Ulteriore").
  14. Successivamente verremo spostati automaticamente alla seconda scheda "Produzione" ("Conclusione"). Qui è necessario indicare in quale directory verrà emesso l'oggetto finito con l'estensione DBF. Per selezionare la cartella in cui salvare il file DBF finito, fare clic sul pulsante "Navigare..." ("Visualizzazione"). Si apre un piccolo elenco di due elementi "Seleziona il file" ("Seleziona un file") E "Seleziona cartella" ("Seleziona cartella"). In realtà questi punti significano solo selezionare diversi tipi di finestre di navigazione per indicare la cartella di salvataggio. Facciamo una scelta.
  15. Nel primo caso sarà una finestra normale "Salva come…". Verranno visualizzate sia le cartelle che gli oggetti dBase esistenti. Andiamo nella directory in cui vogliamo salvare. Il prossimo in campo "Nome del file" Indichiamo il nome con il quale vogliamo che l'oggetto venga elencato dopo la conversione. Successivamente, fai clic sul pulsante "Salva".

    Se scegli l'opzione "Seleziona cartella", si aprirà una finestra semplificata di selezione della directory. Verranno visualizzate solo le cartelle. Selezionare la cartella da salvare e fare clic sul pulsante "OK".

  16. Come puoi vedere, dopo una qualsiasi di queste azioni, nella scheda verrà visualizzato il percorso della cartella per il salvataggio dell'oggetto "Produzione". Per passare alla scheda successiva, fare clic sul pulsante "Prossimo" ("Ulteriore").
  17. Nell'ultima scheda "Opzioni" ("Opzioni") ci sono molte impostazioni, ma a noi interessa di più "Tipo di campi memo" ("Tipo campo promemoria"). Fare clic sul campo in cui si trova l'impostazione predefinita "Auto" ("Auto"). Si apre un elenco di tipi dBase per salvare l'oggetto. Questo parametro è molto importante, poiché non tutti i programmi che funzionano con dBase possono elaborare tutti i tipi di oggetti con questa estensione. Pertanto, è necessario sapere in anticipo quale tipologia scegliere. È possibile scegliere tra sei diversi tipi:
    • dBASE III;
    • FoxPro;
    • dBASE IV;
    • Visual FoxPro;
    • >SMT;
    • dBASE Livello 7.

    Facciamo una scelta del tipo necessario per l'uso in un programma specifico.

  18. Una volta effettuata la scelta si potrà procedere alla procedura di conversione vera e propria. Per fare ciò, fare clic sul pulsante "Inizio" ("Inizio").
  19. Viene avviata la procedura di conversione. Se una cartella di lavoro Excel contiene più fogli con dati, per ciascuno di essi verrà creato un file DBF separato. Il completamento del processo di conversione sarà indicato da un indicatore di progresso verde. Dopo aver raggiunto la fine del campo, fare clic sul pulsante "Fine" ("Fine").

Il documento finito si troverà nella directory specificata nella scheda "Produzione".

L'unico inconveniente significativo del metodo che utilizza il pacchetto di utilità WhiteTown Converters Pack è che puoi eseguire solo 30 procedure di conversione gratuitamente, quindi dovrai acquistare una licenza.

Metodo 2: componente aggiuntivo XlsToDBF

Puoi convertire una cartella di lavoro Excel in dBase direttamente tramite l'interfaccia dell'applicazione installando componenti aggiuntivi di terze parti. Uno dei migliori e più convenienti è il componente aggiuntivo XlsToDBF. Consideriamo l'algoritmo per la sua applicazione.

  1. Dopo aver scaricato l'archivio XlsToDBF.7z con il componente aggiuntivo, decomprimere da esso un oggetto chiamato XlsToDBF.xla. Poiché l'archivio ha un'estensione 7z, la decompressione può essere eseguita con il programma standard per questa estensione, 7-Zip, o utilizzando qualsiasi altro archiviatore che supporti il ​​funzionamento con esso.
  2. Successivamente, avvia il programma Excel e vai alla scheda "File". Successivamente passiamo alla sezione "Opzioni" attraverso il menu sul lato sinistro della finestra.
  3. Nella finestra dei parametri che si apre, fare clic sulla voce "Componenti aggiuntivi". Spostarsi sul lato destro della finestra. In fondo c'è un campo "Controllo". Spostiamo l'interruttore al suo interno nella posizione "Componenti aggiuntivi di Excel" e fare clic sul pulsante "Andare...".
  4. Si apre una piccola finestra di gestione dei componenti aggiuntivi. Fare clic sul pulsante lì "Revisione…".
  5. Si apre la finestra di apertura dell'oggetto. Dobbiamo andare nella directory in cui si trova l'archivio XlsToDBF decompresso. Vai alla cartella con lo stesso nome e seleziona l'oggetto con il nome "XlsToDBF.xla". Successivamente, fai clic sul pulsante "OK".
  6. Quindi torniamo alla finestra di gestione dei componenti aggiuntivi. Come puoi vedere, il nome è apparso nell'elenco "XLS -> DBF". Questa è la nostra sovrastruttura. Dovrebbe esserci un segno di spunta accanto ad esso. Se non è presente alcun segno di spunta, selezionalo e quindi fai clic sul pulsante "OK".
  7. Quindi, il componente aggiuntivo è installato. Ora apriamo il documento Excel, i cui dati devono essere convertiti in dBase, oppure semplicemente digitiamo sul foglio se il documento non è ancora stato creato.
  8. Ora dovremo manipolare i dati per prepararli alla conversione. Innanzitutto aggiungiamo due righe sopra l'intestazione della tabella. Dovrebbero essere i primi sul foglio e avere nomi sulla barra delle coordinate verticale "1" E "2".

    Nella cella in alto a sinistra inseriamo il nome che vogliamo assegnare al file DBF creato. Si compone di due parti: il nome stesso e l'estensione. È consentito solo l'alfabeto latino. Un esempio di tale nome è "UCHASTOK.DBF".

  9. Nella prima cella a destra del nome è necessario indicare la codifica. Sono disponibili due opzioni di codifica utilizzando questo componente aggiuntivo: CP866 E CP1251. Se la cella B2è vuoto o ha un valore impostato diverso da "CP866", verrà applicata la codifica predefinita CP1251. Impostiamo la codifica che riteniamo necessaria oppure lasciamo il campo vuoto.
  10. Successivamente passiamo alla riga successiva. Il fatto è che nella struttura dBase ogni colonna, chiamata campo, ha il proprio tipo di dati. Ci sono tali designazioni:
    • N(Numerico) – numerico;
    • l(Logico) – logico;
    • D(Data) – data;
    • C(Carattere) – stringa.

    Inoltre, nella stringa ( CNN) e di tipo numerico ( Nnn) dopo il nome sotto forma di lettera, deve essere indicato il numero massimo di caratteri nel campo. Se il tipo numerico utilizza cifre decimali, anche il loro numero deve essere indicato dopo il punto ( Nnn.n).

    Esistono altri tipi di dati in formato dBase (Memo, Generale, ecc.), ma questo componente aggiuntivo non può funzionare con essi. Tuttavia, Excel 2003, quando supportava ancora la conversione in DBF, non poteva funzionare con essi.

    Nel nostro caso specifico, il primo campo sarà una stringa con una larghezza di 100 caratteri ( C100), mentre i restanti campi saranno numerici, larghi 10 caratteri ( N10).

  11. La riga successiva contiene i nomi dei campi. Ma il fatto è che devono essere inseriti anche nell'alfabeto latino e non in quello cirillico, come il nostro. Inoltre, non sono consentiti spazi nei nomi dei campi. Li rinominiamo secondo queste regole.
  12. Successivamente, la preparazione dei dati può essere considerata completata. Seleziona l'intero intervallo della tabella sul foglio con il cursore tenendo premuto il pulsante sinistro del mouse. Quindi vai alla scheda "Sviluppatore". Per impostazione predefinita è disabilitato, quindi prima di ulteriori manipolazioni è necessario attivarlo e abilitare le macro. Successivamente sulla barra multifunzione nel blocco delle impostazioni "Codice" fare clic sull'icona "Macro".

    Puoi renderlo un po' più semplice digitando una combinazione di tasti di scelta rapida Alt+F8.

  13. Si apre la finestra della macro. Nel campo "Nome della macro" inserisci il nome del nostro componente aggiuntivo "XlsToDBF" senza virgolette. Il registro non è importante. Successivamente, fare clic sul pulsante "Correre".
  14. Macro dentro sfondo esegue l'elaborazione. Successivamente, nella stessa cartella in cui si trova il file Excel di origine, verrà creato un oggetto con estensione DBF con il nome specificato nella cella A1.

Come puoi vedere, questo metodo è molto più complicato del precedente. È inoltre piuttosto limitato nel numero di tipi di campo che può utilizzare e nel numero di tipi di oggetto che può creare con l'estensione DBF. Un altro inconveniente è che la directory di creazione dell'oggetto dBase può essere assegnata solo prima della procedura di conversione, spostando direttamente il file Excel sorgente nella cartella di destinazione. Tra i vantaggi questo metodo Si può notare che, a differenza dell'opzione precedente, è assolutamente gratuita e quasi tutte le manipolazioni vengono eseguite direttamente tramite l'interfaccia di Excel.

Metodo 3: programma Microsoft Access

Sebbene le nuove versioni di Excel non dispongano di un modo integrato per salvare i dati in formato DBF, esiste comunque un'opzione da utilizzare applicazioni Microsoft L'accesso è la cosa più vicina all'essere chiamato standard. Il fatto è che questo programma è stato rilasciato dallo stesso produttore di Excel ed è anche incluso nel pacchetto Microsoft Office. Inoltre, questa è l'opzione più sicura, poiché non sarà necessario contattare Software produttori di terze parti. Microsoft Access è progettato specificamente per lavorare con i database.

  1. Dopo che tutti i dati necessari del foglio sono stati inseriti in Excel, per convertirlo nel formato DBF è necessario prima salvarlo in uno dei formati Excel. Per fare ciò, fare clic sull'icona del floppy disk a sinistra angolo superiore finestre del programma.
  2. Si apre la finestra di salvataggio. Andiamo nella directory in cui vogliamo salvare il file. È da questa cartella che dovrai quindi aprirla in Microsoft Access. Il formato del libro può essere lasciato come predefinito xlsx oppure puoi cambiarlo in xls. In questo caso, ciò non è fondamentale, poiché stiamo salvando il file solo per convertirlo comunque in DBF. Dopo aver completato tutte le impostazioni, fare clic sul pulsante "Salva" e chiudi la finestra di Excel.
  3. Lanciamo Programma Microsoft Accesso. Vai alla scheda "File", se è stato aperto in un'altra scheda. Fare clic sulla voce di menu "Aprire", situato sul lato sinistro della finestra.
  4. Si apre la finestra di apertura del file. Andiamo nella directory in cui abbiamo salvato il file in uno dei formati Excel. Per farlo apparire nella finestra, spostare l'interruttore del formato file sulla posizione "Cartella di lavoro di Excel (*.xlsx)" O « Microsoft Excel(*.xls)", a seconda di quale di essi è stato salvato il libro. Dopo che viene visualizzato il nome del file di cui abbiamo bisogno, selezionalo e fai clic sul pulsante "Aprire".
  5. Si apre una finestra "Link al foglio di calcolo". Ti consente di spostare i dati da un file Excel a Microsoft Access nel modo più corretto possibile. Dobbiamo selezionare il foglio Excel da cui importeremo i dati. Il fatto è che anche se il file Excel conteneva informazioni su più fogli, è possibile importarlo solo in Access separatamente e, di conseguenza, convertirlo in file separati D.B.F.

    È anche possibile importare nei fogli informazioni provenienti da singoli intervalli. Ma nel nostro caso questo non è necessario. Impostare l'interruttore in posizione "Fogli", quindi seleziona il foglio da cui prenderemo i dati. La correttezza della visualizzazione delle informazioni può essere visualizzata nella parte inferiore della finestra. Se tutto è soddisfacente, premere il pulsante. "Ulteriore".

  6. Nella finestra successiva, se la tua tabella contiene intestazioni, devi selezionare la casella accanto a "La prima riga contiene le intestazioni delle colonne". Quindi fare clic sul pulsante "Ulteriore".
  7. Nella nuova finestra Collegamento al foglio di calcolo, puoi facoltativamente modificare il nome dell'elemento collegato. Quindi fare clic sul pulsante "Pronto".
  8. Successivamente, si aprirà una finestra di dialogo che indica che il collegamento della tabella al file Excel è completo. Fare clic sul pulsante "OK".
  9. Il nome della tabella che le abbiamo assegnato nell'ultima finestra apparirà sul lato sinistro dell'interfaccia del programma. Fare doppio clic su di esso con il tasto sinistro del mouse.
  10. Successivamente, la tabella verrà visualizzata nella finestra. Passando alla scheda "Dati esterni".
  11. Sulla barra multifunzione nella casella degli strumenti "Esportare" clicca sulla scritta "Inoltre". Nell'elenco che si apre, seleziona l'elemento "File dBase".
  12. Si apre la finestra di esportazione nel formato DBF. Nel campo "Nome del file" puoi specificare il percorso di archiviazione del file e il suo nome se quelli predefiniti non sono adatti a te per qualche motivo.

    Nel campo "Formato del file" seleziona uno dei tre tipi di formato DBF:

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

    Va tenuto presente che più il formato è moderno (più alto è il numero di serie), maggiori sono le possibilità di elaborazione dei dati in esso contenuti. Ciò significa che la probabilità che tutti i dati della tabella vengano salvati nel file è maggiore. Ma allo stesso tempo è meno probabile che il programma in cui importerai un file DBF in futuro sia compatibile con questo particolare tipo.

    Dopo aver impostato tutte le impostazioni, fare clic sul pulsante "OK".

  13. Se successivamente viene visualizzato un messaggio di errore, provare a esportare i dati utilizzando un diverso tipo di formato DBF. Se tutto è andato bene, apparirà una finestra che ti informerà che l'esportazione è andata a buon fine. Fare clic sul pulsante "Vicino".

Il file creato in formato dBase si troverà nella directory specificata nella finestra di esportazione. Quindi puoi eseguire qualsiasi manipolazione con esso, inclusa l'importazione in altri programmi.

Come puoi vedere, nonostante le versioni moderne di Excel non abbiano la possibilità di salvare file in formato DBF utilizzando gli strumenti integrati, questa procedura può comunque essere eseguita utilizzando altri programmi e componenti aggiuntivi. Va notato che il metodo di conversione più funzionale è utilizzare il WhiteTown Converters Pack. Ma, sfortunatamente, il numero di conversioni gratuite al suo interno è limitato. Il componente aggiuntivo XlsToDBF ti consente di eseguire la conversione in modo assolutamente gratuito, ma la procedura è molto più complicata. Inoltre, la funzionalità di questa opzione è molto limitata.

La “zona aurea” è il metodo che utilizza il programma Access. Come Excel, è uno sviluppo di Microsoft e quindi applicazione di terzi non puoi più chiamarlo. Inoltre, questa opzione ti consente di convertire file Excel in diversi tipi di formato dBase. Sebbene in questo indicatore Access sia ancora inferiore al programma WhiteTown.

Un editor DBF universale gratuito che ti consente di aprire database esistenti e creare nuovi database. È di dimensioni molto ridotte, può essere avviato da un'unità flash e allo stesso tempo dispone di molti strumenti avanzati per lavorare con file DBF, incluso anche il supporto per le query SQL!

Galleria di schermate

Di solito sul sito copriamo programmi che interesseranno una vasta gamma di lettori, ma oggi il caso non è del tutto normale :). Una volta ho lavorato come una sorta di "specialista informatico" in diversi uffici governativi e lì ho avuto spesso a che fare con diversi programmi basati su FoxPro...

Il problema principale di tutte queste applicazioni era che un semplice utente poteva facilmente rovinare il database in modo che non potesse poi essere aperto con mezzi standard, quindi dovevano ricorrere a perversioni per riportarlo in vita (che non sempre funzionava, date le “capacità” degli “utilizzatori selvaggi” :)).

E ora, diversi anni dopo, poiché non lavoro più lì, abbiamo ricevuto un'e-mail con la richiesta di aggiungerne uno nuovo programma gratuito per modificare i database DBF, che ha un nome semplice: Sdbf. Parliamone :)

Confronto con un analogo a pagamento

Sdbf, nonostante la sua portabilità (può funzionare da un'unità flash!) e le dimensioni ridotte, è un editor di database abbastanza avanzato che ti consente di creare, modificare ed esportare qualsiasi database in formato DBF, dalla specifica xBaseIII al moderno xVisualFoxPro! Confrontiamo le funzionalità di Sdbf con le capacità di uno degli editor più avanzati di questo tipo, DBF Commander Professional:

Dalla tabella sopra vediamo che i programmi differiscono leggermente in termini di funzionalità, ma Sdbf, in primo luogo, è portatile (il che di solito è importante, poiché ogni esperto di computer preferisce portare una serie di programmi necessari su un'unità flash) e, in secondo luogo, è completamente gratis!

Primo lancio di Sdbf

Per eseguire il programma, decomprimilo semplicemente dall'archivio scaricato in qualsiasi posizione e apri il file EXE risultante. Davanti a noi apparirà una finestra vuota come questa:

Il Drag&Drop, ahimè, non è supportato, quindi per iniziare dovremo richiamare il menu “File” e selezionare una delle due azioni disponibili: “Crea” un nuovo database o “Apri” uno esistente. Apriamo un database esistente:

Il contenuto del database selezionato si aprirà davanti a noi sotto forma di tabella. La riga "zero" mostra i nomi dei campi e, a partire dalla prima riga, i contenuti stessi. Sotto il contenuto c'è una barra degli strumenti e una barra di stato.

Quest'ultimo mostra molte informazioni utili sul servizio, incluso il numero di record nel database, la codifica, la data di creazione e il formato determinato automaticamente. Tra i formati, Sdbf non supporta solo le versioni precedenti di xBase (I e II) e consente di aprire e creare file DBF dei seguenti tipi:

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

Strumenti di ricerca e filtraggio dei dati

Il programma Sdbf consente di modificare direttamente qualsiasi cella di un database aperto, tuttavia, è ancora necessario trovare le celle necessarie... Se il database è piccolo e semplice, ciò può essere fatto abbastanza rapidamente e manualmente. Tuttavia, se sono presenti diverse dozzine o addirittura centinaia di record, la ricerca può risultare piuttosto difficile.

Ma questo non è un problema, dal momento che Sdbf dispone di diversi strumenti contemporaneamente che ti consentono di filtrare i dati non necessari e visualizzare solo ciò di cui hai bisogno!

Questi strumenti si trovano nella barra degli strumenti inferiore. Qui innanzitutto ci sono 8 pulsanti di navigazione che consentono di navigare nel database (frecce), aggiungere/eliminare voci e anche confermare o annullare le modifiche. Le funzioni di cui abbiamo bisogno iniziano con il nono pulsante - "Cerca":

Quando il pulsante è attivato, davanti a noi appare una piccola finestra con un modulo di ricerca. Dobbiamo specificare il testo da trovare e selezionare il campo in cui effettuare la ricerca dall'elenco a discesa. Ora fai clic sul pulsante "Trova successivo" e il programma selezionerà automaticamente la riga successiva alla selezione corrente che contiene il testo che stai cercando. Premendo nuovamente il pulsante verrà evidenziata la riga sotto quella corrente, che contiene gli stessi dati richiesti, ecc.

A volte nei database si riscontra una formattazione delle celle non standard: spazi aggiuntivi, tabulazioni e altri caratteri che non vengono visualizzati visivamente, ma influiscono sul risultato della ricerca. Se ti imbatti in un caso del genere, affinché la funzione funzioni normalmente, dovrai solo deselezionare la casella di controllo "In base al formato" nella parte centrale inferiore della finestra di ricerca e le stringhe cercate inizieranno a essere visualizzate.

La funzione di ricerca è utile quando dobbiamo trovare rapidamente singole occorrenze di dati specifici. Ma ci sono momenti in cui sarebbe più conveniente visualizzare più righe contemporaneamente che contengono solo determinate informazioni. In questo caso ci aiuterà la seconda funzione (il cui pulsante si trova subito dopo il pulsante di ricerca) - "Filtro":

Per abilitare il filtraggio, dobbiamo prima comporre correttamente una query e inserirla in un campo appositamente designato (immediatamente dietro il pulsante nella parte centrale della barra degli strumenti). Il principio per presentare una richiesta è semplice, ma non del tutto ovvio. Dobbiamo prima inserire il nome del campo in base al quale dobbiamo filtrare la tabella del database, quindi equiparare il valore del filtro al testo specifico in base al quale dobbiamo trovare tutte le righe.

Inseriamo il valore tra virgolette singole, dopodiché premiamo il pulsante “Filtro” stesso (viene premuto) e otteniamo una tabella contenente dati solo con i valori definiti per noi nei campi specificati (nell'esempio, abbiamo filtrato tutte le righe con il valore “U.S.A” nel campo “Paese” (il caso del nome non ha importanza)). È possibile riportare la tabella alla sua forma originale semplicemente premendo nuovamente il pulsante "Filtro" (verrà rilasciato nuovamente).

Il campo di filtraggio può contenere le condizioni più semplici “e” (per affinare la query in più campi) e “o” (per una selezione alternativa di dati da diversi campi). Sfortunatamente, Sdbf non supporta le query di esclusione (come “not”), ma possiamo aggirare questa limitazione in un altro modo, che verrà discusso di seguito.

A proposito, per non inserire manualmente una richiesta di filtraggio, puoi utilizzare il seguente trucco: seleziona qualsiasi voce nel campo in base alla quale filtrerai e premi la combinazione di tasti “Alt+F” (non F4 :))). La richiesta verrà generata automaticamente e il valore conterrà il segno "*", che è una maschera di ricerca e corrisponde a qualsiasi numero di caratteri.

Purtroppo questo è l'unico tipo di maschera che può essere utilizzato in Sdbf e, cosa ancora più triste, una richiesta può contenere solo una maschera :(. Pertanto, se è necessario filtrare lo stesso campo con più parametri, sarà necessario utilizzare l'operatore “e” (generazione rapida di una richiesta premendo “CTRL+ALT+F”) o “o” (“SHIFT+ALT+F”).

Esecuzione di query SQL su tabelle di database

La ricerca e il filtraggio sono indubbiamente utili, ma non sempre convenienti. Quando il numero di record è elevato, possiamo facilmente perdere di vista i dati di cui abbiamo bisogno durante l'analisi delle tabelle. Tuttavia, in questo caso, Sdbf ha una funzionalità eccellente: il supporto per le query SQL!

Utilizzando tali query in Sdbf possiamo:

  1. Formattare dinamicamente la nostra tabella, creando una selezione solo per alcuni campi obbligatori (istruzioni SELECT e SELECT TOP);
  2. Copiare i dati da un database all'altro (INSERT FROM e INSERT INTO);
  3. Modificare ed eliminare il contenuto di alcune righe (rispettivamente UPDATE e DELETE);
  4. Query parallele di gruppo (UNION);
  5. Genera tabelle pivot (PIVOT).

Per iniziare a lavorare con le query, dobbiamo fare clic sul pulsante "Query SQL" all'estremità destra della barra degli strumenti. Tuttavia, il risultato di tale azione sarà alquanto scoraggiante: il contenuto del database appena modificato i dati andranno persi e un'altra finestra vuota con due campi apparirà nella parte superiore della finestra di lavoro (in alto c'è il campo di output dei dati e in basso c'è il campo di input).

Non aver paura :). Ti basterà inserire subito la query SQL desiderata nel campo inferiore indicando il nome del database desiderato. Se non ricordi questo nome, puoi attivare la barra laterale di Sdbf (cliccando sulla barra verticale grigia a destra), che mostra in un elenco tutti i database che hai aperto in precedenza:

Inoltre, per velocizzare il lavoro, è consigliabile ricordare i tasti di scelta rapida, che possono essere visualizzati richiamando la guida premendo il tasto F1. Ce ne sono solo tre, ma possono accelerare notevolmente il processo di creazione delle query giuste.

Quindi, la combinazione “CTRL+Spazio” mostrerà una finestra pop-up con l'elenco dei nomi dei database disponibili (per non guardare nella barra laterale), “CTRL+F” mostrerà un elenco di funzioni per l'operatore corrente, e "CTRL+Invio" avvierà il processo di esecuzione della query. Inoltre, se clicchiamo con il tasto destro del mouse sul campo di input (richiamiamo il menu contestuale), otterremo un elenco di operatori supportati da Sdbf.

Torniamo al nostro screenshot precedente e guardiamo semplice richiesta, che è compilato lì. Si basa sull'operatore "SELECT", il che significa che ci restituisce una selezione. Il parametro di selezione è “*”, che significa visualizzare qualsiasi dato, ma potremmo indicare lì, separati da virgole, i nomi di eventuali campi nella tabella del database.

La selezione che abbiamo visto sopra è la più semplice, ma Sdbf permette di eseguire query più complesse. Nella schermata successiva vedremo una selezione, una tabella generata dinamicamente composta da campi che contengono i nomi dei clienti, la città in cui vivono e il paese. Inoltre, i clienti vengono filtrati per paese di residenza (U.S.A) e i risultati vengono visualizzati in ordine alfabetico:

Se lo smonti questa richiesta, allora vedremo il già citato metodo di selezione in base ai campi specificati separati da virgole dopo l'istruzione SELECT. Successivamente, stessa indicazione del nome del database, ma ora la richiesta non finisce qui.

Il passo successivo è elencare le principali funzioni dell'operatore che dovranno essere eseguite a seguito dell'elaborazione della richiesta. Ce ne sono due qui.

Il primo - "dove" è simile al filtro di cui abbiamo discusso in precedenza ed esegue un'azione simile: consente di selezionare solo i record che soddisfano la condizione.

La seconda funzione, "ordina per", è responsabile dell'ordinamento dei risultati ottenuti da uno dei campi (in questo caso, dal campo con il nome del cliente - "NOME") in ordine alfabetico (parametro "asc") o invertito (" disc”) ordine.

Naturalmente, anche l'esempio fornito è piuttosto primitivo, ma riflette l'essenza generale della creazione e dell'elaborazione delle query SQL. Se vuoi saperne di più su di loro, ti consiglio di leggere i manuali qui: http://dimonchik.com/insert.html o https://www.sql.ru/articles/articles.aspx?g=SQL&s= 0.

A proposito, il vantaggio di Sdbf è la possibilità di esportare la tabella ottenuta come risultato di una query come nuovo database o come file HTML, RTF o CSV! Per fare ciò è sufficiente richiamare il menu contestuale del campo di visualizzazione della tabella e selezionare la voce appropriata.

Funzioni aggiuntive dalla barra dei menu

Abbiamo individuato le funzionalità di base di Sdbf, ma non finisce qui. Nella barra dei menu sono nascoste una serie di funzioni utili e persino uniche, la stessa che abbiamo usato per aprire il database :) Quindi, molti caratteristiche utili(che a volte ti permettono di fare a meno delle query SQL) puoi nel menu “Tabella”:

Tra le altre “cose utili” come cambiare la codifica e l'unione dei database, in fondo troviamo la voce “Cambia struttura”. Questo elemento apre una finestra aggiuntiva in cui possiamo modificare completamente tutti i campi tavolo aperto, aggiungerne di nuove o eliminare eventuali sezioni non necessarie (la stessa finestra si apre quando si crea un database da zero).

Nello specifico, possiamo modificare l'ordine dei campi, i loro nomi, tipi, dimensioni (numero di caratteri in una cella) e precisione (profondità di bit, solitamente impostata automaticamente e in base al tipo di campo).

L'unica cosa che devi ricordare quando modifichi (e soprattutto crei) i database è che ogni tipo di database ha i propri set di tipi di campo e spesso sono (se non si tiene conto dei principali N, C, D) diversi. Ad esempio, i database xClipper non supportano i campi con immagini (P, B) e xBase fino alla settima versione non supporta i campi con incremento automatico (+). Cioè, devi sempre ricordare la compatibilità :).

Mentre guardiamo la barra dei menu, non dimenticare di guardare il menu "Campo":

Ci sono solo due funzioni qui, ma possono essere molto utili! Soprattutto il primo: "Sostituisci". Ti permette di farlo velocemente Modalità automatica sostituisci i valori nell'intera colonna del campo specificato o parole e simboli specifici in tutto il database!

La funzione "Calcola" è un analogo delle formule di calcolo automatico di Excel e ci dà l'opportunità di eseguire operazioni matematiche e statistiche come trovare la somma automatica di un campo, calcolare la media aritmetica, nonché i valori massimo e minimo. Naturalmente, per eseguire i calcoli, i tipi di campo devono essere numerici (N, F, I, O, B).

L'ultima caratteristica che non è così ovvia, ma può essere utile è l'editor HEX integrato:

Ti consente di modificare i dati di qualsiasi cella. Per fare ciò, basta selezionare il contenuto che deve essere modificato e menù contestuale seleziona l'ultima voce: "Apri in esadecimale". Questo è tutto: puoi modificare e salvare o stampare immediatamente il risultato!

Vantaggi e svantaggi del programma

  • portabilità e dimensioni ridotte;
  • supporto per quasi tutti i tipi di file DBF;
  • la possibilità di creare database da zero;
  • supporto per query SQL;
  • sistema integrato per la ricerca, il filtraggio e la modifica dei dati.
  • non consente di specificare più di una maschera nel filtro;
  • Non esiste una funzione di annullamento.

conclusioni

Il programma Sdbf, nonostante le sue modeste dimensioni e requisiti di sistema ti permette di fare, se non tutto, molto, moltissimo con i database DBF... E l'implementazione del supporto per le query SQL in generale ti consente di portare il lavoro di modifica del database a un nuovo livello! Con il loro aiuto, puoi facilmente compensare molte carenze nel lavoro attraverso l'interfaccia grafica.

La delusione più grande, secondo me, è stata l'assenza della funzione più banale “Annulla ultima azione" nel mondo "CTRL+Z": (La cosa più fastidiosa è che, a causa di svista o ignoranza, l'utente può, ad esempio, applicare accidentalmente la correzione automatica all'intero campo e sarà impossibile restituire i dati :(

Per questo possiamo affermare che il programma è più che efficace in termini funzionali, ma prima di lavorarci segui sempre l'antica regola dell'amministratore: CREA BACKUP! E sarai felice :)

PS È concesso il permesso di copiare e citare liberamente questo articolo, a condizione che sia indicato un collegamento attivo aperto alla fonte e sia preservata la paternità di Ruslan Tertyshny.