Neuigkeiten:

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

Mobiles Hauptmenü

CurrentDb.Execute statt SQL - Parameter erwartet

Begonnen von hawebe, August 31, 2014, 15:08:19

⏪ vorheriges - nächstes ⏩

hawebe

Hallo,

ich versuche zur Zeit die Codezeilen in meiner Anwendung zu minimieren. Dazu will ich ich SQL durch CurrentDb.Execute ersetzen.
Dabei habe ich so meine Probleme, denn was unter SQL läuft, erfordert bei Execute zusätzliche Parameter.


Hier der SQL String als Beispiel, der unter Execute Parameter erfordert:

cSQL = "DELETE tbl_PROVISION.*, tbl_PROVISION.VENr FROM tbl_PROVISION WHERE (((tbl_PROVISION.VENr)=[Forms]![Prov_Hfrm].[Form]![KuNr]));"

Vermutlich liegt die Ursache in den Kriterien (Formularbezug). Aber auch bei Verwendung von Eval ändert sich nichts.

Könnt Ihr mir bitte auf die Sprünge helfen?
Gruß aus dem Emsland

bahasu

Hi,

was passiert bei:
cSQL = "DELETE tbl_PROVISION.*, tbl_PROVISION.VENr FROM tbl_PROVISION WHERE tbl_PROVISION.VENr=" & [Forms]![Prov_Hfrm].[Form]![KuNr] & ";"
Unter der Voraussetzung, dass KuNr vom Typ Zahl ist.
Servus

DF6GL

Hallo Ha-Wo,

der Formularbezug muss ausgelagert werden (und die FeldListe ist eh überflüssig):

Dim cSQL as String

'VENr besitzt hier den Datentyp Zahl,Long
cSQL = "DELETE FROM tbl_PROVISION WHERE (((tbl_PROVISION.VENr)=" & [Forms]![Prov_Hfrm]![KuNr] & "));"

Currentdb.Execute cSQL, dbfailOnError


Wenn Tabellenfelld "VENr" den DatenTyp TEXT aufweist, muss es zudem so lauten (Hochkommata und etwas verkürzt):

cSQL = "DELETE FROM tbl_PROVISION WHERE VENr='" & [Forms]![Prov_Hfrm]![KuNr] & "'"


Wenn der Code im selben Form abläuft, in dem sich das Formularfeld befindet, reicht zudem:

cSQL = "DELETE FROM tbl_PROVISION WHERE VENr='" & Me![KuNr] & "'"
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

hawebe

Hallo Franz,
die Kurzfassung war in diesem Fall optimal. Danke auch für die ausführliche Hilfe. Sie ermöglicht mir ähnlich gelagerten Fälle zu prüfen und zu ändern.

Also wie immer herzlichen Dank und damit auch ein Lebenszeichen von mir, denn ich hatte mich ja mehrere Monate nicht mehr gemeldet. 
Gruß aus dem Emsland