Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Import einer Excell Tabelle in einer bestehende Datenbank mit abgleich

Frage Entwicklung Datenbanken

Mitglied: Mekked

Mekked (Level 1) - Jetzt verbinden

21.09.2010 um 12:02 Uhr, 4936 Aufrufe, 10 Kommentare

Hallo zusammen,

bin leider kein Datenbank Profi und brauche daher Unterstützung.
Ich müsste eine Datenbank zusammen stellen in der ich ungefähr 28.000 Datensätze einlese müsste.
Nachdem ich die 28.000 Datensätze eingelesen habe, müsste ich eine Excell Tabelle einlesen der ca 24.000 Datensätze beinhaltet.
Bei diesem Import müsste ein Abgleich gemacht werden welche Kunden bereits vorhanden sind, diese müssten dann in eine andere Tabelle verschoben werden. Die Tabelle wird ca. 20 Spalten beinhalten, wovon Spalte 1 und 2 beim Import abgegelichen werden müsste.

Hoffe ihr könnt mir/uns weiter helfen.

Vielen Dank schon mal für eure Unterstützung.

Grüße
Mekked
Mitglied: ulrike
21.09.2010 um 12:37 Uhr
Uallo,

einfach auf Spalte 1 und 2 einen unique Key legen, beim Import der zweiten Tabelle werden dann die schon vorhandenen abgelehnt.

Gruß
uli
Bitte warten ..
Mitglied: Mekked
21.09.2010 um 13:14 Uhr
Hallo,

vielen Dank für die schnelle Unterstützung,
Es ist leider so, dass die Datensätze auf jeden Fall aus der Tablle raus müssten und in eine andere Tabelle eingefügt werden müssten.
Ausserdem ist das Problem bei dieser Variante, das bei dem Import der zweiten Tabelle die Datensätze fast alle, bis auf ca. 4000 vorhanden sind. Deswegen ist es uns wichtig diese 4.000 heraus zu filtern.
Ich habe leider auch das Problem das ich nicht weis wieviel ich hier erzählen darf damit ich gegen keine Richtlinien der Firma verstosse, daher ist es ein bisschen schwierig.
Ich versuchs mal anhand eines Beispiels:
Ich habe in der Datenbank 28.000 Produkte mit Artikelnummer erfasst.
Nach der Inventure erhalte ich eine Excell Tabelle mit ca 24.000 Produkten mit Artikelnummer die noch vorrätig sind. Nach dem einspielen der Excell-Tabelle soll er mir die 24.000 Produkte die noch vorrätig sind in eine Tabele verschieben und die anderen 4.000 Produkte in der Tabelle belassen. Die müssten dann noch manuell bearbeitet werden.

Dank noch mals und
schöne Grüße
Mekked
Bitte warten ..
Mitglied: it-frosch
21.09.2010 um 13:46 Uhr
Hallo Mekked,

warum liest du deine 28000 Datensätze und die 24000 Datensätze nicht einfach auf jeweils ein Excel Sheet ein und vergleichst beide in einem dritten Sheet mit SVERWEIS. Anschließend filterst du auf deine 4000 Datensätze und fertig.
Vom zeitlichen Auftwand her, wenn die Daten vorhanden sind, brauchst du dazu ca. 20min.

grüße vom IT-Frosch
Bitte warten ..
Mitglied: Mekked
21.09.2010 um 14:04 Uhr
Hallo IT-Frosch,

ich würde das auch sicherlich hinkriegen, aber von den 30 Kollegen die das immer wieder mal machen müssten würden es nur ein Hand voll hinkriegen. Ausserdem soll das eine Lösung für die nächsten Jahre sein.
Das Beispiel mit den Produkten ist nur ein Beispiel da ich über die tatsächliche Sache hier nicht schreiben darf.
Ganz zu schweigen davon, dass die 4000 Posten einzeln noch bearbeitet werden müssten.
Desweiteren müssten aus diesen 4000 posten Auswertungen gemacht werden die mit unterschiedlichen Statis versehen sind und diese per E-Mail zur Nachforschung versendet werden.
Daher ist eine reine Excell Tabelle nicht ganz so praktisch bei dieser Anzahl von Datensätzen.
Und es müssten mehrere Personen daran Arbeiten können, was sich bei einer Excell Tabelle schwierig gestalltet, trotz "freigegebener Arbeitsbereich".

