collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 58
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13695
  • stats Beiträge insgesamt: 62165
  • stats Themen insgesamt: 8469
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Anfügen und Aktualisieren  (Gelesen 180 mal)

Offline chappi

  • Newbie
  • Beiträge: 13
Anfügen und Aktualisieren
« am: September 16, 2017, 11:09:06 »
Hallo Leute,
ich habe zwei Tabellen (tabArtikel und tabBestand) die über den Artikel 1:n verknüpft sind.
Wie kann ich erreichen das wenn ich die tabArtikel über eine Anfügeabfrage  aktualisiere das auch sofort der Datensatz im Bestand angefügt wird. Der Hintergrund ist, das ich nach dem anfügen eine Aktualisierungsabfrage auf den Bestand mache. Da liegt meine Problem weil die neuen Artikel nicht mit aktualisiert werden.
Zurzeit mache ich es so dass ich drei Abfragen starte.
Mein Code sieht so aus:
Private Sub Datum_Click()
Dim Netzwerk As Object
   Set Netzwerk = CreateObject("wscript.network")
 If MsgBox("Möchten Sie die Artikel aktualisieren?", vbYesNo) = vbYes Then
 Me.BitteWarten.Visible = True
 With CurrentDb().OpenRecordset("tabAktualisierung", dbOpenDynaset, dbAppendOnly)
    .AddNew
    !Datum = Now()
    !User = Netzwerk.UserName
    .Update
  End With
  CurrentDb.Execute "Artikel anfügen_tab_Artikel"
  CurrentDb.Execute "Artikel anfügen_tab_Bestand"
  CurrentDb.Execute "Aktualisieren Artikel und Bestand"
  Me.BitteWarten.Visible = False
  MsgBox "Die Daten wurden aktualisiert"
End If
Me.Requery
End Sub
Es dauert halt sehr lange so und ich denke es geht einfacher aber ich habe keine Idee wie.
Könnt ihr mir bitte helfen.
 

Online Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1489
Re: Anfügen und Aktualisieren
« Antwort #1 am: September 16, 2017, 13:57:48 »
Hallo,
Als erstes würde ich mal die Abfragen umbenennen; -
KEINE Leer- und Sonderzeichen (nur "_" ist erlaubt)
Und solange diese Abfragen auch geheim bleiben, kann hier keiner was
zur Performance sagen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline chappi

  • Newbie
  • Beiträge: 13
Re: Anfügen und Aktualisieren
« Antwort #2 am: September 16, 2017, 16:14:11 »
Ok das Umbenennen wird erledigt.
Hier die Abfragen
Artikel anfügen_tab_Artikel:
INSERT INTO tabArtikel ( Artikel )
SELECT [Daten aus SAP].Artikelnr_
FROM [Daten aus SAP];
[/code]

Artikel anfügen_tab_Bestand:
INSERT INTO tabBestand ( IDArtikel )
SELECT [Daten aus SAP].Artikelnr_
FROM [Daten aus SAP];





Aktualisieren Artikel und Bestand:
UPDATE (tabArtikel INNER JOIN tabBestand ON tabArtikel.Artikel = tabBestand.IDArtikel) INNER JOIN [Daten aus SAP] ON tabBestand.IDArtikel = [Daten aus SAP].Artikelnr_ SET tabArtikel.Bezeichnung = [Daten aus SAP].[Artikelbeschreibung], tabArtikel.Bezeichnung2 = [Daten aus SAP].[Artikelbeschreibung2], tabArtikel.EAN = [Daten aus SAP].[CodeBars], tabArtikel.Aktiv = [Daten aus SAP].[F26], tabArtikel.CutVerweis = [Daten aus SAP].[U_B_Cutverweis], tabArtikel.alt_artikel = [Daten aus SAP].[U_B_Rollenverweis], tabBestand.Lagerplatz01 = [Daten aus SAP].[Lagerplatz 01], tabBestand.Lagerplatz011 = [Daten aus SAP].[Lagerplatz 011], tabBestand.Bestand01 = [Daten aus SAP].[Lager 01], tabBestand.Bestand010 = [Daten aus SAP].[Lager 10 interne Fertigung], tabBestand.Bestand011 = [Daten aus SAP].[Lager 011], tabBestand.Bestand021Rers = [Daten aus SAP].[Lager 21 Zweit-Res];
Hier benenne ich die Verknüpfte Tabelle Daten aus SAP um.
Die Tabelle basiert auf eine Excel Liste.

Wenn noch was fehlt bitte sagen
Danke
 

Offline chappi

  • Newbie
  • Beiträge: 13
