2017-04-19 3 views
0

ich auf einem anderen, einen Datensatz zu erstellen versuchen Excel-Sheet mit SQL Befehl insert ich in der Lage bin mit Abfrage zu wählen, aber ich weiß nicht genau, wie ein Datensatz einfügen meines Code:ADODB Legen Sie in ein anderes Blatt

Function database_add(Urun_barkodu, Urun_kodu, Urun_adi, Urun_kategori) As String 

    Dim cn As Object, rs As Object, output As String, sql As String, Insert As String 
    Dim add_data As String 
    Dim rst As ADODB.Recordset 
    '---Connecting to the Data Source--- 
    Set cn = CreateObject("ADODB.Connection") 
    Set rst = New ADODB.Recordset 
    With cn 
    .Provider = "Microsoft.ACE.OLEDB.12.0" 
    .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";" & _ 
    "Extended Properties=""Excel 12.0 Xml;HDR=YES"";" 
    .Open 
    End With 
    add_data = "INSERT INTO [ürünler$] (columns(1),columns(2),columns(3),columns(4))" 
    add_data = add_data & "VALUES (Urun_barkodu, Urun_kodu, Urun_adi, Urun_kategori)" 
    cn.Close 
    cn.Open 
    rst.Open add_data, cn, dOpenStatic, adLockReadOnly, adCmdText 
    '---Clean up--- 
    rs.Close 
    cn.Close 
    Set cn = Nothing 
    Set rs = Nothing 
End Function 

Es gibt mir einen Fehler wie:

Syntaxfehler in der INSERT INTO-Anweisung

+0

Die Verwendung von SQL-Einfügebefehle zum Ausfüllen von Excel-Tabellen erscheint mir als ein schlechter Plan. –

+0

Ich wurde in der Codierung rostig und ich wollte einige Stock Control-System machen normalerweise werde ich das auf Java nach paar Monaten machen :) –

Antwort

1

ich vermute, dass Urun_barkodu, Urun_kodu, Urun_adi und Urun_kategorie sind String Vars. Sie müssen sie in die Zeichenfolge verketten.

add_data = "INSERT INTO [ürünler$] (columns(1),columns(2),columns(3),columns(4)) " 
add_data = add_data & "VALUES ('" & Urun_barkodu & "', '" & Urun_kodu& "', '" & Urun_adi & "', '" & Urun_kategori & "');" 
+0

Ich habe Ihren Punkt, aber es sagt Ende der Aussage mit diesem Weg –

+0

Es sollte wahrscheinlich ein Leerzeichen zwischen sein '... Spalten (4))' und 'VALUES (...'. Ich habe eine oben hinzugefügt. Eigentlich glaube ich nicht, dass 'Spalten (1), Spalten (2), Spalten (3) , Spalten (4) 'erfordert Wrapping Klammern entweder, aber ich bin nicht 100% sicher, dass sie Schaden anrichten. – Jeeped

Verwandte Themen