Cómo crear un archivo de Excel DBF. Conversión de datos de Microsoft Excel a formato DBF

DBF es un formato popular para almacenar e intercambiar datos entre varios programas y principalmente entre aplicaciones que sirven bases de datos y hojas de cálculo. Aunque se ha vuelto obsoleto, sigue teniendo demanda en varios campos. Por ejemplo, los programas de contabilidad continúan trabajando activamente con él y los organismos reguladores y gubernamentales aceptan una parte importante de los informes en este formato.

Pero, desafortunadamente, Excel, a partir de la versión de Excel 2007, dejó de ser compatible con el formato especificado. Ahora, en este programa, solo puede ver el contenido de un archivo DBF y no podrá guardar datos con la extensión especificada mediante las herramientas de aplicación integradas. Afortunadamente, existen otras opciones para convertir datos de Excel al formato que necesitamos. Veamos cómo se puede hacer esto.

En Excel 2003 y en versiones anteriores de este programa, puede guardar datos en formato DBF (dBase) de forma estándar. Para hacer esto, tenías que hacer clic en el elemento "Archivo" en el menú horizontal de la aplicación, y luego seleccione la posición en la lista que se abre "Guardar como…"... En la ventana de guardar abierta de la lista, era necesario seleccionar el nombre del formato deseado y hacer clic en el botón "Salvar".

Pero, desafortunadamente, a partir de la versión de Excel 2007, los desarrolladores de Microsoft consideraron que dBase era obsoleto y los formatos modernos de Excel son demasiado complejos para gastar tiempo y dinero en asegurar una compatibilidad total. Por lo tanto, Excel todavía tiene la capacidad de leer archivos DBF, pero se ha descontinuado el soporte para guardar datos en este formato mediante herramientas de software integradas. Sin embargo, existen algunas formas de convertir datos guardados en Excel a DBF utilizando complementos y otro software.

Método 1: programa WhiteTown Converters Pack

Hay varios programas que le permiten convertir datos de Excel a DBF. Una de las formas más fáciles de convertir datos de Excel a DBF es utilizar el kit de herramientas de conversión de objetos con varias extensiones de WhiteTown Converters Pack.

Aunque el procedimiento de instalación de este programa es simple e intuitivo, no obstante, nos detendremos en él en detalle, señalando algunos de los matices.

  1. Después de descargar y ejecutar el instalador, se abre una ventana inmediatamente Asistentes de instalación, en el que se propone seleccionar el idioma para el procedimiento de instalación posterior. De forma predeterminada, el idioma que está instalado en su instancia de Windows debería aparecer allí, pero puede cambiarlo si lo desea. No haremos esto y solo presionaremos el botón. "OKAY".
  2. A continuación, se abre una ventana que indica la ubicación en el disco del sistema donde se instalará la utilidad. Por defecto, esta es la carpeta "Archivos de programa" en disco "C"... Aquí también es mejor no cambiar nada y presionar la tecla. "Más lejos".
  3. Luego se abre una ventana en la que puede elegir qué direcciones de transformación desea tener. Todos los componentes de conversión disponibles se seleccionan de forma predeterminada. Sin embargo, es posible que algunos usuarios no quieran instalarlos todos, ya que cada utilidad ocupa espacio en el disco duro. En cualquier caso, es importante para nosotros que haya una marca de verificación junto al artículo. Convertidor de XLS (Excel) a DBF... El usuario puede optar por instalar otros componentes del paquete de utilidades a su discreción. Una vez realizada la configuración, no olvide hacer clic en el botón "Más lejos".
  4. Después de eso, se abre una ventana en la que agrega un acceso directo a la carpeta "Comienzo"... Por defecto, el atajo se llama "WhiteTown", pero puede cambiar su nombre si lo desea. Presione la tecla "Más lejos".
  5. Luego se abre una ventana preguntando si se debe crear un acceso directo en el escritorio. Si desea que se agregue, deje una marca de verificación junto al parámetro correspondiente, si no lo desea, desmárquelo. Luego, como siempre, presione la tecla "Más lejos".
  6. Después de eso, se abre otra ventana. Enumera los principales parámetros de la instalación. Si el usuario no está satisfecho con algo y quiere editar los parámetros, presione la tecla "Atrás"... Si todo está en orden, haga clic en el botón "Instalar en pc".
  7. Comienza el procedimiento de instalación, cuyo progreso se mostrará mediante un indicador dinámico.
  8. Luego se abre un mensaje informativo en inglés, que expresa gratitud por la instalación de este paquete. Presione la tecla "Más lejos".
  9. En la ultima ventana Asistentes de instalación Se informa que el WhiteTown Converters Pack se ha instalado correctamente. Solo tenemos que presionar el botón "Completar".
  10. Después de eso, aparecerá una carpeta en el escritorio llamada "WhiteTown"... Contiene atajos de utilidades para direcciones de conversión específicas. Abrimos esta carpeta. Nos enfrentamos a una gran cantidad de utilidades incluidas en el paquete WhiteTown para varias direcciones de conversión. Además, cada dirección tiene una utilidad separada para los sistemas operativos Windows de 32 y 64 bits. Abra la aplicación con el nombre Convertidor de XLS a DBFcorrespondiente al bitness de su sistema operativo.
  11. Se inicia XLS to DBF Converter. Como puede ver, la interfaz está en inglés, pero, sin embargo, es intuitiva.

    La pestaña se abre inmediatamente "Entrada" ("Entrar"). Tiene la intención de indicar el objeto a convertir. Para hacer esto, haga clic en el botón "Añadir" (Añadir).

  12. Después de eso, se abre una ventana estándar para agregar un objeto. En él, debe ir al directorio donde se encuentra el libro de Excel que necesitamos con la extensión xls o xlsx. Después de encontrar el objeto, seleccione su nombre y presione el botón "Abierto".
  13. Como puede ver, después de eso, la ruta al objeto se mostró en la pestaña "Entrada"... Presione la tecla "Próximo" ("Más lejos").
  14. Después de eso, pasamos automáticamente a la segunda pestaña. "Salida" ("Conclusión"). Aquí debe especificar en qué directorio se mostrará el objeto terminado con la extensión DBF. Para seleccionar la carpeta para guardar el archivo DBF terminado, haga clic en el botón "Examinar ..." ("Ver"). Se abre una pequeña lista de dos elementos. Seleccione Archivo ("Seleccione un archivo") y "Seleccione la carpeta" ("Seleccione la carpeta"). De hecho, estos elementos solo significan la elección de diferentes tipos de ventanas de navegación para indicar la carpeta de guardado. Hacer una elección.
  15. En el primer caso, será una ventana normal. "Guardar como…"... Mostrará tanto carpetas como objetos dBase existentes. Vaya al directorio donde desea guardar. Más en el campo "Nombre del archivo" indicamos el nombre con el que queremos que aparezca el objeto después de la conversión. Después de eso, haga clic en el botón "Salvar".

    Si eliges la opción "Seleccione la carpeta", luego se abrirá una ventana de selección de directorio simplificada. Mostrará solo carpetas. Seleccione la carpeta para guardar y haga clic en el botón "OKAY".

  16. Como puede ver, después de cualquiera de estas acciones, la ruta a la carpeta para guardar el objeto se mostrará en la pestaña "Salida"... Para ir a la siguiente pestaña, haga clic en la clave "Próximo" ("Más lejos").
  17. En la última pestaña "Opciones" ("Opciones") hay muchas configuraciones, pero estamos más interesados \u200b\u200ben "Tipo de campos de notas" ("Tipo de campo de nota"). Haga clic en el campo en el que la configuración predeterminada es "Auto" ("Auto"). Se abre una lista de tipos de dBase para guardar el objeto. Este parámetro es muy importante, ya que no todos los programas que trabajan con dBase pueden manejar todo tipo de objetos con esta extensión. Por lo tanto, debe saber de antemano qué tipo elegir. Hay seis tipos diferentes para elegir:
    • dBASE III;
    • FoxPro;
    • dBASE IV;
    • Visual FoxPro;
    • \u003e SMT;
    • dBASE Nivel 7.

    Hacemos una elección del tipo que se necesita para usar en un programa en particular.

  18. Una vez realizada la elección, puede continuar con el procedimiento de conversión directa. Para hacer esto, haga clic en el botón "Comienzo" ("Comienzo").
  19. Se inicia el procedimiento de conversión. Si el libro de Excel contiene varias hojas con datos, se creará un archivo DBF separado para cada una de ellas. La finalización del proceso de conversión se indicará con un indicador de progreso verde. Después de que llegue al final del campo, presione el botón "Terminar" ("Terminar").

