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

ayuda con dat grid

Estas en el tema de ayuda con dat grid en el foro de Visual Basic clásico en Foros del Web. estimados amigos.... estoy mostrando los datos en un archivo plano en un datagrid en vb6.. esto es mi codigo de llenado de texto Public Function ...
  #1 (permalink)  
Antiguo 28/02/2008, 14:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación ayuda con dat grid

estimados amigos.... estoy mostrando los datos en un archivo plano en un datagrid en vb6..

esto es mi codigo de llenado de texto
Public Function LeerTxt(Directorio As String) As ADODB.Recordset

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim Columna As Integer


cn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & Directorio & ";", "", ""

rs.Open "select * from [entidades#txt]", cn, adOpenStatic, adLockReadOnly, adCmdText
Set LeerTxt = rs
'Call txt(KeyAscii)
Set rs = Nothing
Set cn = Nothing
End Function


el problema esta q una toda una fila me bota en una sola coluna....
ya q en mis txt esta separado x un limitador
[IMG]C:\Documents and Settings\Prac-DNCN\Escritorio\dibujo[/IMG]


como lo puedo separar x medio de ese limitaor
  #2 (permalink)  
Antiguo 29/02/2008, 03:04
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ayuda con dat grid

Hola amigo, el problema es que el Microsoft Text Driver solamente reconoce como separador de campos, el punto y coma (;)

Para solucionarlo, tienes que sustituir el separador de campos antes de hacer la conexión

En este ejemplo, suponemos que el delimitador de campos es una coma (podría ser cualquier otro, sólo habría que modificar la linea de Replace)

Código:
Dim sVar As String
' abrimos el archivo y lo cargamos en la variable "sVar"
Open App.Path & "\entidades.txt" For Input As #1
sVar = Input(LOF(1), #1)
Close #1
' reemplazmos el caracter separador (coma) por ";"
sVar = Trim(Replace(sVar, ",", ";"))
' volvemos a abrir el archivo y guardamos los datos
Open App.Path & "\entidades.txt" For Output As #1
Print #1, sVar
Close #1
'
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

' abrimos la conexion
Set cn = New ADODB.Connection
cn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & App.Path & ";"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "Select * From [entidades.txt]", cn, adOpenForwardOnly, adLockReadOnly, adCmdText
Set DataGrid1.DataSource = rs

Set rs = Nothing
Set cn = Nothing
Y si quieres volver a guardar los datos con el separador anterior tendrías que hacer la misma operación pero a la inversa..
Para no escribir tanto código, podrías crear una función de apertura y escritura del fichero pasándole un parámetro String con el delimitador.
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 01:01.