Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mehrere AnfügeAbfragen in die gleiche Tabelle importieren

Begonnen von Torsten., Oktober 31, 2012, 17:05:10

⏪ vorheriges - nächstes ⏩

Torsten.

Hallo,
ich habe 12 AnfügeAbfragen die alle gleich aufgebaut sind, aber unterschiedlichen Inhalt haben.
Die Daten sollen alle in die gleiche Tabelle importiert werden.
Wenn ich jetzt die 12 AnfügeAbfragen ausführe, habe ich meine benötigte Tabelle mit den Daten erstellt.
Meine Frage nun:
Gibt es die Möglichkeit das zu "automatisieren", so das ich das nicht jedesmal durch 12-maliges ausführen erreiche?

Gruß TVH

Beaker s.a.

Hallo TVH,
Vielleicht mit VBA?


Dim dbe As DAO.Database
Set dbe = CurrentDb
dbe.Execute Abfrage1
dbe.Execute Abfrage2
.
.
dbe.Execute Abfrage12
set dbe = Nothing

hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Torsten.

#2
Hallo Ekkehard,
ich habe .database gegen den Tabellennamen ausgetauscht
und testweise 2 AnfügeAbfragen gelistet - wie folgt:

Sub test()
Dim dbe As DAO.tbl_point
Set dbe = CurrentDb
dbe.Execute anfabf_point_orange
dbe.Execute anfabf_point_green
Set dbe = Nothing
End Sub


Dann den Code in VBA eingefügt und dann ausführen geklickt.
Dann die Fehlermeldung:
Fehler beim Kompilieren
Benutzerdefinierter Typ nicht definiert.

Was mach ich da falsch?

Gruß TVH

MzKlMu

Hallo,
das sollte gehen:
Sub test()
   CurrentDb.Execute anfabf_point_orangedbe, 128
   CurrentDb.Execute anfabf_point_greenSet, 128
End Sub

Die 128 sorgt für eine Fehlermeldung wenn etwas nicht klappt.
Gruß Klaus

Torsten.

Hallo MzKlMu,
vielen Dank für Deine Hilfe.

Ich bekomme die Fehlermeldung
Laufzeitfehler: 3078
Datenbankmodul findet die Eingabetabelle oder Abfrage nicht.

Die Namen der AnfügeAbfragen sind richtig.
Kann ich etwas falsch machen?

Gruß TVH

MzKlMu

Hallo,
sorry, habe ich übersehen. Die Abfragenamen müssen in AZ.
Also so:
Sub test()
   CurrentDb.Execute "anfabf_point_orangedbe", 128
   CurrentDb.Execute "anfabf_point_greenSet", 128
End Sub
Gruß Klaus

Torsten.

Jetzt kommt die Meldung
3078 mit dem konkreten Hinweis:
anfabf_point_orangedbe kann nicht gefunden werden.

Der Abfragename ist identisch

MzKlMu

Hallo,
wenn die Namen richtig sind, geht das, getestet.
Kopiere mal die Abfragenamen, nicht abschreiben.

Gruß Klaus

Torsten.

Ich habe mal eine Beispiel-DB gebaut.
Bitte schaue mal nach. Der Inhalt ist völlig sinnfrei, es geht nur um den Ablauf
mehrere Anfügeabfragen automatisch in die Tabelle zu bekommen.

Gruß TVH

[Anhang gelöscht durch Administrator]

MzKlMu

#9
Hallo,
trotz Hinweis auf kopieren, hast Du nicht gemerkt dass die Abfragenamen falsch sind.
Hier hättst Du sorgfältiger prüfen müssen, zumal der Unterschied wirklich deutlich ist.

Siehe Bild.

Außerdem ist die Anfügerichtung falsch die Zieltabelle ist tbl_part und nicht tbl_point.

Geänderte DB (Access2003 !) anbei.


[Anhang gelöscht durch Administrator]
Gruß Klaus

Torsten.

#10
So, vielen Dank erneut, dass Du das lösen konntest.

Habe mich auch schon gewundert warum dbe und Set hinten angehängt wurde.

Hallo,
sorry, habe ich übersehen. Die Abfragenamen müssen in AZ.
Also so:
Code: In Zwischenablage kopieren

Sub test()
  CurrentDb.Execute "anfabf_point_orangedbe", 128
  CurrentDb.Execute "anfabf_point_greenSet", 128
End Sub


Die Anfügerichtung habe ich in der Eile der Erstellung der test.db falsch eingestellt.
Bitte entschuldige.

War ein erfolgreicher Abend (für mich als Laie)  ;)

Gruß TVH