Trotzdem vielen Dank!!!!
Bitte warten ..
Mitglied: it-frosch
21.09.2010 um 14:52 Uhr
Hallo Mekked,

ausgehend von den zwei Informationen "bin leider kein Datenbank Profi und brauche daher Unterstützung"
und 30 Kollegen die das immer wieder mal machen .....Ausserdem soll das eine Lösung für die nächsten Jahre sein.
würde ich dir empfehlen, dir jemanden (Dienstleiter) zu suchen der euch das baut.

Du kannst natürlich auch versuchen das dir zurechtzubasteln aber im Fehlerfall sitzen 30 Leute da und drehen Däumchen bis du deinen Fehler gefunden hast.

So teuer wird das auch nicht sein.

grüße vom it-frosch
Bitte warten ..
Mitglied: Mekked
21.09.2010 um 15:02 Uhr
Hallo IT-Frosch,

danke für den Hinweis, aber so komme ich nicht weiter. Das wird nicht gezahlt wenn wir eine ganze Abteilung haben die nur Datenbanken entwirft.
Wie so oft bei uns ist es so das wir das am besten gestern schon bräuchten und die Abteilung die das machen könnte bis ca. Anfang nächsten Jahres zu ist mit Arbeit.
Da unsere Datenbank nicht an oberste Prio steht, wird uns das keiner Finanzieren....
Daher sind wir wie so oft mal wieder auf uns allein gestellt, bzw. mein Chef zu spät drann.
Was nichs desto trotz wir ausbaden müssen.
Meistens habe ich auch alles auf die Reihe gekriegt, aber mit import und abgleich hatte ich bis dato noch nichts am Hut. Ich bin mir auch sicher das ich das hier auch hinkriegen werde, nur ist die Frage mit welchen nervlichen Aufwand :o)

Danke und hoffe das mir jemand mit ein paar Tipps weiter helfen kann.

SChöne Grüße
Mekked
Bitte warten ..
Mitglied: Biber
21.09.2010 um 15:36 Uhr
Moin Mekked,

ich sehe den Sachverhalt als nicht ganz so dramatisch komplex an wie der IT-Frosch unkt.
Auch wenn wir jetzt nicht wissen, was genau denn "Datenbank" oder "28000 Datensätze einlesen" oder "Excel" denn konkret (mit Name und Versionsnummer) bedeutet... egal.
Jedes Produkt, das sich in der Öffentlichkeit selbst als "Datenbank" bezeichnet kann externe Daten einlesen, sofern das Satzformat bekannt ist. Und Excel-Formate sind auch keiner Datenbank fremd, die meisten können ja nicht nur Excel-Daten importieren, sondern sogar JOIN-Operationen zwischen nativen DB-Tabellen und Excel-Sheets.

Somit ist doch der lediglich zu leistende Aufwand:
  • einmal im Leben diese 28000 Datensätze "einlesen" aus was-auch-immer in eine Tabelle A
  • einmal im Leben die 24000 Datensätze im Excelformat einlesen in eine Tabelle B
Wobei nur hilfreich wäre, wenn die beiden Spalten, die später beim Vergleich "matchen" sollen, auch dieselben Datentypen und Feldlängen in beiden Tabellen bekommen.

Wenn Du diese verJOINbaren Tabellen A und B hast, dann kannst du doch beliebig oft ein UNION ALL .. MINUS oder ein INTERSECT oder ein RIGHT JOIN oder whatever abschicken, um die 4000 dubiosen "In-Tabelle-A-aber-nicht-in-B"-Sätze zu erzeugen.
Und natürlich kannst du die auch "materialisieren", d.h. in eine neue Tabelle schreiben mit SELECT INTO/INSERT INTO..TabelleC.

Fang doch erstmal damit an, die Tabellen A und B in deine "Datenbank" reinzusaugen -die beiden Tabellen brauchst du doch ohnehin.

