Visual Basic.NET - CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

 
Vista:
sin imagen de perfil

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por Adriano (21 intervenciones) el 01/09/2017 13:46:30
Buenas tardes:

He terminado una aplicación en la que los datos de los diferentes DataGridViews se guardan en archivos de texto plano. Pero ahora me enfrento al problema de cómo volcar estos datos a un informe que se pueda imprimir.

Para hacer esto he pensado en Crystal Reports pero no sé cómo gestionar a nivel de código la creación de un DataSet a partir de los datos de los ficheros o los DataGridViews. Tampoco sé que cadena de conexión tengo que indicar para este caso ya que no voy a utilizar ninguna base de datos.

Me gustaría disponer de algún ejemplo funcional de esta tarea que no sé cómo abordar.

Quedo muy agradecido por vuestra colaboración.

Un cordial saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por pepe (1 intervención) el 01/09/2017 14:02:01
Saludos en Youtube hay ejemplos claros de como realizarlos.

Solo es cuestión de practicarlos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por pepe (155 intervenciones) el 01/09/2017 14:06:30
Te seria mas fácil crear una base de datos
Guardar tus registros y crystal repor se encargaría de jalar tus datos y mostrarlos como desees. Mas facil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por Adriano (21 intervenciones) el 01/09/2017 14:49:47
Pepe:

Ante todo gracias por tu pronta respuesta.

Pero he mirado y remirado y no he encontrado una ayuda clara a mi problema. Si conoces alghuna dirección o tienes algún ejemplo de aplicación te agradeceré enormemente que me lo pases si estimas que me puede ayudar.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego
Val: 605
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por Diego (190 intervenciones) el 01/09/2017 22:18:10
Hola Adriano, algun ejemplo de como está formateado el texto, eso es fundamental, antes de poderte dar un ejemplo.

Saludos y +Bytes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por Adriano (21 intervenciones) el 02/09/2017 12:19:43
Buenas tardes Diego:

Aquí te dejo uno de los archivos que utilizo en mi aplicación. Prácticamente son todos iguales, pueden variar en el número de líneas.ç
En la aplicación abro los archivos con streamreader y asigno la cadena completa a una variable, luego con la instrucción MID extraigo de la cadena la parte que me interesa y la paso al DataGridView.

Espero haberme explicado bien Diego y te agradezco mucho tu ayuda.

Si necesitas que amplíe la información me lo dices.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego
Val: 605
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

CREAR DATASET A PARTIR DE UN ARCHIVO DE TEXTO EN VB NET

Publicado por Diego (190 intervenciones) el 02/09/2017 16:00:46
Perfecto, hubiera estado bueno algun archivo con mas de una linea, pero voy a suponer que está encolumnado en bloques de longitud fija, entonces, puedes seguir utilizando mid o implementar substring, que viene a ser mas o menos lo mismo.... Te paso un ejemeplo primero de como desmembrar tu archivo y luego tu linea.

1
2
3
4
5
6
7
Dim arch As New StreamReader("C:\archivo.texto")
Dim lineas As String() = arch.ReadToEnd.Replace(vbCrLf, vbCr).Split(vbCr)
arch.Close()
 
for each lin as string in lineas
           'Aqui descompones la linea y obtienes los datos que son relevantes
next lin

Bueno, de ahi en mas lo que tenes que hacer un una clase generica con la estructura que quieras, es decir la cantidad de campos que querés almacenar, por ejemplo asi....

1
2
3
4
5
public class Registro
   public property Fecha as string
   public property Asignatura as string
   public property Validacion as integer
end class

Listo, una vez que tenés esa clase armada, generas una lista de objetos con el tipo de esa clase

1
dim Datos as new list (of Registro)

Luego procedes al llenado de esos datos creando un objeto del tipo registro, poniendo los datos y agregando items a la lista.... Volviendo al codigo que levanta la info de tu archivo de texto...

1
2
3
4
5
6
7
8
9
10
11
dim Datos as new list (of Registro)
dim Dato as registro
for each lin as string in lineas
           'Aqui descompones la linea y obtienes los datos que son relevantes
          dato = new registro
          dato.fecha = lin.substring(0,12) 'Desde el comienzo toma 12 caracteres
          dato.asignatura = lin.substring(35,50) 'Desde el caracter 35 toma 50 caracteres
          dato.validacion = lin.substring(15,15) 'Desde el caracter 15 toma 15 caracteres
 
          datos.add(dato)
next lin

Mas o menos de los substrings lo hice mirando tu archivo, puede ser diferente, pero es una aproximación. Ahora lo unico que resta es pasarle a tu reportviewer el objeto datos y desde ahi enlazarlo con la clase que creaste (Datos) para utilizarlo como fuente de de información para el reporte. (RDLC) yo utilizo siempre el formato nativo de reporting de .NET nunca utilicé Crystal.

Espero haberte podido orientar.
Saludos y +Bytes.,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar