Office: (Office 2016) DoCmd RunSql liefert Fehler in einer Funktion

Helfe beim Thema DoCmd RunSql liefert Fehler in einer Funktion in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Leute. Mit der folgenden Code in "Private Sub" gibt es kein Problem. Alles läuft super. Ich bruche diesen Code als Function, damit ich es aus... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Accesbeginner, 25. Dezember 2019.

  1. DoCmd RunSql liefert Fehler in einer Funktion


    Hallo Leute.

    Mit der folgenden Code in "Private Sub" gibt es kein Problem. Alles läuft super.

    Ich bruche diesen Code als Function, damit ich es aus einem Makro ausführen lassen möchte (oder muss).

    Allerdings was in "Private Sub" funktioniert, funktioniert nicht als "Public Function" *frown.gif*

    Code:
    "DoCmd.RunSQL PreisUpdate" > "Syntaxfehler in UPDATE-Anweisung."

    Wo ist der Wurm?

    Danke im Voraus.
    Bigdaddy

    :)
     
    Accesbeginner, 25. Dezember 2019
    #1
  2. Die Variable NeuerPreis ist ja nun mal nicht als Typ genau definiert.
    Allerdings sollte man wissen, dass der Dezimaltrenner in der Oberfläche als Komma eingegeben wird ... aber an die SQL Anweisung als Punkt übergeben werden muss.

    Code:
    hilft hier vielleicht.

    Und das Brimborium mit Ab- und wieder anschalten der Warnungen kannst Du sparen, wenn Du den SQL String an die Methode .Execute übergibst.
    Code:
    statt der letzten drei Zeilen.
     
    hcscherzer, 27. Dezember 2019
    #2
  3. Hinter einem Preis wird sich ziemlich sicher eine Dezimalzahl präsentieren. Eine solche ist entsprechend SQL-gerecht zu formatieren:
    Code:
    Neben dem "Wurm" sind die Codezeilen noch um einige Schlampigkeiten bereichert:
    - Variablen ohne Typdeklaration
    - DB-Variable als Luftloch

    Das empfinde ich aus den genannten Gründen heraus als unwahr.
     
  4. DoCmd RunSql liefert Fehler in einer Funktion

    Hallo hcscherzer, danke für deine Interesse.

    Kannst du bitte dein erster Code komplett mit meiner Formulieren?

    Ich weiss jetzt nicht genau wo ich den "replace" einsetzen soll.

    Sollte ich die Variable Vielleicht als single definieren? oder lieber Variant?
     
    Accesbeginner, 27. Dezember 2019
    #4
  5. Hallo Ebs17 Danke auch dir für deine Interesse.

    Habe ich Falsch formuliert, du hast Recht. Es hat nun in meinem Fall nicht Funktioniert.

    Ich werde gleich eure Korrigierungen einsetzen... bis gleich.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Accesbeginner, 27. Dezember 2019
    #5
  6. Hallo Bigdaddy,

    entferne mal die unnötigen Klammern in der SQL-Update Anweisung.
    Die Referenz auf die Database cdb wird nur bei .Execute benötigt und kann bei Docmd.RunSQL komplett entfallen.

    Wieso muß der Code eigentlich aus einem Makro ausführbar sein?
    Man hätte das Ganze auch direkt als Makro schreiben können.

    Und ganz nebenbei:
    bei der Deklaration von Variablen und Funktionen sollten auch die Datentypen angegeben werden, auch wenn der Default ein Variant ist.

    Ulrich
     
    knobbi38, 27. Dezember 2019
    #6
  7. Hallo knobbi38, danke dir ebenfalls für deine Interesse

    Die Unnötigen klammer habe ich alle entfernt. Immer noch Fehler.

    "Man hätte das Ganze auch direkt als Makro schreiben können."

    Ehrlich zugegeben bin ich kein Prof. Programmierer. Mehr oder weniger eher ein "Copy>Paste" Programmierer mit wenig wissen.

    Ob ich das ganze in Makro umwandeln kann? Oh ooh, bin mir nicht sicher.

    Wenn mir jemand doch einfach mein Code Richtig korrigieren könnte, würde ich mehr lernen.
     
    Accesbeginner, 27. Dezember 2019
    #7
  8. DoCmd RunSql liefert Fehler in einer Funktion

    Was aber nach eigenem Profil ausreicht, Computerkurse zu leiten. Autsch, die armen Lernwilligen.
     
  9. Die Computerkurs-Teilnehmer lernen kein VBA oder ähnliches bei mir, sondern nur Excel und Access Oberfläche und Bedienung. Also nur Einsteigerkurse, daher reicht mein wissen Völlig aus, keine Sorge *Smilie .
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Accesbeginner, 27. Dezember 2019
    #9
  10. Habe den Code nun wie folgt geändert aber leider noch mit Fehler.

    Wenn ich Statt:

    Code:
    diesen Code:

    Code:
    eingebe Funktioniert das ganze.

    Das Problem ist, dass aus "Forms!FRM_LAGER_HAFO!FRM_LAGER_UFO!LAGER_ID_F" der wert eine "Null" ist und nicht eine Zahl

    Ich habe Versucht von "LAGER_ID_F" wert in eine Variable zu übergeben wie z.B.:

    Code:
    ergibt immer wieder NULL
    Mein Problem ist nicht gelöst *rolleyes.gif*
     
    Accesbeginner, 27. Dezember 2019
    #10
  11. Hallo,

    mit C & P hat noch nie jemand etwas gelernt, also sollte versuchen, den Programmcode auch zu verstehen.

    Du hast meine Frage aber auch noch nicht beantwortet, warum das als Makro ausführbar sein muß.

    Immerhin hast du wohl keinen Syntax Error mehr, sondern dein Parameter enthält keinen gültigen Wert.

    Hier mal zwei Links, bezüglich Verweise auf Steuerelemente in Formularen:
    FAQ4Formulare
    Forms: Refer to Form and Subform properties and controls

    Ich hoffe doch, daß Feldname und Steuerelementname nicht identisch sind?!!! Wenn doch, sollte das besser geändert werden.

    Ulrich
     
  12. Hallo knobbi38,

    so leihe bin ich nun auch wieder nicht. OK "Copy-Paste" Programmierer war ein bisschen übertrieben. Denn alles was ich Kopiere und einfüge lerne und verstehe ich zuerst. Schließlich allein mit C&P kann man doch nicht Programmieren. Mit C&P habe ich eigentlich nur die Schreibweise bzw. Syntax gemeint. Nur dabei hakt es manchmal, das ist alles. Ansonsten kenne ich mich wirklich gut mit VBA aus, bin nur kein Profi.

    Zu deiner Frage:
    "Du hast meine Frage aber auch noch nicht beantwortet, warum das als Makro ausführbar sein muss."

    Ganz einfach. Weil gerade diese Frage mich zur Lösung gebracht hat. Denn inzwischen, Dank deiner Frage, habe ich das Makro gelöscht und als VBA eingegeben.

    Manchmal ist man Übermüdet und Jemand muss einfach mal klatschen. *Smilie

    Ganz ernst, Dank deine Frage habe ich mein Problem gelöst.

    Des weiterem habe ich die Empfehlungen und Vorschläge von allen, die in diesem Thema beigetragen haben sehr wahrgenommen und auch befolgt.

    Nochmals Herzlichen Dank an Alle
    Bigdaddy
     
    Accesbeginner, 27. Dezember 2019
    #12
  13. DoCmd RunSql liefert Fehler in einer Funktion

    Code:
     
    hcscherzer, 28. Dezember 2019
    #13
  14. Hallo hcscherzer.

    Dein Code hat Funktioniert allerdings musste ich nach WHERE alle klammer entfernen. Wie in meiner letzten Beitrag angedeutet, habe ich das Problem anderweitig gelöst, in dem ich das Makro weggelassen und in VBA geschrieben habe.
    Trotzdem vielen Dank für dein Code. Werde ich auf jeden Fall aufbewahren.

    Schöne Grüsse Alle, und Guten Rutsch *wink.gif*
     
    Accesbeginner, 28. Dezember 2019
    #14
