Ver Mensaje Individual
  #12  
Antiguo 16-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo sigo sin entender por qué en unos casos acepta las comas y en otros no. El ejemplo de Neftali me funciona si cambio por comas pero no si dejo los ;.

Según he seguido leyendo, hay dos maneras de especificar el formato:
  • En el registro
  • En un archivo schema.ini

En el primer caso, los parámetros se especifican en la entrada

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text

Ahí, entre otras cosas, puede verse el campo Format con su valor por defecto: CSVDelimited, que es el que usa comas. Otros valores posibles para el campo Format son:
  • TabDelimited - para separar con tabuladores
  • Delimited(x) - x = separador

Y, en efecto, si pongo como valor de Format a Delimited(, me funciona el ejemplo de Neftali. Se puede usar cualquier otro separador, excepto las comillas dobles.

Si no se quiere alterar el registro, se pueden usar un archivo schema.ini que se localice en la misma carpeta que el archivo con los datos. schema.ini, será un archivo INI con una sección por cada archivo de texto que deseemos usar. Así, por ejemplo, si el archivo es datos.txt, entonces schema.ini deberá tener la sección

Código:
[datos.txt]
Format=Delimited(*)
Aquí, se indicaría que el archivo datos.txt usa un asterisco como separador de campos.

Según entiendo también, este archivo schema.ini es el que debemos usar para especificar las longitudes de los campos en el caso de que usemos columnas de ancho fijo (primera cadena que puso Neftali) en lugar de con separadores.

El formato del archivo schema.ini para estos casos, así como el resto de lo que escribí, se puede ver en http://msdn.microsoft.com/library/de...ng03092004.asp

// Saludos
Responder Con Cita