Re: Anfügen und Aktualisieren
« Antwort #3 am: September 17, 2017, 08:29:36 »
Hier noch mals meine Abfragen als Bild
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 727
Re: Anfügen und Aktualisieren
« Antwort #4 am: September 17, 2017, 10:00:47 »
Die Bilder sind überflüssiger Quatsch. Du solltest besser auf Deiner Tastatür die Eingabetaste ölen, damit man die meterlange Aktualisierungsabfrage auch lesen kann.

Genug gemeckert. :)

Zwei der drei Schritte wirst Du immer gehen müssen. Bei verknüpften Importdateien könnte man jedoch versuchen, die z.Zt. verwendete Aktualisierung gleich in die Anfügeabfrage zu integrieren. Ein Benchmarking wird zeigen, was schneller ist. Sollte es bei der Aktualisierungsabfrage bleiben, hilft i.d.R. ein durchdachtes Anlegen von Indexierungen auf die verknüpften Felder, um den Ablauf zu beschleunigen.

Vielleicht solltest Du uns auch einmal den Datenümfang und die bisherigen Zeiten mitteilen, um die Erträglichkeit des Wartens bei den Vorgängen einschätzen zu können.

PS: welcher Mehrwert erwächst überhaupt aus Deiner Datenvervielfältigung gegenüber den Original-Daten in SAP?
Grüße von der (⌒▽⌒)
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6748
Re: Anfügen und Aktualisieren
« Antwort #5 am: September 17, 2017, 10:57:48 »
Hallo,
es stellt sich auch die Frage, wozu aktualisieren ?

In einer Datenbank sollte man bestrebt sein Bestände nicht zu speichern, sondern stets zu errechnen. Nur dann kann man wirklich sicher sein, dass der Bestand auch aktuell ist. Es könnte ja bei der Aktualisierung unbemerkt etwas schief gehen. Könnte man zwar auch abfangen, aber das ist ja auch Aufwand.

Was mir aus deiner Schilderung nicht klar wird, wie geht da die Menge ein ?
Oder wird da immer nur ein Stück jedes Artikel angefügt ?
Kann sich der Bestand auch vermindern ?
Gruß
Klaus
 

Offline chappi

  • Newbie
  • Beiträge: 13
Re: Anfügen und Aktualisieren
« Antwort #6 am: September 17, 2017, 11:09:46 »
Es sind ca. 16500 Datensätze aus SAP und 10000 die nur für die Produktion sind und nicht aus SAP kommen.
Ich vervielfältige sie da für die Produktion spezifische Daten hinzukommen.
Die Wartezeit bei den drei Abfragen liegt ca. bei 30 sec.
Wenn ich dich richtig verstehe meinst du ich sollte mir die Verknüpfung zwischen TabArtikel und TabBestand sparen
und alles in einer Tabelle schreiben.
Würde den Vorteil haben das ich nur noch eine Abfrage bräuchte.
 

Offline chappi

  • Newbie
  • Beiträge: 13
Re: Anfügen und Aktualisieren
« Antwort #7 am: September 17, 2017, 11:21:28 »
Sorry ich brauche natürlich zwei Abfragen aber nur eine Tabelle.
Ein Abfrage zum hinzufügen der neuen Artikel aus SAP und eine Abfragen zum Aktualisieren
von dem Bestand und Lagerplatz.
@ MzKlMu
1.   Ja da wird immer nur ein Stück angefügt.
2.   Der Bestand ändert sich durch Buchungen im SAP und ich brauche ihn nur zur Info
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 727
Re: Anfügen und Aktualisieren
« Antwort #8 am: September 17, 2017, 11:28:54 »
Mein Chef würde dafür sorgen, dass die SAP-Daten auch für die Produktion geeignet sind. Schließlich will der dilettantische Datenjongleur ja auch noch bezahlt werden, wobei er sich IMO besser auf sein Kerngeschäft konzentrieren sollte. das bestimmt ein anderes ist, als Access Datenbanken zu erstellen und zu pflegen. :)

Nein, ich meinte, die Excel- oder Text-Importdaten in der DB zu verknüpfen, statt sie direkt in Tabellen zu importieren. Die Verknüpfungen sollten dann als Grundlage für den eigentlichen Import genutzt werden - damit ersparst Du Dir die Aktualisierungsabfrage.

Und je nachdem, wie Du die Daten weiter verarbeitest, kann auch nur eine (1) flache Tabelle zweckdienlich sein.

@Klaus,

die Berechnung findet wohl eher in SAP als in Access statt.
Grüße von der (⌒▽⌒)