Neuigkeiten:

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

Mobiles Hauptmenü

SQL (aus Abfrage) String taulich machen (VBA)

Begonnen von trebuh, März 25, 2016, 13:18:02

⏪ vorheriges - nächstes ⏩

trebuh

Hallo,

habe im Moment das Problem, einen SQL Text aus einer Abfrage in einen String-Text für VBA umzuwandeln.
Bisher hatte ich keine Probleme damit, aber dieser SQL Text scheint es in sich zu haben (zumindest für mich).
Hier der SQL Text:
SELECT qryRechUebersicht_3.rech_nr, qryRechUebersicht_3.rech_dat, qryRechUebersicht_3.rech_Art, qryRechUebersicht_3.rech_Uebernahmedat, qryRechUebersicht_3.rech_bezahlt, qryRechUebersicht_3.rech_storno, qryRechUebersicht_3.rech_Mahnung1, qryRechUebersicht_3.rech_Mahnung2, qryRechUebersicht_3.rech_Mahnung3, qryRechUebersicht_3.Name_Vorname, qryRechUebersicht_3.rech_Faelligkeit, qryRechUebersicht_3.SummevonSummevonSummevonzusammfass_volumen, qryRechUebersicht_3.SummevonSummevonSummevonGesamtSumme, qryRechUebersicht_3.SummevonSummevonMwstBetrag, qryRechUebersicht_3.SummevonSummevonBrutto, qryRechUebersicht_3.rech_empfaenger_f_id, qryRechUebersicht_3.rech_rechGutschrift, qryRechUebersicht_3.Summevonzusammfass_volumen, qryRechUebersicht_3.SummevonSummeBruttoEinzeln, qryRechUebersicht_3.SummevonMwstBetragEinzeln, IIf([rech_Art]="Rechnung",[SummevonSummevonBrutto],IIf([rech_Art]="Gutschrift",[SummevonSummeBruttoEinzeln],"")) AS Bruttobetrag, IIf([rech_Art]="Rechnung",[SummevonSummevonMwstBetrag],IIf([rech_Art]="Gutschrift",[SummevonMwstBetragEinzeln],"")) AS Mwstbetrag, IIf([rech_Art]="Rechnung",[SummevonSummevonSummevonzusammfass_volumen],IIf([rech_Art]="Gutschrift",[Summevonzusammfass_volumen],"")) AS Fmgesamt, IIf([rech_Art]="Rechnung",[SummevonSummevonSummevonGesamtSumme]/[SummevonSummevonSummevonzusammfass_volumen],IIf([rech_Art]="Gutschrift",[SummevonGesamtSumme]/[Summevonzusammfass_volumen],"")) AS Durchschn, qryRechUebersicht_3.SummevonGesamtSumme, qryRechUebersicht_3.rechHolz_RechGutschr_Nr, qryRechUebersicht_3.rechHolz_RechNr_f_id
FROM qryRechUebersicht_3;


und hier mein VBA Text:

