Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Exportar e importar datos

Estas en el tema de Exportar e importar datos en el foro de Visual Basic clásico en Foros del Web. Hola amigos del foro, miren tengo un problemilla, tengo un cliente que me pidio poder trabajar desde su casa con un programa que tiene en ...
  #1 (permalink)  
Antiguo 11/04/2007, 20:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 44
Antigüedad: 19 años, 4 meses
Puntos: 1
Exportar e importar datos

Hola amigos del foro, miren tengo un problemilla, tengo un cliente que me pidio poder trabajar desde su casa con un programa que tiene en su farmacia. Lo que quiero hacer es que pueda desde la farmacia exportar datos y luego desde su casa importarlos y viceversa.(con el programa instalado en su casa tambien)
Mi problema es el siguiente, para exportarlos lo que hice fue leer uno a uno los campos de cada registro e escribirlos en un archivo txt, cada campo se separa del otro por un ";", y cada registro es un renglon del archivo, por ejemplo:
1;Raul Sosa;4512-4525;Av. Cabildo 2532;10852635;etc;etc;etc.
2;Juan Perez;4232-4521;Av. Cordoba 1251;32152515;etc;etc;etc.
Hasta ahi todo bien, mi problema viene al querer importar, no encuentro una forma de leer hasta los ";", se entiende mi problema??, si alguien tiene alguna solucion por favor expliqueme! desde ya muchas gracias!
  #2 (permalink)  
Antiguo 12/04/2007, 08:25
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Exportar e importar datos

Código:
 
Dim str As String, index As Long
str = "1;Raul Sosa;4512-4525;Av. Cabildo 2532;10852635;etc."
index = InStr(1, str, ";", vbTextCompare)
MsgBox Mid(str, 1, index - 1)
Eso es solo para extraer la primera columna, ahora si quieres extraer todas bastara con hacer un bucle
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #3 (permalink)  
Antiguo 12/04/2007, 08:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 44
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Exportar e importar datos

Gracias amigo, tu ejemplo me sirvio, lo que no se como hacer es para recuperar toda una linea del archivo de texto...se entiende?
  #4 (permalink)  
Antiguo 12/04/2007, 11:08
Avatar de haggenx  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 823
Antigüedad: 17 años, 3 meses
Puntos: 24
De acuerdo Re: Exportar e importar datos

Yo te sugiero que exportes los datos como xml pero llevando un codigo <?mso-application progid="Excel.Sheet"?> justo debajo de <?xml version="1.0"?>, eso hace que cuando hagas doble click sobre el archivo se abra automaticamente con excel, claro que el problema es que tienes que ver como excel reconoce las etiquetas xml para formar su libro, te recomiendo que hagas un documento segun el formato que lo requieres en excel y lo guardes como hoja de cálculo xml y luego lo habras con tu notepad y veas como va metiendo las filas y columnas, a la mejor piensas que es mucho show pero en mi opinión vale la pena, he podido pasar datos desde mis aplicaciones hacia excel sin problemas y al revés, antes tenia el problema de que si queria exportar desde vb hacia excel tenia que referenciar al objeto de excel y llevarme todo eso en el instalador ya que si solo copiaba los archivos de vb a la nueva maquina (con runtimes instalados) me marcaba errores cuando referenciaba el objeto de excel, en un principio cambie la fórmula al guardar todo como html y abrirlo desde excel, funciona pero pierde presentación, en xml no le veo mayor problema pues puedes meter inclusive plantillas.
  #5 (permalink)  
Antiguo 12/04/2007, 12:45
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Exportar e importar datos

prueba con el split te creara un arreglo con los valores separados, ejemplo

dim registro() as string

registro=split(reglonleido, ";")

con el ubound (registro) tienes el total de elementos la matriz, si lo vas a recorrer uno a uno recuerda que parte en 0 y el largo maximo es el total de campos menos 1
  #6 (permalink)  
Antiguo 13/04/2007, 06:52
 
Fecha de Ingreso: diciembre-2004
Mensajes: 44
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Exportar e importar datos

gracias tazzito me gusto tu ejemplo, pero quisiera saber como recuperar las lineas de a una del archivo de texto?!
  #7 (permalink)  
Antiguo 13/04/2007, 07:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 44
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Exportar e importar datos

Otra cuestion que me olvidadaba, cuando exporto(armo el archivo con los datos) en cada linea me salen los siguientes caracteres: (aclaro que la linea real tendria que empezar por el 2):
 N 2;23;;1251;2122;13,25;3215/1;N;3251;10/02/2007;10/02/2007;3251;N;N;N;6,62;50
 Q 2;1251;;2152;1521;32,25;2152;N;31525;10/10/2006;10/10/2006;32152;N;N;N;16,12;50

Si alquien sabe a que se puede deber se agradece su ayuda!!
  #8 (permalink)  
Antiguo 13/04/2007, 07:53
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: Exportar e importar datos

Para leer secuencialmente un TXT, o un archivo de texto plano...

Código:
'-----POR CULD-----
Dim Linea As String
Open "C:\TuArchivo.txt" For Input As #1
 While Not EOF(1)
    Line Input #1, Linea
    'en linea se guarda la linea que se leyo
    'aca haces el proceso que tenes que hacer con ese linea
 Wend
Close #1

'1 es un canal para abrirlo, no te olvides que no podes abrir dos veces el mismo canal.
'Lo que hace en pocas palabras es recorrer todo el TXT y te almacena en la variable LINEA lo que va leyendo.
El tema de separar la ; fijate si te sirvio lo que puso boluart, sino avisame.
  #9 (permalink)  
Antiguo 16/04/2007, 19:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 44
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Exportar e importar datos

si me sirvio, ahora el problema nose porque lo tengo cuando grabo las lineas que me aparecen esos caracteres que explique mas arriba no se porque, si me sabrias como solucionarlo me salvarias las papas!!gracias igual!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.