Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Problema con la creacion de archivo .txt y .dat desde VB (http://www.forosdelweb.com/f69/problema-con-creacion-archivo-txt-dat-desde-vb-441482/)

OlaIsa 08/11/2006 12:44

Problema con la creacion de archivo .txt y .dat desde VB
 
Hola a todos....Aki esta mi problema a ver si me pueden ayudar

Tengo una base de datos en Access, pero mediante un formulario mando llamar una rutina de VB, esa rutina lo k hace es llenar una tabla temporal(tempXXX) con datos de una consulta, y despues esos datos son mandados a dos archivos uno .txt y otro .dat, el problema es k a estos archivo mandaba una columna con datos decimales y !no me aparecen los decimales!,:'( despues de hacer varias pruebas y no poder cambie el tipo de campo a cadena así k por ejemplo todos kedaron asi "120.0", pero aun asi en los archivo me siguie sin aparecer el ".0".:neurotico . Ahora menos se pork, si se supone k es una cadena y no deberia de haber ningun problema....

Para darles una idea el archivo de texto tiene N filas con datos como estos:

42 520 173 120

En donde este ultimo deberia de ser el decimal.

No se si sea algo de codificacion o algo así, (la verdad es k no se mucho) :patada:

La instruccion que realiza para crear el archivo es la siguiente:

Código:

vari = vari & "\dep" & Mes & unidad

DoCmd.TransferText acExportFixed, "exportpaso", _
    "tempxxx", vari & ".txt"
nombre1 = vari & ".txt"
nombre2 = vari & ".dat"
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile nombre1, nombre2

Gracias a todos...Saludos:-)

tazzito 08/11/2006 13:24

OlaIsa

hola, consulta, en la tabla temporal los datos de que tipo son numericos o de tipo texto?
verifica que en ella se esten guardando con el .0 y si es asi creo que lo mejor sera pasar la tabla temporal en forma manual (osea registro a registro)

OlaIsa 08/11/2006 13:29

Hola tazzito...la tabla temporal anteriormente tenia tipo numerico...pero por la cuestion de k no aparecian los decimales (fueran los k fueran), la cambie a texto y si los llena como cadena y le incluye el ".0".

Y la tabla temporal se llena con una consulta que puede variar, así k kada k un usuario diferente entra y kiere generar el .txt la tabla temporal borra todo lo k tiene y se vuelve a llenar con los datos nuevos, así k pasarla manualmente seria algo dificil... No sera k algo en el DoCmd.TransferText ???? mmmm.

saludos.

tazzito 08/11/2006 13:47

OlaISa,

a eso voy, la verdad ese comando nunca lo eh usado y cada vez que tengo que generar un archivo lo hago registro por registro dandole el formato los espacion etc que yo necesito.

OlaIsa 08/11/2006 14:53

Ok..entonces tendria k llenar la tabla(igual k eta ahorita), luego recorrer la tabla y pasar fila por fila al archivo de texto...??

Bien..voy a investigar mas sobre esto , estamos en contacto.

Gracias...

tazzito 08/11/2006 15:08

ok investiga supongo que algo mas se puede hace ;) pero asi sin ver mucho me es mas complicado.

[EX3] 09/11/2006 09:16

Y por que no trabajas los datos en binario? Generando una estructura similar a esta podrias tanto leer como escribir una tabla de valores decimales en un archivo de forma binaria:
Código:

Public Type DatosTabla
    nFilas As Long      'Numero de filas de la tabla.
    nColumnas As Long  'Numero de columnas de la tabla.
    Datos() As Double  'Redim Datos(nFilas, nCeldas) - Almacena los datos de las celdas de cada fila.

End Type

Echa un vistazo a este ejemplo que hice aplicandolo a un MSHFlexGrid:

vb6TrabajarEnBinario.zip (3 kb)

Para probarlo pulsa primero en el boton "Generar Datos" para crear la tabla y llenarla de datos, despues guarda la tabla, vacia la tabla y por ultimo carga los datos. Veras que el codigo no es muy complicado y es adaptable a cualquier necesidad por compleja que esta sea (si vieras las estructuras que trabajo en mi ultimo proyecto te quedabas palido jeje). Este metodo, al menos para mi, es mas comodo y organizado que grabar en registros en modo texto los datos en un archivo.

Salu2...

OlaIsa 09/11/2006 10:16

Muchas gracias [EX3]...voy a probar el ejemplo...

Saludos


La zona horaria es GMT -6. Ahora son las 11:28.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.