2011-06-02 55 views
6

Tengo un archivo MS Access mdb. Necesito convertirlo a un archivo CSV. ¿Cómo lo hago? Por favor, no me apunte a ningún programa gratuito.Convertir MDB a CSV

Gracias de antemano

+7

Sin gratuito! Entonces, ¿quieres una recomendación de compras? – pavium

+0

@ pavium ... Necesito un bloque de código para convertirlo yo mismo. – Rajdeep

+0

Puede encontrar otra versión del código de VBA para volcar tablas como archivos CSV aquí: http://stackoverflow.com/questions/6470469/how-fast-is-sqlite-compared-to-microsoft-access-mdb/6471310#6471310 – HansUp

Respuesta

4

habiendo ningún software gratuito, como usted pidió, que podría recomendar que Espectral Núcleo de Full Convert Enterprise.

Lo he usado con éxito en el pasado, también.

Actualización:

Desde que aclaró que se necesita una solución de programación, yo recomiendo que lo hagan de forma manual:

  1. Abra una conexión con el archivo MDB través de ADO.NET.
  2. Iterar todas las tablas.
  3. Crea un archivo de texto (CSV) para cada tabla.
  4. Para cada tabla, itere todas las filas.
  5. Para cada fila, escriba una nueva línea en el archivo de texto.
  6. Para cada fila, itere todas las columnas.
  7. Para cada columna, escriba el valor en el archivo de texto en la fila actual.
+0

@Keim ... Quise decir es que quiero el código que hará la conversión. No necesito ninguna herramienta para hacer eso. ¿Alguien me puede ayudar con eso? – Rajdeep

+0

Thankx Keim ... Lo hice. Pero ahora estoy atrapado en una situación completamente nueva. Ahora tengo que leer de ese archivo CSV y convertirlo en un archivo MDB. ¿Alguna ayuda con respecto a esto? – Rajdeep

+0

@Rajdeep Intente publicar una nueva pregunta o buscar en Internet una solución. –

3

Con VBA

Dim db As DAO.Database 
Dim tdf As TableDef 

Set db = CurrentDb 

For Each tdf In db.TableDefs 
    If Left(tdf.Name, 4) <> "MSys" Then 
     DoCmd.TransferText acExportDelim, , tdf.Name, tdf.Name & ".csv" 
    End If 
Next 

- http://msdn.microsoft.com/en-us/library/aa220768%28v=office.11%29.aspx

+0

+1 En realidad, prefiero mi versión, pero reconozco que soy parcial. :-) Sin embargo, todavía creo que es útil saltarse las "~" tablas a CSV, y para incluir nombres de campo en los archivos CSV. – HansUp

+0

@HansUp Esta es una pregunta antigua con una respuesta arrojadiza :) No tengo ninguna "~" mesa, nunca la tuve. ¿Te refieres a consultas? – Fionnuala

+0

No, quise decir tablas. Cuando elimina una tabla, persiste en la colección TableDefs con su nombre original con el prefijo "~". No estoy seguro de cuánto tiempo persisten de esa manera; compacto parece eliminarlos. Pero creo que si todavía hay una tabla eliminada en TableDefs, no sería útil guardarla como CSV. – HansUp

4

uso de esta utilidad de su código abierto y libre de MDB a csv convertidor: MDBtoCSV

4

argumentalmente (https://plot.ly) convertirá sus archivos MDB a CSV gratis.
EDITAR: gratis Los usuarios de Plotly no pueden usar esta funcionalidad; se requiere una suscripción