Insert fields Vba/Sql

Status
Niet open voor verdere reacties.

bertje123

Gebruiker
Lid geworden
13 nov 2007
Berichten
57
Hoi

Ik ben momenteel bezig met een txt file via VBA te inserten in een bestaande tabel

ik gebruik momenteel volgende code: het probleem is, dat hij alles goed uitvoert.
Ik heb het ook al manueel geïmporteerd, de velden kloppen EN er is data aanwezig.
Maar hij voegt gewoon niets toe aan de tabel. Ik Call deze functie op een knop, hij voert het zogezegd uit, maar er gebeurd niets :/. als ik maar 1 kolom toevoeg dan doet hij het perfect :/

Iemand ideetje? :)

Code:
Private Sub Invoegen()
tab_ = Chr(9)
Dim Technical_Type As String
Dim sql As String
Open "D:\CompactReport.txt" For Input As #1


LCnt = 0

Do While Not EOF(1)

    LCnt = LCnt + 1
    Line Input #1, Lijn$
    Lijn$ = Replace(Lijn$, Chr(34), "")
    Lijn$ = Lijn$ & tab_
    LijnLen = Len(Lijn$)
    x1 = 1
    FCnt = 0
    
    Do While x1 < LijnLen
        FCnt = FCnt + 1
        

        x2 = InStr(x1, Lijn$, tab_)
        Veld$ = Mid(Lijn$, x1, x2 - x1)
        
        Select Case FCnt
            
                Case 3
                    TTnr$ = Veld$
                Case 44
                    Pnr$ = Veld$
                Case 45
                    Rev$ = Veld$
                Case 43
                    lvl$ = Veld$
                Case 47
                    Qtity$ = Veld$
                Case 49
                    Ref$ = Veld$
                Case 50
                    Desc$ = Veld$
                Case 63
                    ECO$ = Veld$
                Case 62
                    Dat$ = Veld$
                Case 62
                    EGP$ = Veld$
          

        End Select
        
        x1 = x2 + 1
       
    Loop
    
   


CurrentDb.Execute "INSERT INTO compactreport_Output( Technical_Type, Part_Number, Revision) VALUES (" & TTnr$ & "," & Pnr$ & "," & Rev$ & ");"


Loop


Close #1


MsgBox "Aantal lijnen: " & Str(LCnt), , "Sessie Voltooid"
End Sub
 
Werkt het als je hardgecodeerde waarden toevoegt aan de tabel?

Code:
Sub Test_VoegToe()
     CurrentDb.Execute "INSERT INTO compactreport_Output( Technical_Type, Part_Number, Revision) VALUES (1,2,3);"
End Sub

De 1, 2 en 3 moet je nog door zinvolle waarden vervangen.

Als dit niet werkt, werkt het in Access zelf dan?

Zijn de types van de doorgegeven argumenten goed?

Ontbreken er misschien aanhalingstekens rondom argumenten?

Enz.

Wigi
 
Is dit niet simpeler ?

Code:
Sub importeer()
    DoCmd.TransferText acImportDelim, , "compactreport_Output", "D:\CompactReport.txt"
End Sub
 
h

Bah :), Lukt totaal niet.
Oorspronkelijk deed ik volgend
Code:
DoCmd.TransferText acImportDelim, "CompactReport_Import2", "CompactReportOut", "D:\CompactReport.txt", False

Maar omdat ik er kolommen moet bijvoegen, wou ik dit eens manueel proberen.
Zal nu terug via deze manier de tabel importeren en later kolommen met de insert into functie invoegen :).

Toch, snap het niet :/. Moet normaal lukken.

Bedankt! Groeten
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan