Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: trebuh am März 25, 2016, 13:18:02

Titel: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: trebuh am März 25, 2016, 13:18:02
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?

Titel: Re: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: DF6GL am März 25, 2016, 16:09:47
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
Titel: Re: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: trebuh am März 25, 2016, 16:42:49
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?
Titel: Re: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: el_gomero am März 25, 2016, 16:58:27
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?
Titel: Re: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: trebuh am März 25, 2016, 17:09:51
Zitat
Und was hindert dich auch bei Testabfragen vernünftige Bezeichner zu verwenden?

Meine Faulheit, was im nachhinein Böse bestrafft wird. ;D
Titel: Re: SQL (aus Abfrage) String taulich machen (VBA)
Beitrag von: el_gomero am März 25, 2016, 17:12:33
wie heisst es so schön: "Einsicht ist der erste Schritt ..."

In diesem Sinne - auf eine erfolgreiche Zukunft ;)