El documento terminado se ubicará en el directorio que se especificó en la pestaña "Salida".

El único inconveniente significativo del método que utiliza el WhiteTown Converters Pack es que solo será posible realizar 30 procedimientos de conversión de forma gratuita, y luego deberá adquirir una licencia.

Método 2: complemento XlsToDBF

Puede convertir un libro de Excel a dBase directamente a través de la interfaz de la aplicación instalando complementos de terceros. Uno de los mejores y más convenientes es el complemento XlsToDBF. Consideremos el algoritmo para su aplicación.

  1. Después de descargar el archivo XlsToDBF.7z con el complemento, descomprima un objeto llamado XlsToDBF.xla. Dado que el archivo tiene la extensión 7z, el desempaquetado se puede realizar con el programa estándar 7-Zip para esta extensión o con cualquier otro archivador que admita trabajar con él.
  2. Después de eso, ejecute el programa Excel y vaya a la pestaña "Archivo"... A continuación, pasamos a la sección "Opciones" a través del menú en el lado izquierdo de la ventana.
  3. En la ventana de parámetros abierta, haga clic en el elemento "Complementos"... Muévase al lado derecho de la ventana. En el fondo hay un campo "Controlar"... Movimos el interruptor a la posición Complementos de Excel y haga clic en el botón "Vamos ...".
  4. Se abre una pequeña ventana para administrar complementos. Presionamos el botón en él "Visión general…".
  5. Se lanza la ventana de apertura de objetos. Necesitamos ir al directorio donde se encuentra el archivo XlsToDBF descomprimido. Vaya a la carpeta con el mismo nombre y seleccione el objeto con el nombre "XlsToDBF.xla"... Después de eso, haga clic en el botón "OKAY".
  6. Luego volvemos a la ventana de administración de complementos. Como puede ver, el nombre ha aparecido en la lista. "XLS -\u003e DBF"... Esta es nuestra superestructura. Debe haber una marca de verificación junto a él. Si no hay una marca de verificación, colóquelo y luego haga clic en el botón "OKAY".
  7. Entonces el complemento está instalado. Ahora abrimos el documento de Excel, cuyos datos deben convertirse a dBase, o simplemente los escribimos en la hoja, si el documento aún no se ha creado.
  8. Ahora tendremos que hacer algunas manipulaciones con los datos para prepararlos para la conversión. En primer lugar, agregamos dos líneas sobre el encabezado de la tabla. Deben ser los primeros en la hoja y tener nombres en la barra de coordenadas verticales "1" y "2".

    En la celda superior izquierda, ingrese el nombre que queremos asignar al archivo DBF creado. Consta de dos partes: el nombre en sí y la extensión. Solo se permite el alfabeto latino. Un ejemplo de tal nombre es "UCHASTOK.DBF".

  9. En la primera celda a la derecha del nombre, debe especificar la codificación. Hay dos opciones para codificar con este complemento: CP866 y CP1251... Si celular B2 vacío o tiene cualquier valor que no sea "CP866", luego se aplicará la codificación predeterminada CP1251... Establecemos la codificación que consideremos necesaria o dejamos el campo vacío.
  10. A continuación, pase a la siguiente línea. El punto es que en la estructura de dBase, cada columna llamada campo tiene su propio tipo de datos. Existen tales sus designaciones:
    • norte (Numérico) - numérico;
    • L (Lógico) - lógico;
    • re (Fecha) - fecha;
    • C (Cadena de caracteres.

    Además, en cadena ( Cnnn) y tipo numérico ( Nnn) después del nombre en forma de letra, indique el número máximo de caracteres en el campo. Si los lugares decimales se utilizan en un tipo numérico, entonces su número también debe especificarse después de un punto ( Nnn.n).

    Hay otros tipos de datos en formato dBase (Memo, General, etc.), pero este complemento no puede funcionar con ellos. Sin embargo, Excel 2003 tampoco sabía cómo trabajar con ellos, cuando todavía admitía la conversión a DBF.

    En nuestro caso particular, el primer campo será una cadena de 100 caracteres de ancho ( C100), y el resto de los campos serán numéricos, de 10 caracteres de ancho ( N10).

  11. La siguiente línea contiene los nombres de los campos. Pero el caso es que también deben ingresarse en el alfabeto latino, y no en el alfabeto cirílico, como hacemos nosotros. Además, no se permiten espacios en los nombres de los campos. Les cambiamos el nombre de acuerdo con estas reglas.
  12. Después de eso, la preparación de datos se puede considerar completa. Seleccione todo el rango de la tabla en la hoja con el cursor sosteniendo el botón izquierdo del mouse. Luego ve a la pestaña "Desarrollador"... Está deshabilitado de forma predeterminada, por lo que antes de realizar más manipulaciones, debe activarlo y habilitar macros. Más adelante en la cinta en el bloque de ajustes "El código" haga clic en el icono "Macros".

    Puede hacerlo un poco más fácil escribiendo una combinación de teclas de acceso rápido Alt + F8.

  13. Se abre la ventana de macros. En campo "Nombre de macro" ingrese el nombre de nuestro complemento "XlsToDBF" sin comillas. El registro no es importante aquí. A continuación, haga clic en el botón "Correr".
  14. La macro se está procesando en segundo plano. Posteriormente, en la misma carpeta donde se encuentra el archivo original de Excel, se generará un objeto con la extensión DBF con el nombre que se especificó en la celda A1.

Como puede ver, este método es mucho más complicado que el anterior. Además, es bastante limitado en el número de tipos de campos utilizados y tipos de objetos creados con la extensión DBF. Otra desventaja es que el directorio para crear un objeto dBase se puede asignar solo antes del procedimiento de conversión, moviéndolo directamente a la carpeta de destino del archivo original de Excel. Entre las ventajas de este método, se puede destacar que, a diferencia de la versión anterior, es absolutamente gratuito y casi todas las manipulaciones se realizan directamente a través de la interfaz de Excel.

Método 3: programa de Microsoft Access

Aunque las nuevas versiones de Excel no tienen una forma incorporada de guardar datos en formato DBF, sin embargo, la opción que usa Microsoft Access se acerca más a ser llamada estándar. El hecho es que este programa es lanzado por el mismo fabricante que Excel y también está incluido en el paquete de Microsoft Office. Además, es la opción más segura, ya que no tendrá que meterse con software de terceros. Microsoft Access está diseñado específicamente para trabajar con bases de datos.

  1. Después de ingresar todos los datos necesarios en la hoja en Excel, para convertirlos al formato DBF, primero debe guardar en uno de los formatos de Excel. Para hacer esto, haga clic en el ícono del disquete en la esquina superior izquierda de la ventana del programa.
  2. Se abre la ventana de guardar. Vaya al directorio donde queremos que se guarde el archivo. Es desde esta carpeta que deberá abrirla más tarde en Microsoft Access. El formato del libro se puede dejar por defecto xlsx, o puede cambiarlo a xls. En este caso, esto no es crítico, ya que de todos modos guardamos el archivo solo para convertirlo a DBF. Después de realizar todas las configuraciones, haga clic en el botón "Salvar" y cierre la ventana de Excel.
  3. Lanzamos el programa Microsoft Access. Ir a la pestaña "Archivo"si se abrió en otra pestaña. Haga clic en el elemento del menú "Abierto"ubicado en el lado izquierdo de la ventana.
  4. Se inicia la ventana de apertura de archivos. Vaya al directorio donde guardamos el archivo en uno de los formatos de Excel. Para que aparezca en la ventana, mueva el interruptor de formato de archivo a la posición "Libro de Excel (* .xlsx)" o Microsoft Excel (* .xls), dependiendo de en cuál se guardó el libro. Después de que se muestre el nombre del archivo que necesitamos, selecciónelo y haga clic en el botón "Abierto".
  5. Se abre una ventana "Enlace a una hoja de cálculo"... Le permite mover datos de un archivo de Excel a Microsoft Access con la mayor precisión posible. Necesitamos seleccionar la hoja de Excel desde la cual vamos a importar datos. El hecho es que incluso si el archivo de Excel contiene información en varias hojas, puede importarlo a Access solo por separado y, en consecuencia, convertirlo en archivos DBF separados.

    También es posible importar información de rangos individuales en hojas. Pero en nuestro caso no es necesario. Coloque el interruptor en la posición "Hojas de cálculo", y luego seleccione la hoja de la que vamos a tomar los datos. La exactitud de la pantalla de información se puede ver en la parte inferior de la ventana. Si todo le conviene, haga clic en el botón "Más lejos".

  6. En la siguiente ventana, si su tabla contiene encabezados, debe marcar la casilla junto a "La primera fila contiene los títulos de las columnas"... Luego haga clic en el botón "Más lejos".
  7. En la nueva ventana Enlace de hoja de cálculo, opcionalmente puede cambiar el nombre del elemento vinculado. Luego haga clic en el botón "Hecho".
  8. Esto abrirá un cuadro de diálogo con un mensaje que indica que la vinculación de la tabla al archivo de Excel está completa. Haga clic en el botón "OKAY".
  9. El nombre de la tabla, que le asignamos en la última ventana, aparecerá en el lado izquierdo de la interfaz del programa. Haga doble clic en él con el botón izquierdo del ratón.
  10. Después de eso, la tabla se mostrará en la ventana. Mover a la pestaña "Datos externos".
  11. En la cinta de la caja de herramientas "Exportar" haga clic en la inscripción "Adicionalmente"... En la lista que se abre, seleccione el elemento Archivo DBase.
  12. Se abre una ventana para exportar a formato DBF. En campo "Nombre del archivo" puede especificar la ubicación del archivo y su nombre, si los especificados por defecto no le convienen por algún motivo.

    En campo "Formato de archivo" elija uno de los tres tipos de formato DBF:

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

    Debe tenerse en cuenta que cuanto más moderno sea el formato (cuanto mayor sea el número ordinal), más posibilidades hay de procesar datos en él. Es decir, es más probable que el archivo pueda guardar todos los datos de la tabla. Pero al mismo tiempo, es menos probable que el programa donde va a importar el archivo DBF en el futuro sea compatible con este tipo en particular.

    Después de que se establezcan todas las configuraciones, haga clic en el botón "OKAY".

  13. Si después de esto aparece un mensaje de error, intente exportar los datos usando un tipo diferente de formato DBF. Si todo salió bien, aparecerá una ventana informándole que la exportación se realizó correctamente. Haga clic en el botón "Cerrar".

El archivo dBase creado se ubicará en el directorio especificado en la ventana de exportación. Luego, puede realizar cualquier manipulación con él, incluida la importación a otros programas.

Como puede ver, a pesar de que en las versiones modernas de Excel no existe la posibilidad de guardar archivos en formato DBF con herramientas integradas, sin embargo, este procedimiento se puede realizar utilizando otros programas y complementos. Cabe señalar que el método de conversión más funcional es utilizar el paquete WhiteTown Converters. Pero, desafortunadamente, el número de conversiones gratuitas es limitado. El complemento XlsToDBF le permite realizar la conversión de forma totalmente gratuita, pero el procedimiento es mucho más complicado. Además, la funcionalidad de esta opción es muy limitada.

La "media dorada" es el método que utiliza el programa Access. Al igual que Excel, está desarrollado por Microsoft y, por lo tanto, no puede llamarlo una aplicación de terceros. Además, esta opción le permite convertir un archivo de Excel a varios tipos de formato dBase. Aunque a este respecto Access sigue siendo inferior a WhiteTown.

cómo crear un archivo dbf a partir de un archivo de Excel usando ADO en ADO Me confundí ...... precisamente en la información específica .... 1. conectando a dbf (y qué más se puede conectar con ado y cómo); 2. crear un archivo dbf (otras opciones); 3.grabación; 4.ahorro; 5.cerrando. gracias por cualquier información

qué buscar en un tema determinado o ignorarlo por completo ... en un tema ADO puede crear mejor un tema ..... uso extensivo de ADO

con moderación cómo resulta

Código para la tarea: "Creación de un archivo dbf desde Excel"

Textual

Listado de programas

"::: Paso 1 - Determine dónde estamos ejecutando desde homeDir \u003d Wscript.ScriptFullName" ::: Esta es la ruta completa de nuestro archivo k \u003d Instrrev (homeDir, "\\") "::: Busque" \\ "desde el final homeDir \u003d left (homeDir, (k-1)) "::: Este es el nombre de directorio limpio" ::: Paso 2 - Cree una conexión ADO y un conjunto de registros vacío Establecer Conn \u003d CreateObject ("ADODB.Connection") Establecer RS \u200b\u200b\u003d CreateObject (" ADODB.Recordset ") DSNName \u003d" DRIVER \u003d Controlador de dBase de Microsoft (* .dbf); DBQ \u003d "DSNName \u003d DSNName & HomeDir" ::: Etapa 3 - Conexión abierta Conn.Open DSNName "::: Etapa 4 - Preparar SQL declaración para crear una tabla SQL \u003d "crear tabla Testtable (N1 Float, N2 Float)" "::: Etapa 5 - lo ejecutamos RS.Open sql, Conn, 3,3" ::: Etapa 6 - Agregar 100 registros para i \u003d 1 a 100 SQL \u003d "insertar en los valores de la tabla de prueba (" & cstr (i) & "," & Cstr (2 * i-1) & ")" RS.Open sql, Conn, 3,3 Next ":: : Etapa 7 - resumiendo ... SQL \u003d "Seleccionar suma (N1), suma (N2) de la tabla de pruebas" RS.Open SQL, Conn, 3.3 SS1 \u003d RS (0) SS2 \u003d RS (1) MsgBox SS1 MsgBox SS2 Rs.Close SQL \u003d "Soltar tabl e Testtable "RS.Open sql, Conn, 3.3 MsgBox" ¡Tabla eliminada! "

Editor DBF universal gratuito que le permite abrir bases de datos existentes y crear nuevas. Tiene un tamaño muy pequeño, se puede ejecutar desde una unidad flash y, al mismo tiempo, tiene muchas herramientas avanzadas para trabajar con archivos DBF, ¡entre las cuales incluso hay soporte para consultas SQL!

Galería de capturas de pantalla

Por lo general, en el sitio cubrimos programas que serán de interés para una amplia gama de lectores, pero hoy el caso no es del todo normal :). Una vez trabajé como una especie de "especialista en informática" en varias oficinas gubernamentales y allí a menudo tuve que lidiar con varios programas basados \u200b\u200ben FoxPro ...

El principal problema de todas estas aplicaciones era que un simple usuario podía estropear fácilmente la base de datos para que no pudiera abrirse más tarde por los medios habituales, por lo que había que pervertirlo para devolverla a la vida (lo que no siempre era posible, dadas las "habilidades" de los "músicos salvajes". :)).

Y ahora, varios años después, como ya no trabajo allí, nos enviaron un correo electrónico con una solicitud para agregar un nuevo programa gratuito para editar bases de datos DBF, que tiene un nombre simple: Sdbf... Hablemos de ella :)

Comparación con analógico de pago

Sdbf, a pesar de su portabilidad (¡puede funcionar desde una unidad flash!) Y de tamaño pequeño, es un editor de base de datos bastante avanzado que le permite crear, editar y exportar cualquier base de datos en formato DBF, desde la especificación xBaseIII hasta la moderna xVisualFoxPro. Comparemos la funcionalidad de Sdbf, con las capacidades de uno de los editores más avanzados de este tipo, DBF Commander Professional:

De la placa anterior, vemos que los programas difieren ligeramente en funcionalidad, pero Sdbf, en primer lugar, es portátil (lo que suele ser importante, ya que todo maestro informático prefiere llevar un conjunto de programas necesarios en una unidad flash), y en segundo lugar, es completamente ¡gratis!

Iniciando Sdbf por primera vez

Para ejecutar el programa, simplemente descomprímalo del archivo descargado en cualquier ubicación y abra el archivo EXE resultante. Una ventana vacía del siguiente tipo aparecerá frente a nosotros:

Lamentablemente, arrastrar y soltar no es compatible, por lo que para comenzar debemos llamar al menú "Archivo" y seleccionar una de las dos acciones disponibles allí: "Crear" una nueva base de datos o "Abrir" una existente. Abramos una base de datos existente:

Ante nosotros abriremos el contenido de la base de datos seleccionada en forma de tabla. La línea "cero" muestra los nombres de los campos y, a partir de la primera línea, muestra el contenido en sí. Debajo del contenido está la barra de herramientas y la barra de estado en la parte inferior.

Este último muestra mucha información de servicio útil, incluido el número de registros en la base de datos, la codificación, la fecha de creación y el formato determinado automáticamente. De los formatos Sdbf, no admite solo las versiones anteriores de xBase (I y II) y le permite abrir y crear los siguientes tipos de archivos DBF:

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

Herramientas de búsqueda y filtrado de datos

El programa Sdbf le permite editar directamente cualquier celda de una base de datos abierta, sin embargo, las celdas requeridas aún deben ser encontradas ... Si la base de datos es pequeña y simple, entonces esto se puede hacer de forma bastante rápida y manual. Sin embargo, si hay varias docenas o incluso cientos de registros, la búsqueda puede resultar bastante difícil.

