SQL-Befehl
PeterDoering
Gesendet: 06.06.20 18:43
Betreff: RE: SQL-Befehl



Extreme Veteran

Beiträge: 573
5002525
Hallo,

Sprechen wir von Makro oder VBA?

Per Makro:

Du musst die SQL-Anweisung, am besten aus der SQL-Ansicht der Abfrage, in das Makro kopieren, am besten ohne Zeilenumbrüche:

Aktion: AusführenSQL
SQL-Anweisung: INSERT INTO tbl_9500_export_word ( Sort, FeldIndex, wert ) SELECT abfr_4000_mitgl_liste.Beschreibung AS sort, 1 AS FeldIndex, abfr_4000_mitgl_liste.[01_Gesch] AS wert FROM abfr_4000_mitgl_liste WHERE abfr_4000_mitgl_liste.[01_Gesch]>""

Das Argument darf max. 256 Zeichen lang sein. Da wie bereits erwähnt ORDER BY beim INSERT wirkungslos ist, kannst du es weggelassen.

Per VBA:

Die Prozedur sollte so aussehen:

Dim Db As DAO.Database
Set Db = CurrentDb

Db.Execute "INSERT INTO tbl_9500_export_word ( Sort, FeldIndex, wert ) " _
" SELECT abfr_4000_mitgl_liste.Beschreibung AS sort, 1 AS FeldIndex, abfr_4000_mitgl_liste.[01_Gesch] AS wert " _
" FROM abfr_4000_mitgl_liste " _
" WHERE abfr_4000_mitgl_liste.[01_Gesch]>'';", dbFailOnError

Set Db = Nothing

Die .Execute-Methode des Datenbankobjekts gibt keine Warnmeldungen aus, insofern kannst du dir das Aus- und Einschalten der Warnungen sparen.

Bitte beachten: in der VBA-Variante muss man die Anführungszeichen in der WHERE-Bedingung entweder verdoppeln oder durch einfache Hochkommas ersetzen. Ich habe im Beispiel letzteres gemacht.

-----
Gruss - Peter
Top of the page Bottom of the page