当我在文本框内编写代码时不接受它

时间:2019-02-11 06:26:13

标签: sql vba ms-access access-vba access

我在表格中有一个文本框。我使用此文本框编写“代码”,然后通过SQL插入语句将其保存在数据库的表中,但是代码不接受运行,并给我一条错误消息: 运行时错误“ 3075”。

数据库类型:Access数据库 字段数据类型:LongText

当我需要在数据库字段中保存代码时,问题是什么以及如何解决所有相同的问题。

当我尝试不使用(')保存代码时,就可以正常工作!

我使用以下SQL语句:

CurrentDb.Execute "Update Tbl_Codes Set [LP_ID]= " & Me.txtID & ", 
[Code_Title]='" & Me.txtTitle & "'" _
& " ,[Code_Des]= '" & Me.txtDes & "',[Code_Key]= '" & Me.txtKey & "', 
[Notes]= '" & Me.txtNotes & "'" _
& " Where [ID]= " & Me.txtID1 & ""

我想保存此代码:

DSum("Field1";"Table";"Field2=  '" & Value & "'")

1 个答案:

答案 0 :(得分:0)

请如下更改您的代码。您需要通过将单引号加倍来对其进行转义。一个简单的替换将为您工作。

CurrentDb.Execute "Update Tbl_Codes Set [LP_ID]= " & Replace(Me.txtID,"'","''") & ", 
[Code_Title]='" & Replace(Me.txtTitle,"'","''") & "'" _
& " ,[Code_Des]= '" & Replace(Me.txtDes,"'","''") & "',[Code_Key]= '" & Replace(Me.txtKey,"'","''") & "', 
[Notes]= '" & Replace(Me.txtNotes,"'","''") & "'" _
& " Where [ID]= " & Me.txtID1 & ""
DSum("Field1";"Table";"Field2=  '" & Replace(Value,"'","''") & "'")