Pero esto no es un problema, ya que Sdbf tiene varias herramientas a la vez que le permiten filtrar datos innecesarios y mostrar solo lo que necesita.

Estas herramientas se encuentran en la barra de herramientas inferior. Aquí, al principio, hay 8 botones de navegación que le permiten moverse por la base de datos (flechas), agregar / eliminar registros, así como confirmar o cancelar cambios. Las funciones que necesitamos comienzan con el noveno botón - "Buscar":

Cuando se activa el botón, aparece una pequeña ventana con un formulario de búsqueda frente a nosotros. Necesitamos indicar el texto a buscar y seleccionar de la lista desplegable el campo que se buscará. Ahora presione el botón "Buscar siguiente" y el programa seleccionará automáticamente la línea que sigue a la selección actual, que contiene el texto deseado. Al presionar el botón nuevamente se resaltará la línea debajo de la actual, que contiene los mismos datos requeridos, etc.

A veces, las bases de datos contienen un formato de celda no estándar: espacios adicionales, pestañas y otros caracteres que no se muestran visualmente, pero que afectan el resultado de la búsqueda. Si se enfrenta a tal caso, para el funcionamiento normal de la función, solo tendrá que desmarcar la casilla de verificación "Basado en formato" en la parte inferior central de la ventana de búsqueda y las líneas de búsqueda comenzarán a mostrarse.

La función de búsqueda es útil cuando necesitamos encontrar rápidamente ocurrencias únicas de datos específicos. Pero hay ocasiones en las que sería más conveniente mostrar varias líneas a la vez que contienen solo cierta información. En este caso, la segunda función nos ayudará (cuyo botón va justo después del botón de búsqueda) - "Filtro":

Para usar el filtrado, primero debemos redactar correctamente una solicitud e ingresarla en un campo especialmente designado (inmediatamente después del botón en la parte central de la barra de herramientas). El principio de realizar una solicitud es simple, pero no del todo obvio. Primero debemos ingresar el nombre del campo por el cual queremos filtrar la tabla de la base de datos, y luego equiparar el valor del filtro al texto específico por el cual necesitamos encontrar todas las filas.

Tomamos el valor entre comillas simples, después de lo cual presionamos el botón "Filtrar" en sí (se fija) y obtenemos una tabla que contiene datos solo con los valores que definimos en los campos especificados (en el ejemplo, filtramos todas las líneas con el valor "EE. UU." En el campo "País" (no importa el caso del nombre)). Puede devolver la tabla a su vista original simplemente presionando el botón "Filtro" nuevamente (se libera nuevamente).

El campo de filtrado puede contener las condiciones más simples "y" (para refinar la consulta por varios campos) y "o" (para seleccionar alternativamente datos de diferentes campos). Desafortunadamente, Sdbf no admite consultas exclusivas (como "no"), pero podemos solucionar esta limitación de otra manera, que se discutirá a continuación.

Por cierto, para no ingresar la solicitud de filtrado manualmente, puede usar el siguiente truco: seleccione cualquier registro en el campo por el cual filtrará y presione la combinación de teclas Alt + F (no F4 :))). La solicitud se generará automáticamente y el valor contendrá el signo "*", que es una máscara de búsqueda y coincide con cualquier número de caracteres.