Grüße
Biber
Bitte warten ..
Mitglied: it-frosch
21.09.2010 um 16:04 Uhr
Hallo Mekked,

die Arbeitsschritte wären also:

1. Die aktuellen 28000 Datensätze in eine Tabelle einlesen.
2. Die Differenz (Vergleich Spalte 1 und 2) zu den schon bekannten 24000 Datensätzen in eine neue Tabelle schreiben.

Die neue Tabelle soll bearbeitet werden

Du könntest das in Access bauen und u.U. die Datenbank auf einem SQL Server ablegen.
Die Tabellen müssen genauso wie deine Datenlisten aufgebaut sein.
Für den 1.Punkt bräuchtest du eine "Importschnittstelle", d.h. ein Dialog wo der Benutzer die einzulesende Datei auswählen kann.
Nach dem Import könnte codegesteuert der 2.Punkt geklärt werden und die neue Tabelle über ein Formular den Kollegen zur Verfügung gestellt werden. Aus dem Formular heraus könntest du dann auch die Emails verschicken lassen und die Status setzen.

Unter Umständen müsstest du dann noch die fertig bearbeiteten Datensätze der 3. Tabelle der 2. Tabelle hinzufügen für den nächsten Vergleich.

grüße vom it-frosch
Bitte warten ..
Mitglied: it-frosch
21.09.2010 um 16:43 Uhr
@Biber,

da der it-frosch keine it-unke ist, quakt er natürlich.

grüße vom it-frosch
Bitte warten ..
Mitglied: Mekked
22.09.2010 um 09:45 Uhr
Guten Morgen,

sorry, ich glaube da habe ich ein zwei Kleinigkeiten vergessen.
Es soll eine Access-Datenbank werden. Das Prinzip was die Datenbank machen soll, denke ich zu wissen
was ich nicht weis ist, wie stelle ich das an.

Mein Gedanke war ja auch wie von IT-Frosch beschrieben:

1. die 28.000 Datensätze (Excel-sheet) via Import in die Access-Datenbank einlesen (Importbutton erstellen)
2. nach erhalt des Excel-sheets mit ca 24.000 Datensätzen (Zeilen) erneuter import, wobei abgeglichen werden soll was bereits vorhanden ist. Die vorhandenen Datensätze (Zeilen) sollen in eine Tabelle geschoben werden (Archiv) die restlichen sollen zu Bearbeitung in der Tabelle (Aktuell) verbleinben.
3.Nach Erledigung eines Datensatzes in der Tabelle Aktuell soll man die Möglichkeit haben durch betätigen eines Buttons den Datensatz zu Archivieren, also in die Tabelle Archiv zu verschieben.

Mein Problem bei der ganzen Sache ist, dass ich nicht weis wie ich das in Access realisieren soll.
Mit VBA-Codes kenne ich mich leider nicht aus kann diese aber anhand von Beispielen recht gut einsetzen.
Hoffe ich habe an alles gedacht.

Danke nochmal für die Unterstützung.
Mekked
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Abgleich zweier Tabellen in Access
gelöst Frage von JochemDatenbanken1 Kommentar

Moin zusammen, ich seh wahrscheinlich den Wald vor lauter Bäumen nicht, denn seit zwei Tagen kämpfe ich mit folgendem ...

Batch & Shell
Verzeichnisstruktur mit datenbank abgleichen
Frage von woidl85Batch & Shell1 Kommentar

hallo zusammen, beine shell kentnisse sind leider nicht ausreichend, ich versuche ein script zu schreiben welches per cron-job alle ...

Datenbanken
Abgleich versch. Tabellen Mysql und Firebird
Frage von mikado90Datenbanken3 Kommentare

Hi! Unser ERP System nutzt eine Firebird-Datenbank. Unser DMS (Dku-Managment) nutzt eine MySQL Datenbank. Um die Firebird-Datenbank nicht zu ...

Datenbanken
Import von excel in Datenbank auf Richtigkeit überprüfen
Frage von checknerDatenbanken

Hallo zusammen, vorab, ich bin Softwaretester und habe absolut keinen Plan von Entwicklung - ich habe nur vor folgendes ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 15 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 17 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...