Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: skip2mylou am Dezember 14, 2022, 12:53:17

Titel: SQL Query per VBA
Beitrag von: skip2mylou am Dezember 14, 2022, 12:53:17
Ich habe folgendes SQL, das ich per Button(über VBA) anstoßen möchte.
Leider kommen immer Laufzeitfehler 3075: Syntaxfehler in Abfrageausdruck 'SELECT 1'

Das eigentliche SQL, das auch funktioniert (SQL Server getestet)

INSERT INTO tmp_KSTRechnung
SELECT
    1
  , kad.Kostenstelle
  , kad.Kostenart
  ,  '20221001'
  , SUM((-s.soll -s.Haben)*kad.Anteil/100) AS Betrag
  , 'Addison' AS AngelegtProgramm
  , 'dh' AS AngelegtVon
  , getDate() AS AngelegtAm
FROM __EOG_AddisonSaldo s
INNER JOIN __EOG_KSTZuordnungAddison kad ON kad.Mandant=s.Mandant AND kad.Kostenart=s.Kontonummer
WHERE s.Kalendermonat = '20221001'
GROUP BY kad.Kostenart, kad.Kostenstelle



IN VBA:

StrSQL = "INSERT INTO dbo_tmp_KSTRechnung VALUES " & _
" (SELECT 1, kad.Kostenstelle, kad.Kostenart,'20221001', " & _
" SUM((-s.soll -s.Haben)*kad.Anteil/100) AS Betrag, " & _
" 'Addison' AS AngelegtProgramm, " & _
"'eeh' AS AngelegtVon, " & _
" getDate() AS AngelegtAm " & _
" FROM __EOG_AddisonSaldo s " & _
" INNER JOIN __EOG_KSTZuordnungAddison kad ON kad.Mandant=s.Mandant AND kad.Kostenart=s.Kontonummer " & _
" WHERE s.Kalendermonat = '20221001' " & _
" GROUP BY kad.Kostenart, kad.Kostenstelle);"

Ich hoffe einer kann mir helfen. Vielen Dank :-)
Titel: Re: SQL Query per VBA
Beitrag von: ebs17 am Dezember 14, 2022, 15:20:25
VALUES??
Titel: Re: SQL Query per VBA
Beitrag von: markusxy am Dezember 14, 2022, 15:27:15
Warum verwendest du Values, entspricht ja nicht dem Beispiel?

Machst du das in Access per Passthrough Abfrage oder adodb.command?
Was spricht gegen eine Prozedur am Server, anstatt der Murxerei mit VBA?

Abgesehen davon frage ich mich, warum beim funktionierenden SQL Statement kein Schema verwendet wird.
Titel: Re: SQL Query per VBA
Beitrag von: skip2mylou am Dezember 14, 2022, 16:14:30
Hallo zusammen,

danke für eure Rückmeldung. Habs jetzt doch über SP auf dem Server gelöst und in VBA diese dann mit Parameter ausgeführt.

VG
skip
Titel: Re: SQL Query per VBA
Beitrag von: Josef P. am Dezember 14, 2022, 16:38:29
Hallo!

Grundsätzlicher Tipp zu Fehlersuche:
Wenn du weißt, wie die fertige SQL-Anweisung aussehen soll:
StrSQL = "INSE...."
debug.Print StrSQL
Der Inhalt der Variablen steht dann im Direktbereich vom VBA-Editor. Den Text von dort kopieren und z. B. im SQL-Server-Managementstudio testen.

Gruß
Josef