Por desgracia, este es el único tipo de máscaras que se pueden usar en Sdbf y, lo que es aún más triste, una solicitud puede contener solo una máscara :(. Por lo tanto, si necesita filtrar el mismo campo por varios parámetros, tendrá que usar el operador "y" (formación rápida de una consulta presionando "CTRL + ALT + F") o "o" ("SHIFT + ALT + F").

Ejecución de consultas SQL en tablas de bases de datos

La búsqueda y el filtrado es indudablemente bueno, pero no siempre conveniente. Cuando el número de registros es grande, fácilmente podemos perder de vista los datos que necesitamos al analizar tablas. Sin embargo, para este caso, Sdbf tiene una gran característica: ¡soporte para consultas SQL!

Con estas consultas en Sdbf, podemos:

  1. Formatee dinámicamente nuestra tabla, creando una selección solo para ciertos campos obligatorios (declaraciones SELECT y SELECT TOP);
  2. Copiar datos de una base de datos a otra (INSERT FROM e INSERT INTO);
  3. Modificar y eliminar el contenido de ciertas líneas (ACTUALIZAR y ELIMINAR, respectivamente);
  4. Consultas paralelas de grupo (UNION);
  5. Formar tablas dinámicas (PIVOT).

Para comenzar a trabajar con consultas, debemos hacer clic en el botón "Consulta SQL" en el extremo derecho de la barra de herramientas. Sin embargo, el resultado de tal acción será algo desalentador: el contenido de la base de datos recién editada desaparecerá y aparecerá otra ventana vacía con dos campos en la parte superior de la ventana de trabajo (en la parte superior, el campo de salida de datos, y debajo, el campo de entrada).

No tengas miedo :). Solo necesita ingresar inmediatamente la consulta SQL requerida en el campo inferior con el nombre de la base de datos requerida. Si no recuerda este nombre, puede activar la barra lateral Sdbf (haciendo clic en la barra vertical gris a la derecha), que muestra todas las bases de datos que abrió anteriormente en una lista:

Además, para agilizar el trabajo, es recomendable recordar las teclas de acceso rápido, que se pueden ver llamando a la ayuda presionando la tecla F1. Solo hay tres, pero pueden acelerar significativamente el proceso de creación de consultas correctas.

Entonces, la combinación "CTRL + Espacio" - mostrará una ventana emergente con una lista de nombres de bases de datos disponibles (para no mirar la barra lateral), "CTRL + F" - mostrará una lista de funciones para el operador actual, y "CTRL + Enter" iniciará el proceso de ejecución de la consulta ... Además, si hace clic con el botón derecho en el campo de entrada (llamar al menú contextual), obtendremos una lista de operadores compatibles con Sdbf.

Volvamos a nuestra captura de pantalla anterior y veamos la consulta más simple que se hizo allí. Se basa en la instrucción "SELECT", lo que significa que nos devuelve una selección. El parámetro de selección es "*", que significa la salida de cualquier dato, sin embargo, podríamos especificar allí los nombres de los campos de la tabla de la base de datos separados por comas.

La recuperación que discutimos anteriormente es la más simple, pero Sdbf permite consultas más complejas. En la siguiente captura de pantalla, veremos una selección, una tabla generada dinámicamente que consta de campos que contienen los nombres de los clientes, la ciudad en la que viven y el país. Además, los clientes se filtran por país de residencia (EE. UU.) Y los resultados se muestran en orden alfabético:

Si analizamos esta consulta, veremos el método ya mencionado de seleccionar por los campos especificados por comas después de la instrucción SELECT. Además, la misma indicación del nombre de la base de datos, pero ahora la solicitud no termina ahí.

El siguiente paso es enumerar las funciones del operador principal que deben ejecutarse como resultado del procesamiento de la solicitud. Hay dos de ellos aquí.

El primero - "dónde" es similar al filtro que discutimos anteriormente y realiza una acción similar - le permite seleccionar solo aquellos registros que coinciden con la condición.

La segunda función, "ordenar por", es responsable de ordenar los resultados por uno de los campos (en este caso, por el campo con el nombre del cliente - "NOMBRE") en orden alfabético (parámetro "asc") o invertido ("desc").

Naturalmente, el ejemplo dado también es bastante primitivo, pero refleja la esencia general de la creación y el procesamiento de consultas SQL. Si desea obtener más información sobre ellos, le aconsejo que lea los manuales aquí: http://dimonchik.com/insert.html o https://www.sql.ru/articles/articles.aspx?g\u003dSQL&s\u003d0.

Por cierto, la ventaja de Sdbf es la capacidad de exportar la tabla obtenida como resultado de la consulta como una nueva base de datos o en forma de archivo HTML, RTF o CSV. Para hacer esto, simplemente llame al menú contextual del campo de visualización de la tabla y seleccione el elemento apropiado.

Funciones adicionales de la barra de menú

Descubrimos las características principales de Sdbf, pero no termina ahí. Una serie de funciones útiles e incluso únicas están ocultas en la barra de menú, la misma que usamos para abrir la base de datos :) Por lo tanto, muchas características útiles (que a veces le permiten prescindir de consultas SQL) se pueden encontrar en el menú "Tabla":

Entre otras "cosas útiles" como cambiar la codificación y fusionar bases de datos en la parte inferior, podemos encontrar el elemento "Cambiar estructura". Este elemento llama a una ventana adicional en la que podemos cambiar por completo todos los campos de una tabla abierta, agregar nuevos o eliminar secciones innecesarias (se abre la misma ventana al crear una base de datos desde cero).

Específicamente, podemos cambiar el orden de los campos, sus nombres, tipos, tamaños (el número de caracteres en una celda) y precisión (profundidad de bits; generalmente se establece automáticamente y depende del tipo de campo).

Lo único que debe recordar al editar (y especialmente crear) bases de datos es que cada tipo de base de datos tiene sus propios conjuntos de tipos de campos y, a menudo (si no tiene en cuenta los N, C, D básicos) difieren. Por ejemplo, las bases de datos de xClipper no admiten campos de imagen (P, B) y xBase hasta la séptima versión no admiten campos de incremento automático (+). Es decir, siempre debes recordar la compatibilidad :).

Mientras estamos en la barra de menú, no olvide mirar el menú Campo:

