Neuigkeiten:

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

Mobiles Hauptmenü

Laufzeitfehler 3075

Begonnen von ReneB, Dezember 01, 2022, 07:16:44

⏪ vorheriges - nächstes ⏩

ReneB

Guten Morgen,

ich habe ein kleines Problem mit meinem Formular. Nach Eingabe aller Daten muss der Anweder den Speichern-Button drücken, daraufhin wird eine "Insert into... Anweisng gestartet und die Daten in eine Tabelle gespeichert. Das funktioniert soweit ohne Probleme. Es gibt in diesem Formular ein allgem. Textfeld, welches frei beschrieben werden darf und hier ist jetzt folgendes Problem aufgetreten: Wenn der Nutzer z.B.
IBC's schreibt und danach speichern möchte kommt die im Betreff genannte Fehlermeldung. Nimmt er das Zeichen ' wieder raus ist alles gut. Warum kann der Nutzer dieses Sonderzeichen nicht benutzen und was müsste ich ändern, damit er es kann?
Danke für Eure Hilfe.

Grüsse Rene

MzKlMu

#1
Hallo,
zeige den SQL Text der Abfrage zum Speichern. Man hätte auch auf die Idee kommen können das gleich zu tun. Aus den ... kann man nichts entnehmen.

Warum betreibst Du den Aufwand mit einem ungebunden Formular und "Insert into...
Ein an die Tabelle gebundenes Formular hätte das Problem nicht. Auch dann könnte man einen Speichern Button realisieren.

PS:
Im Betreff steht keine Fehlermeldung, sondern eine Fehlernummer von einem Fehlertext ist auch nichts zu sehen.
Gruß Klaus

PhilS

Zitat von: ReneB am Dezember 01, 2022, 07:16:44IBC's schreibt und danach speichern möchte kommt die im Betreff genannte Fehlermeldung. Nimmt er das Zeichen ' wieder raus ist alles gut. Warum kann der Nutzer dieses Sonderzeichen nicht benutzen und was müsste ich ändern, damit er es kann?
Weil das Hochkomma der Textbegrenzer in SQL ist. Wenn du dieses Zeichen in einem Text verwenden willst, musst du es verdoppelt, z.B. mit der Replace-Funktion, oder du verwendest eine Parameterabfrage anstatt die Wert mit dem SQL-String zusammenzusetzen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ReneB

Hallo,

Sorry dafür. Der Fehler lautet: Syntaxfehler(fehlender Operator in Abfrageausdruck "IBC's')'.

Die zugrundeliegende Anfügeabfrage lautet:
DoCmd.RunSQL ("INSERT INTO Anweisung_Konfekt_tbl([ID],[Datum],[Datum von],[Datum bis],[Autor],[Anweisungsebene],[Anweisung])" _
  & " VALUES ('" & ID & "','" & Me.Datum & "','" & Me.Datum_von & "', '" & Me.Datum_bis & "','" & Me.Autor & "'," _
  & " '" & Me.Anweisungsebene & "','" & Me.Anweisung & "')")

Das Formular ist an eine Tabelle gebunden, aber ich archiviere parallel alle Änderungen in diesem Formular und dafür nutze ich diese Anfügeabfrage und fülle eine zweite Tabelle.

ReneB

Hallo,

die Replacefunktion erscheint mir sinnvoll. Das könnte ich umsetzen. Gibt es noch andere Zeichen, welche hier Probleme machen könnten?

MzKlMu

Hallo,
Zitatgibt es noch andere Zeichen, ....
Ja, das AZ (") wüsste ich noch.
Gruß Klaus

ReneB

Danke für Eure Anmerkungen. Ich werde das so umsetzen.

ebs17

... '" & Me.Datum_von & "' ...Textdatum?

Zitatoder du verwendest eine Parameterabfrage
Genau. Oder, da mit der Values-Variante nur ein Datensatz angefügt wird, ein Recordset mit AddNew. Auch da entfallen die zusätzlichen Formatierungsprobleme.
Mit freundlichem Glück Auf!

Eberhard