Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    16

    [vb6] importare un file di testo in db

    ciao a tutti,
    ho cercato in tutto il forum e qullo che ho trovato non dava risposte.

    comunque ho un file di testo a spaziatura fissa e dovrei importarlo in una tabella di un db access

    qualcuno può aiutarmi?
    grazie
    Sergio

  2. #2
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    221
    ciao
    credo che devi mettere le dimesioni del campo...dentro al database..

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    16
    no dovevo inserire nel db con sql, comunque ho risolto.
    c'ho messo un pò ma sembra andare.
    grazie
    Sergio

  4. #4
    potresti postare la soluzione da te adottata?

    Anche io stavo lavorando su questa cosa, e gradirei, se possibile, un aiuto.


    Thx


    RaouL.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    16
    Eccola..
    ci si può a questo punto aggiungere l'apertura di un nuovo file txt (un log per capirci) per scriverci sopra i dati non inportati per duplicazione di chiave

    Left$(VarDati, 17)
    Mid$(VarDati, 18, 40)
    Mid$(VarDati, 67, 14))
    sono le parti che nelle ricghe di testo mi servono, ma se le importo direttamente mi riempie il campo della tabella di spazi per i caratteri non coperti, quindi ho eseguito un controllo sulla stringa fino ad arrivare al primo carattere e ho tgliato via il resto.

    Sicuramente ci sarà un metodo più preciso per eseguire il tutto, ma io non lo conosco.
    ciao

    (perdona anche eventuali errori banali.. io cerco di cavarmela)

    '================================================
    Private Sub Command1_Click()
    Dim Path, NomeFile, C, D As String
    Dim P As Double
    Dim I As Long
    Dim ii As Integer
    Dim strSQL As String
    Dim VarDati As String
    On Error GoTo Errore:

    NomeFile= "Dati3.txt"
    Path = App.Path + "\" + NomeFile
    Open Path For Input As #1
    I = 1
    While Not EOF(1)
    Line Input #1, VarDati

    For ii = 1 To 17 - 1
    If Mid$(Left$(VarDati, 17), (17 - (ii - 1)), 1) <> " " Then
    C = Replace(Left$(VarDati, 17 - (ii - 1)), "'", "''")
    ii = 17
    End If
    Next
    For ii = 1 To 40 - 1
    If Mid$(Mid$(VarDati, 18, 40), (40 - (ii - 1)), 1) <> " " Then
    D = Replace(Mid$(VarDati, 18, 40 - (ii - 1)), "'", "''")
    ii = 40
    End If
    Next
    P = CDbl(Mid$(VarDati, 67, 14))

    '==========================
    strSQL = "insert into Articoli (Codice,Descrizione,Prezzo) values ("
    strSQL = strSQL & " '" & C & "', "
    strSQL = strSQL & " '" & D & "', "
    strSQL = strSQL & " '" & P & "') "
    g_cnDB.Execute (strSQL)

    '==========================
    I = I + 1
    Wend
    Close #1
    Errore:
    If Err.Number = -2147467259 Then 'chiave duplicata
    Resume Next
    End If
    End Sub
    Sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.