Aquí solo hay dos funciones, ¡pero pueden ser muy útiles! Especialmente el primero es "Reemplazar". Le permite reemplazar rápida y automáticamente valores en toda la columna del campo especificado, o palabras y símbolos específicos en toda la base de datos.

La función "Calcular" es análoga a las fórmulas de cálculo automático de Excel y nos permite realizar operaciones matemáticas y estadísticas como encontrar la suma automática de un campo, calcular la media aritmética, así como los valores máximo y mínimo. Naturalmente, para realizar cálculos, los tipos de campo deben ser numéricos (N, F, I, O, B).

La última característica, que no es tan obvia, pero puede ser útil, es el editor HEX incorporado:

Te permite editar los datos de cualquier celda. Para hacer esto, simplemente seleccione el contenido que necesita ser cambiado y seleccione el último elemento en el menú contextual - "Abrir en hexadecimal". Todo: puede editar y guardar o imprimir el resultado de inmediato.

Ventajas y desventajas del programa

  • portabilidad y tamaño pequeño;
  • soporte para casi todos los tipos de archivos DBF;
  • la capacidad de crear bases de datos desde cero;
  • soporte para consultas SQL;
  • sistema incorporado para buscar, filtrar y editar datos.
  • no permite especificar más de una máscara en el filtro;
  • no hay función de deshacer.

conclusiones

El programa Sdbf, con su modesto tamaño y requisitos del sistema, le permite hacer con bases de datos DBF, si no todas, muchas ... ¡Y la implementación del soporte para consultas SQL en general le permite llevar el trabajo de editar la base de datos a un nuevo nivel! Con su ayuda, puede compensar fácilmente muchas deficiencias en el trabajo a través de la interfaz gráfica.

La mayor decepción, en mi opinión, fue la ausencia de la función más trivial "Deshacer la última acción" en el mundo "CTRL + Z" :( Lo más molesto es que, por un descuido o ignorancia, el usuario puede, por ejemplo, aplicar accidentalmente la autocorrección en todo el campo y regresar los datos ya no serán posibles :(

Para esto, podemos afirmar que el programa es funcionalmente más que exitoso, pero antes de trabajar con él, siempre siga la antigua regla de administración: ¡CREAR BACKUPS! Y serás feliz :)

PD Se permite copiar y citar libremente este artículo, siempre que se indique un enlace activo abierto a la fuente y se preserve la autoría de Ruslan Tertyshny.

DBF es un formato de almacenamiento de datos generalizado que apareció en los años 80 del siglo pasado. El formato se utilizó por primera vez en la familia dBase de DBMS. Debido a la popularidad y el uso generalizado de dBase, se han creado muchos productos de software similares a dBase, denominados colectivamente xBase. A pesar de la considerable antigüedad del formato, todavía se usa ampliamente en la actualidad. Este artículo analiza las formas de trabajar con DBF de 1C: Enterprise.

1C: Enterprise utiliza un objeto de software especial, xBase, para trabajar con archivos en formato DBF (versión dBase III). Trabajar con este objeto suele ser sencillo.

¡Atención!

Cuando trabaje con archivos DBF, recuerde que el nombre del archivo debe satisfacer la restricción 8.3.

¡Atención!

El objeto XBase está disponible en el lado del cliente y en el lado del servidor. Debería pensar en la interacción cliente-servidor al resolver cada problema específico.

Leer un archivo DBF

La lectura de datos de un archivo DBF se realiza en varias etapas secuenciales:

  1. Creación de un objeto XBase;
  2. Abrir un archivo;
  3. Enumeración secuencial de todas las líneas del archivo y lectura de valores de campo;
  4. Cerrando el archivo.
DBF \u003d Nueva XBase; DBF. OpenFile ("D: \\ MyFile.dbf"); // Etapa 2. Abrir el archivo Hasta el ciclo de la verdad // Etapa 3. Recorrer las líneas del archivo Informe (DBF. NOMBRE); Si NO es DBP. Lo que sigue // Posicionamiento en el siguiente registro Abortar; Terminara si; Fin de ciclo; DBF. Cerrar el archivo (); // Paso 4. Cerrar el archivo

Puede utilizar un algoritmo ligeramente modificado para iterar sobre las líneas del archivo:

Todavía no DBP. Al final () Informe de bucle (DBF. NOMBRE); DBF. próximo(); Fin de ciclo;

Subir a archivo DBF

Etapas de la carga a un archivo DBF:

  1. Creación de un objeto XBase;
  2. Especificar la codificación (si no se especifica, se utilizará la codificación ANSI);
  3. Descripción de campos;
  4. Creación de archivos;
  5. Bucle con líneas de adición y llenado;
  6. Cerrando el archivo.

Consideremos este proceso con un ejemplo:

DBF \u003d Nueva XBase; // Etapa 1. Creación del objeto XBase DBF. Codificación \u003d EncodingXBase. OEM; // Etapa 2. Especificando la codificación DBF. Campos. Agregar ("CÓDIGO", "S", 9); // Etapa 3. Descripción del nombre y tipo de campo DBF. Campos. Agregar ("NOMBRE", "S", 40); DBF. CreateFile ("D: \\ MyFile.dbf"); // Paso 4. Crea un archivo Muestra \u003d Directorios. Nomenclatura. Escoger(); Mientras toma muestras. Siguiente () Bucle DBF. Agregar (); // Agrega una línea DBF. CÓDIGO \u003d Muestra. El código; // Complete el valor del campo DBF. NOMBRE \u003d Muestra. Nombre; DBF. Escribir (); // Escribe la línea EndCycle; DBF. Cerrar el archivo(); // Etapa 6. Cerrar el archivo

Al especificar la codificación, se utiliza el tipo EncodingXBase, que puede tomar dos valores:

  • ANSI - formato de Windows;
  • OEM - Formato DOS.

Agregar un nuevo campo al describir una estructura tiene la sintaxis

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

Están disponibles los siguientes tipos:

  • "N" es un número;
  • "S" - cuerda;
  • "D" - fecha;
  • "L" - booleano;
  • "F" - similar a "N" - número.

La longitud del campo es necesaria para los tipos de campo "N", "F" y "S".

Trabajar con índices

Se puede usar un archivo de índice junto con el archivo DBF, que puede contener información sobre uno o más índices. La presencia de índices hace posible utilizar la búsqueda, y no solo la enumeración secuencial de todas las líneas del archivo.

Al crear un archivo de índice, debe especificar:

  • Lista de índices;
  • La ruta para guardar el archivo de índice (en el paso 4 de la carga).

Un ejemplo de creación de un archivo de índice:

DBF ... Índices. Agregar ("INDCODE", "CODE"); DBF. Crea un archivo("D: \\ MyFile.dbf", "D: \\ index.cdx");

El procedimiento para agregar un nuevo índice tiene la sintaxis:

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

Para usar índices al leer de un archivo DBF:

  • Especifique la ruta al archivo de índice (en la etapa 2 de la descarga);
  • Establece el índice actual.

Un ejemplo de cómo abrir un archivo DBF usando un archivo de índice:

DBF ... OpenFile ("D: \\ MyFile.dbf", "D: \\ index.cdx"); DBF. CurrentIndex \u003d DBF. Índices. INDCODE;

¡Atención!

Al abrir un archivo DBF, el posicionamiento se produce en el primer registro del archivo. El primer registro del archivo no coincide con el primer registro del índice. Por lo tanto, cuando se utilizan índices, antes de recorrer las filas secuencialmente, es necesario posicionarse en la primera fila del índice. Esto se puede hacer usando el método First (), por ejemplo:

DBF. Primero ();

Se puede utilizar una de las dos funciones para buscar:

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

Como resultado del funcionamiento de ambas funciones, se devuelve un valor de tipo booleano (tanto si se encontró un registro con las condiciones especificadas como si no). Si la búsqueda tiene éxito, el puntero actual se establece en la cadena encontrada. Se puede utilizar uno de los siguientes valores como modo de búsqueda:

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

Veamos una búsqueda en un archivo DBF con ejemplos:

DBF \u003d Nueva XBase; DBF. OpenFile ("D: \\ MyFile.dbf", "D: \\ index.cdx"); // Al abrir un archivo DBF, el archivo de índice se especifica adicionalmente DBF. CurrentIndex \u003d DBF. Índices. INDCODE; // Establecer el índice actual // busca usando el método Find: Si DBF. Buscar ("000000003", "\u003d") Luego Informe (+ DBF. NAME); Informe de lo contrario ("No encontrado"); Terminara si; // busca usando el método FindByKey: DBF. Llave. CODIGO \u003d "000000002"; Si DBF. FindByKey ("\u003d") Luego informe ( "Encontrado. Nombre del artículo:" + DBP. NOMBRE); Informe de lo contrario ("No encontrado"); Terminara si; DBF. Cerrar el archivo();

Eliminar entradas en un archivo DBF

El registro se elimina mediante el método Delete ():

DBF ... Eliminar();

Sin embargo, este método no elimina permanentemente la entrada del archivo, se marca como eliminada. Al iterar sobre las líneas, se omiten los registros marcados para su eliminación. Si necesita recorrer todo el archivo, incluidos los registros marcados para su eliminación, debe establecer la propiedad en True DisplayEliminado Objeto xBase. Puede averiguar si un registro está marcado para su eliminación o no mediante la función Registro eliminado (). Para desmarcar la eliminación, use el método Restore ().

DBF ... DisplayRemoted \u003d True; Todavía no DBP. Al final () Loop If DBF. Registro eliminado () Luego DBF. Restablecer(); Terminara si; DBF. próximo(); Fin de ciclo;

Para eliminar directamente los registros marcados, use el método Compress ():

DBF ... Encogimiento();

Si necesita eliminar todos los registros de un archivo directamente, puede utilizar el método ClearFile ():

DBF ... Archivo vacio();

Cargando desde DBF con ADO

La tecnología ADO se puede utilizar para trabajar con archivos DBF. Los controladores ADO se incluyen con el sistema operativo Windows y no requieren instalación adicional.

Consideremos un ejemplo de código para leer de un archivo DBF usando tecnología ADO:

ALHARACA \u003d Nuevo COMObject ("ADODB.Connection"); // Crea un objeto COM ALHARACA. Abierto ( "Proveedor \u003d Microsoft.Jet.OLEDB.4.0; | Fuente de datos \u003d" "D: \\" "; | Propiedades extendidas \u003d DBASE III"); DB \u003d ADO. Ejecutar ("Seleccionar * de MyFile"); // solicitud para obtener todos los registros del archivo MyFile.DBF Mientras que el DB. EOF \u003d 0 ciclo // Recorre los registros en el archivo DBF Informe (DB. Campos ("Nombre"). Valor); // Un ejemplo de acceso a un valor de campo DB. MoveNext (); // Ir a la siguiente entrada Fin de ciclo; ALHARACA. Cerrar ();

En el ejemplo dado, se utiliza la cadena de conexión "Provider \u003d Microsoft.Jet.OLEDB.4.0; Data Source \u003d" D: \\ "; Extended Properties \u003d DBASE III". En esta línea:

  • El proveedor es el controlador a utilizar;
  • La fuente de datos es la ruta donde se encuentra el archivo DBF. La ruta se especifica con precisión de directorio. El nombre del archivo se utiliza como nombre de la tabla en las consultas;
  • Propiedades extendidas: en el caso de apelar al archivo DBF, es un parámetro obligatorio. El formato de archivo se puede especificar

¡Atención!

Al leer de esta manera, la codificación predeterminada es OEM. Para cambiar la codificación a ANSI, configure el parámetro HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Wow6432Node \\ Microsoft \\ Jet \\ 4.0 \\ Engines \\ xBase \\ DataCodePage a "ANSI" en el registro de Windows.

¿Aún tienes preguntas?
Pregunte en los comentarios al artículo.