Thema:

DoCmd RunSql liefert Fehler in einer Funktion

Die Seite wird geladen...
  1. DoCmd RunSql liefert Fehler in einer Funktion - Similar Threads - DoCmd RunSql liefert

  2. Suche liefert keine Ergebnisse

    in Microsoft Outlook Hilfe
    Suche liefert keine Ergebnisse: Ich nutze Windows 11 Home mit Outlook 2007, wo ich zwei IMAP-Postfächer eingebunden habe. Die Suche im Posteingang liefert keine Ergebnisse, egal welche Wörter eingebe. Ich habe die Indizierung...
  3. Suchfunktion liefert KEIN Ergebnis

    in Microsoft Outlook Hilfe
    Suchfunktion liefert KEIN Ergebnis: Hallo, ich bräuchte mal Eure Hilfe ... Bei mir funktioniert die Suchfunktion in Outlook 365 so überhaupt nicht. Egal was ich für ein Wort eingebe ... kommt immer keine Ergebnisse Indizierung...
  4. DoCmd Export nach Excel 2016

    in Microsoft Access Hilfe
    DoCmd Export nach Excel 2016: Guten Morgen! Ich möchte gerne erreichen, dass die Abfrage "Zusammenfassung" nach Schließen eines Formulars nach Excel exportiert wird. Dazu habe ich folgenden Code: Code: Private Sub...
  5. DoCmd Click nächste Registerkarte

    in Microsoft Access Hilfe
    DoCmd Click nächste Registerkarte: Hallo Leute, ich habe ein Navigationsformular mit mehreren Reitern. Im 1. Formular gibt man Daten ein. Am Ende dieses Formulars ist dann ein Knopf der die Datenspeichert und über eine Select Case...
  6. Dir(Path, vbDirectory) liefert Dateinamen

    in Microsoft Access Hilfe
    Dir(Path, vbDirectory) liefert Dateinamen: Hallo, ich schon wieder! Ich versuche mir die Verzeichnisstruktur eines Laufwerks auszulesen und möchte nur die Verzeichnisse ausgegeben bekommen. Aber schon beim ersten Aufruf von Dir(Path,...
  7. DoCmd -> Laufzeitfehler 2486

    in Microsoft Access Hilfe
    DoCmd -> Laufzeitfehler 2486: ich habe bei einer Datenbank immer wieder mal das Problem das keine "DoCmd" Anweisungen ausgeführt werden können. Es erscheint der Laufzeitfehler 2486. Dieses hat dann auch zur Folge das sich...
  8. Docmd.TransferText liefert Fehler 2046 Der Befehl oder die Aktion steht momentan...

    in Microsoft Access Hilfe
    Docmd.TransferText liefert Fehler 2046 Der Befehl oder die Aktion steht momentan...: Hallo zusammen, ich verwende den Befehl Docmd.TransferText. Dieser liefert zeitweise den Laufzeitfehler 2046 "Der Befehl oder die Aktion TransferText' steht momentan nicht zur Verfügung."...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden