archivo txt de 6 columnas para mostrar en datagrid de 6 columnas como lo hago
Buenas soy nuevo en el foro, yo tengo este codigo es para generar txt, me corre perfecto lo unico }
es que necesito separar dos campos y no consigo como separlo les muestro el codigo:
Private Sub Command1_Click()
'este data actualiza el dbgrid
Data1.Refresh
With Data
.RecordSource = "SELECT * FROM APORTE_MENSUAL"
.Refresh
If .Recordset.RecordCount > 0 Then
.Recordset.MoveLast
.Recordset.MoveFirst
While Not (.Recordset.EOF)
.Recordset.Edit
For i = 0 To 6
If .Recordset.Fields(i) <> "" Then
.Recordset.Fields(0) = Trim(.Recordset.Fields(0)) & " "
.Recordset.Fields(1) = Trim(.Recordset.Fields(1)) & " "
.Recordset.Fields(2) = Trim(.Recordset.Fields(2)) & " "
.Recordset.Fields(3) = Trim(.Recordset.Fields(3)) & " "
.Recordset.Fields(4) = Trim(.Recordset.Fields(4)) & " "
.Recordset.Fields(5) = Trim(.Recordset.Fields(5)) & " "
.Recordset.Fields(6) = Trim(.Recordset.Fields(6)) & " "
Else
.Recordset.Fields(i) = " "
End If
Next i
.Recordset.Update
.Recordset.MoveNext
Wend
End If
End With
Call Generartxtnomina(Data)
End Sub
Public Sub Generartxtnomina(Data As Data)
Dim linea, c As String
Dim strRow As String
Dim strField As String
Dim tamaño As Integer
Open "C:\FIDEICOMISO\APORTE.txt" For Output As #1
Data.RecordSource = "SELECT * FROM APORTE_MENSUAL"
'**********************************************************
'ORDENA LOS DATOS POR FECHA DE INGRESO EN TXT
Data.RecordSource = "SELECT * FROM aporte_mensual order by FECHA_INGRESO asc"
'**********************************************************
Data.Refresh
With Data.Recordset
.MoveFirst
Do While Not .EOF
For i = 0 To 4
' Si un campo tiene un valor, agrega comillas.
If Len(.Fields(i)) > 0 Then
strRow = strRow & .Fields(i)
Debug.Print Len(strRow)
Else
strField = " "
End If
' Agrega el valor del campo y un delimitador de tabulación
' a la cadena de salida.
Next
'-------ESTE CODIGO PERMITE COLOCAR NOMBRE 20 PARA QUE SE UBIQUE EL APELLIDO---------------------------
c = concatenar(Data.Recordset.Fields(5), " ", 20)
strRow = Trim(strRow) & c
c = concatenar(Data.Recordset.Fields(6), " ", 20)
strRow = strRow & c
'************************************************************
Print #1, strRow
salta:
strRow = ""
.MoveNext
Loop
End With
Close
Data.Refresh
MsgBox "Archivo Generado con Exito", vbInformation + vbOKOnly, "Validación"
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Data1.RecordSource = "SELECT * FROM aporte_mensual order by FECHA_INGRESO asc"
Data1.Refresh
DBGrid1.Refresh
End Sub
Private Function concatenar(cadena As String, caracter As String, longitud As Integer) As String
Dim l As Integer
cadena = Trim(cadena)
l = Len(Trim(cadena))
For i = l To longitud - 1
cadena = cadena & caracter
Next i
concatenar = cadena
End Function
me da este txt
V0004736880 000000000134142 C 000 01000000200020603José Lucidio ,Alvarado Herrera
necesito separar numero de cuenta con el nombr (un espacio)
si me pueden ayudar se los agradesco.
te puedes copiar este codigo para tu txt