Microsoft Excel

Herbers Excel/VBA-Archiv

Excel MS Query Abfrage - Datensätze bearbeiten

Betrifft: Excel MS Query Abfrage - Datensätze bearbeiten von: Sebastian
Geschrieben am: 23.03.2016 15:55:27

Ich bin schon seit Tagen am recherchieren und komme leider nicht mehr weiter. Deshalb wende ich mich nun an euch und hoffe dass mir hier jemand weiter helfen kann.
Ich mache mit Excel und MS Query diverse Abfragen aus unserer Datenbank. Das funktioniert auch alles soweit ganz gut. Nun muss ich aber die Datensätze aus meiner Abfrage, bearbeiten und zurückspeichern bzw. aktualisieren können. In dem Query Assistent kann ich die Bearbeitung der Datensätze zulassen. So kann ich die Daten ändern und diese geänderten Daten werden auch übernommen. Allerdings möchte ich die Datensätze ohne diesen Query Assistenten direkt in Excel bearbeiten können und anschließend in die Datenbank Tabelle zurückspeichern.
Leider habe ich nur geringe VBA Kenntnisse. Ich bin zwar in der Lage diverse Makros aufzuzeichnen und auch Makros auf meine Bedürfnisse zu ändern, aber an dieser Stelle komme ich echt nicht mehr weiter und finde auch nichts passendes im Internet.
Ich weiß nicht genau wo ich ansetzen muss. VBA Makro oder SQL Anweisung?

  

Betrifft: AW: Excel MS Query Abfrage - Datensätze bearbeiten von: Luschi
Geschrieben am: 24.03.2016 08:22:18

Hallo Sebastian,

MS-Query ist eigentlich eine Einbahnstraße. Das Ändern dieser Daten läßt MS_Query auch
nur unter bestimmten Umständen zu (gleicher Datentyp). Aber die Exceltabelle weiß garnicht
woher die Daten eigentlich kommen, denn MS-Query schaltet ein 'OLEDB'-Objekt dazwischen und
verwaltet dies dann, ohne die tatsächlichen Originaldaten zu aktualisieren!
Das einfache Zurückschreiben der geänderten Daten in die tatsächliche Datenquelle
kannst/mußt Du vergessen, denn:
- die Datenbankquelle hat überprüfungsmethoden hinsichtlich der Datenhaltung
- in relationalen DB's sieht man dann sowieso nur die freigegebenen Select-Abfragen,
  die nicht aktualisierbar sind und NIEMALS die eigentlichen Datentabellen

In Deinem Fall hilft da nur, aus der übernommenen MS-Query-Abfrage per Vba eine neue Datentabelle zu erstellen , die dann verbindungsfrei ist und diese dann datenmäßig anzupassen.

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Excel MS Query Abfrage - Datensätze bearbeiten von: Sebastian
Geschrieben am: 25.03.2016 05:58:38

Hallo Luschi,

erstmal vielen Dank für die Infos. Was du schreibst erscheint mir logisch und nachvollziehbar, auch wenn ich nicht alles aus deiner Antwort auf Anhieb verstanden habe :-) Da ich mich noch nicht sehr lange mit diesem Thema beschäftige, habe noch ein paar Verständnis Fragen und hoffe dass du mir dabei helfen kannst diese zu beantworten.

Vorab noch eine paar Infos für dich und die anderen (falls diese benötigt werden).
Bei uns wird die Uralte AS400 (IBM) in Verbindung mit ERP2 genutzt. Wie bereits erwähnt, bin ich so weit, das ich in der AS400, vorhandene Abfragen verknüpfen und somit eine neue Abfrage nach meinen Vorstellungen gestalten kann. Habe es allerdings noch nicht geschafft diese in den Nachtjob zu übergeben, damit diese automatisch aktualisiert wird. Da ich stets aktuelle Daten in Excel benötige und nicht jedes mal in der AS400 (manuell) aktualisieren möchte, habe ich nach einem anderen Weg gesucht. Diesen Weg habe ich über Excel mit Hilfe von MS Query und SQL Anweisungen gefunden. Somit habe ich nun die Möglichkeit stets aktuelle Daten aus den Hauptdateien, die ich miteinander nach meinen Wünschen Verknüpft habe, abzurufen. Das ist für mich der einfachere Weg. Leider gibt es bei uns in der Firma niemanden mehr, der sich auch nur ein bisschen mit der AS400 auskennt, den ich um Rat fragen könnte.

Ein Beispiel:
Da ich die Abfragen aus den Haupt Dateien bekomme, wird sobald ein neuer Auftrag angelegt wurde, dieser nach der Aktualisierung in Excel sofort übernommen. Das gleiche gilt auch für jede Status oder Wert Änderung die in ERP2 vorgenommen wird. Nun habe ich probiert über MS Query einen Fertigungstermin zu ändern. Siehe da es hat geklappt und der geänderte Wert wurde sofort in ERP2 übernommen und angezeigt.

Mein Ziel ist es, ein Kapazitätstool auszuarbeiten, mit Hilfe von Excel und VBA. Aber das ist ein anderes Thema. Dafür benötige ich die aktuellsten Infos aus unserer Datenbank zu den Aufträgen und Terminen (die habe ich). Im nächsten Schritt möchte ich die Aufträge die ich mit dem Kapazitätstool berechnet habe, zurück in unser ERP2/AS400 System übergeben. Und nun zu meinen Fragen:

1. Ist mein Ansatz nachvollziehbar und überhaupt realisierbar?
2. Du sagst ich muss eine neue Datentabelle erstellen. Wie schaffe ich es aber dann, die Daten bzw. Parameter zu den Aufträgen aus der neuen Datentabelle in unser ERP2/AS400 System zu übergeben? Ich kann mir das nicht vorstellen wie das funktionieren soll, denn es kommen ja fast minütlich neue Daten in der Haupttabelle dazu.

Bitte entschuldigt den langen Text :-) Ich denke dieser Threat könnte sich für manche zu einem sehr interessanten Thema entwickeln…

In diesem Sinne, frohe Ostern und gemütliche Feiertage euch allen!


 

Beiträge aus den Excel-Beispielen zum Thema "Excel MS Query Abfrage - Datensätze bearbeiten"