¿Cómo puedo importar txt a base de datos en vb 6.0?

Estoy haciendo un sistema y me trabe, lo que pasa es que tengo un formulario en vb 6.0 y en este tengo que mostrar los datos de un *.txt y no se como jalarlos, ademas me gustaría que me dijera sobre que componente debo insertar primero para que pueda recibir los archivos no se tal vez un flex grid y un adodc porque la base de datos ya la tengo creada y esta conectada con el adodc el */.txt ya esta con los datos pero quiero jalarlos desde el programa cop comanbdo por ejemplo o un command dialog en fin, un amigo programador me dijo que puede ser algo así como:
Append from"la ruta del archivo" fields "los campos que ya tengo creados en la bd" delimited with characters":, ., ;" "porque los tengo separados por comas", ese código es para jalar los datos desde fox pro y en vb no me sale, le agradecería mucho su respuesta ya que estoy haciendo un sistema para un control escolar, sin ningún fin lucro, solo el de titularme, que tenga un grandioso día y es un placer incorporarme a esta página...
Atte.- Jesus Enrique

1 respuesta

Respuesta
1
Tienes que adaptar el siguiente segmento de código:
Private Sub cmdAbrir_Click()
    Const STR_TIPO_ARCHIVO = "IN*.TXT"
    Dim sTag       As String
    Dim iYaExiste  As Integer
    Dim sStatus    As String
    'Inicializo Dialogo General del Filtro
    pnlArchivo.Text = NULL_STRING
    mdiPrincipal!dlgPrinter.Filter = NULL_STRING
    sArchivo = NULL_STRING
    iYaExiste = NULL_INTEGER
    'Se Escoge el  tipo para el diálogo
    mdiPrincipal!dlgPrinter.FileName = STR_TIPO_ARCHIVO
    mdiPrincipal!dlgPrinter.FLAGS = OFN_FILEMUSTEXIST Or OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY
    mdiPrincipal!dlgPrinter.DialogTitle = " Integración de Documentos Externos "
    mdiPrincipal!dlgPrinter.Action = DLG_FILE_OPEN
    'Validamos que se cumpla con el nombre del arhivo
    If (UCase(Mid$(mdiPrincipal!dlgPrinter.FileTitle, 1, 2)) = "IN") Then
        'Cargamos el Archivo en Base de Datos
        pnlArchivo.Text = mdiPrincipal!dlgPrinter.FileName
        sArchivo = Trim$(mdiPrincipal!dlgPrinter.FileTitle)
        If cnx.gf_AbreRecordset(gcx_Conexion, grs_Recordset, "SELECT status FROM det_sad_integra where archivo = '" & sArchivo & "' and status 1") Then
            If Not grs_Recordset.EOF Then
                sStatus = grs_Recordset.Fields(0)
                iYaExiste = 1
            End If
        End If
        If Val(Trim$(sStatus)) = 2 Or Val(Trim$(sStatus)) = 0 Then
            Call Realiza_Carga
        End If
    End If
End Sub
Sub Realiza_Carga()
    Dim sRegistro       As String  'Contenido del Registro
    Dim iNumFile        As Integer 'Numero de Archivo del DOS
    Dim iNumFile2       As Integer 'Numero de Archivo del DOS
    Dim sLinea          As String
    Dim sQuery          As String
    Dim iLongitud       As Long
    Dim sTmpCadena      As String
    Dim iLetra          As Long
    Dim sLetra          As String
    Dim iPos            As Long
    Dim sBeneficiario   As String
    Dim sTipoBenef      As String
    Dim sImporte        As String
    Dim sConcepto       As String
    Dim sResult         As String
    Dim smodMsg         As String
    'modificacion 10/11/97
    Dim giRetorna        As Integer
    Screen.MousePointer = Hourglass
    sprDatos.ReDraw = False
    'Inicia Apertura del Archivo
    On Local Error GoTo ErrorOpenFile1
    sprDatos.MaxRows = NULL_INTEGER
    'Obtiene un número de archivo libre
    iNumFile = FreeFile
    'Abre el Archivo y Lee el Primer registro
    Open Trim$(pnlArchivo.Text) For Input As iNumFile
    'Inicia lectura del Archivo
    While Not EOF(iNumFile)
        'Leo la Linea del Registro
        Line Input #iNumFile, sRegistro
        iLongitud = Len(sRegistro)
        sTmpCadena = Space$(iLongitud + 100)
        iLetra = 1
        iPos = 1
        For iLetra = 1 To iLongitud
            sLetra = Mid$(sRegistro, iLetra, 1)
            If Asc(sLetra) = 9 Then
                Select Case iPos
                    Case 1
                        sBeneficiario = Mid$(sRegistro, 1, iLetra - 1)
                    Case 2
                        sTipoBenef = Mid$(sRegistro, Len(sBeneficiario) + 2, (iLetra - Len(sBeneficiario) - 2))
                    Case 3
                        sConcepto = Mid$(sRegistro, Len(sBeneficiario & sTipoBenef) + 3, (iLetra - Len(sBeneficiario & sTipoBenef) - 3))
                End Select
                iPos = iPos + 1
            End If
        Next
        sImporte = Mid$(sRegistro, Len(sTipoBenef & sBeneficiario & sConcepto) + 4, (iLetra - Len(sBeneficiario) - 4))
        'Valida que el registro a desplegar no se haya ya integrado al sistema
        If cnx.gf_AbreRecordset(gcx_Conexion, grs_Recordset, "SELECT v_Documento_Folio From ori_sad_documentos Where archivo = '" & sArchivo & "' and v_beneficiario = '" & sBeneficiario & "' and v_Documento_Importe = " & CDbl(sImporte)) Then
            If Not grs_Recordset.EOF Then
                sResult = grs_Recordset.Fields(0)
            End If
        End If
        If Trim$(sResult) = NULL_STRING Then
            sprDatos.MaxRows = sprDatos.MaxRows + 1
            sprDatos.Row = sprDatos.MaxRows
            sprDatos.Col = 1
            sprDatos.Text = sBeneficiario
            sprDatos.Col = 2
            sprDatos.Text = sTipoBenef
            sprDatos.Col = 3
            sprDatos.Text = Busca_Beneficiario(sTipoBenef, sBeneficiario)
            sprDatos.Col = 4
            sprDatos.Text = sConcepto
            sprDatos.Col = 11
            sprDatos.Text = sImporte
        End If
        sResult = NULL_STRING
    Wend
    'Cierra el Archivo
    Close #iNumFile
    sprDatos.ReDraw = True
    Screen.MousePointer = Default
    Exit Sub
ErrorOpenFile1:
    smodMsg = " Ocurrió un Error al Abrir el Archivo a Integrar"
    'Despliega el mensaje que se armo anteriormente
    Call Mensaje_VB(smodMsg, MB_OK + MB_ICONINFORMATION, False, NULL_INTEGER, False)
    Close #iNumFile
    Exit Sub
End Sub
Estoy usando un grid llamado spread, solo tienes que adaptarlo para un flexgrid que es lo mejor y posteriormente grabas los datos cuando los haya revisado el usuario...
Gracias mil gracias, voy a probarlo y adecuarlo a mi bd y mi *.txt, que tenga buen día, si me llego a trabar lo molesto de nuevo con una aclaración, gracias de nuevo, buen día...
Atentamente.- Jesús
Gracias por los comentarios y buena suerte en el proceso de adaptación...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas