![]() |
VBA - Sheet mit Datenbank vergleichen?! Hi, also ich möchte gern die Einträge eines Excelsheets mit einer Datenbank-Tabelle vergleichen. Wenn die Einträge noch nicht vorhanden sind, sollen sie per Insert der Datenbank hinzu gefügt werden! Die Einträge des Sheets sind so aufgebaut: spalte1: Nr. spalte2: Name:Bezeichnung In der Datenbank sieht das ganze dann wiefolgt aus: spalte1: Nr. spalte2: Name spalte3: Bezeichnung Ok, das ganze soll in einem VBA-Modul laufen und mit einer MySQL-Datenbank laufen. Danke schonmal! |
AW: VBA - Sheet mit Datenbank vergleichen?! Wo genau brauchst du denn Hilfe? Meine Vorgehensweise wäre: Verweise (im VBA-Editor Extras->Verweise) auf Microsoft ActiveX Data Objects 2.8 Library und Microsoft ActiveX Data Objects Recordset 2.8 Library setzen, damit du per [CODE] Dim connect As New ADODB.Connection connect.Open "DEIN_ODBC_NAME", "user", "password" connect.Execute "denk dir ein schönes insert aus" connect.Close [/CODE] Daten nach MySQL schreiben kannst.. Wie das mit ODBC-Treiber installieren und Verbindung zu deiner DB erstellen funktioniert weißt du, oder? Dann musst du Dir noch was ausdenken wie du prüfst ob der Datensatz im MySQL vorhanden ist, dazu kannst du beispielsweise machen: [CODE] Dim recordset As New ADODB.recordset recordset.Open "select 1 from xy where xy", connect If recordset.EOF Then connect.Execute "dein insert" End If [/CODE] Den Wert einer Zellen kannst du mit Cells(Zeile,Spalte) abfragen.. Insgesamt könnte das in etwa dann so aussehen: [CODE] Dim connect As New ADODB.Connection Dim rec As New ADODB.recordset connect.Open "DEIN_ODBC_NAME", "user", "password" spalte = 1 'Die Spalte wo deine eindeutigen Werte stehen A=1,B=2... For zeile = 1 To 2 wert = Cells(zeile, spalte) rec.Open "select 1 from TABELLE where WERT='" & wert & "'", connect If rec.EOF Then connect.Execute "insert into TABELLE values ('" & wert & "','" & cells(zeile,andere_spalte) .... End If Next connect.Close [/CODE] Btw: was ist das in deiner Signatur?! Ascii-Sex? |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.