strSQL = "SELECT qryRechUebersicht_3.rech_nr, qryRechUebersicht_3.rech_dat, qryRechUebersicht_3.rech_Art," _
& " qryRechUebersicht_3.rech_Uebernahmedat, qryRechUebersicht_3.rech_bezahlt," _
& " qryRechUebersicht_3.rech_storno, qryRechUebersicht_3.rech_Mahnung1," _
& " qryRechUebersicht_3.rech_Mahnung2, qryRechUebersicht_3.rech_Mahnung3," _
& " qryRechUebersicht_3.Name_Vorname, qryRechUebersicht_3.rech_Faelligkeit," _
& " qryRechUebersicht_3.SummevonSummevonSummevonzusammfass_volumen," _
& " qryRechUebersicht_3.SummevonSummevonSummevonGesamtSumme," _
& " qryRechUebersicht_3.SummevonSummevonMwstBetrag, qryRechUebersicht_3.SummevonSummevonBrutto," _
& " qryRechUebersicht_3.rech_empfaenger_f_id, qryRechUebersicht_3.rech_rechGutschrift," _
& " qryRechUebersicht_3.Summevonzusammfass_volumen, qryRechUebersicht_3.SummevonSummeBruttoEinzeln," _
& " qryRechUebersicht_3.SummevonMwstBetragEinzeln, IIf([rech_Art]=''Rechnung'',[SummevonSummevonBrutto]," _
& "IIf([rech_Art]=''Gutschrift'',[SummevonSummeBruttoEinzeln],'''')) AS Bruttobetrag," _
& " IIf([rech_Art]=''Rechnung'',[SummevonSummevonMwstBetrag],IIf([rech_Art]=''Gutschrift''," _
& "[SummevonMwstBetragEinzeln],'''')) AS Mwstbetrag, IIf([rech_Art]=''Rechnung''," _
& "[SummevonSummevonSummevonzusammfass_volumen],IIf([rech_Art]=''Gutschrift''," _
& "[Summevonzusammfass_volumen],'''')) AS Fmgesamt, IIf([rech_Art]=''Rechnung''," _
& "[SummevonSummevonSummevonGesamtSumme]/[SummevonSummevonSummevonzusammfass_volumen]," _
& "IIf([rech_Art]=''Gutschrift'',[SummevonGesamtSumme]/[Summevonzusammfass_volumen],''''))" _
& " AS Durchschn, qryRechUebersicht_3.SummevonGesamtSumme," _
& " qryRechUebersicht_3.rechHolz_RechGutschr_Nr, qryRechUebersicht_3.rechHolz_RechNr_f_id" _
& " FROM qryRechUebersicht_3 ORDER BY qryRechUebersicht_3.rech_nr DESC;"


Die Gänsefüschen habe ich durch 2 Hochkomma jeweils ersetzt. Aber trotzdem bekomme ich die Fehlermeldung:

Error 3075 Syntaxfehler (Fehlender Operator) in Abfrageausdruck....

Irgendwo habe ich da einen Fehler. Finde ihn nur nicht.

Nachtrag:
Gibt es eine SQL-Editor, wo SQL in VBA umwandeln kann?


DF6GL

Hallo,

diese Monster-Benamsung erschwert die Sache ungemein....

ZitatDie Gänsefüschen habe ich durch 2 Hochkomma jeweils ersetzt

Das ist wörtlich genommen falsch... Richtig wäre:

Die Gänsefüschen habe ich durch 1 Hochkomma jeweils ersetzt
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

trebuh

Hallo Franz,

Danke für den Hinweis. Immer wieder das Thema mit den Gänsefüschen und Hochkomma...

bezüglich
Zitatdiese Monster-Benamsung erschwert die Sache ungemein...
ich weiß....
das kommt davon, wenn man auf eine Testabfrage zugreift, Gruppiert und der Umfang größer wird als erwartet.
Am Schluß stellt man fest, dass der Aufwand es zu überarbeiten erheblich ist.

Nochmals Danke.

Gruß Hubert

Nachtrag:

Wo ist denn der "Danke"-Button hingekommen?

el_gomero

Hallo,

ich hab mir das Statement angesehen und dann wegen der Monsterbezeichnungen die Lust verloren da was dran zu machen.

Zitat
... ich weiß....
das kommt davon, wenn man auf eine Testabfrage zugreift, ...

Und was hindert dich auch bei Testabfragen vernünftige Bezeichner zu verwenden?
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

trebuh

Zitat
Und was hindert dich auch bei Testabfragen vernünftige Bezeichner zu verwenden?

Meine Faulheit, was im nachhinein Böse bestrafft wird. ;D

el_gomero

wie heisst es so schön: "Einsicht ist der erste Schritt ..."

In diesem Sinne - auf eine erfolgreiche Zukunft ;)
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen