Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当我在文本框中编写代码时,文本框不会';我不能接受_Sql_Vba_Ms Access - Fatal编程技术网

Sql 当我在文本框中编写代码时,文本框不会';我不能接受

Sql 当我在文本框中编写代码时,文本框不会';我不能接受,sql,vba,ms-access,Sql,Vba,Ms Access,我有一个表单中的文本框。我使用此文本框编写“代码”,然后通过SQL insert语句将其保存在数据库的表中,但代码不接受运行,并向我发出错误消息: 运行时错误“3075” 数据库类型:Access数据库 字段数据类型:LongText 当我需要在数据库字段中保存代码时,问题是什么以及如何传递所有相同的问题 当我尝试在没有(')的情况下保存代码时,它正在工作 我使用以下SQL语句: CurrentDb.Execute "Update Tbl_Codes Set [LP_ID]= " & M

我有一个表单中的文本框。我使用此文本框编写“代码”,然后通过SQL insert语句将其保存在数据库的表中,但代码不接受运行,并向我发出错误消息: 运行时错误“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 & "'")

请按如下方式更改您的代码。您需要通过将单引号加倍来避开单引号。一个简单的更换将为您的工作

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,"'","''") & "'")

请按如下方式更改您的代码。您需要通过将单引号加倍来避开单引号。一个简单的更换将为您的工作

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,"'","''") & "'")

连接始终是一个坏主意,如果要打开SQL注入的邀请,请改用参数化查询,它将解决您的问题,还可以避免其他问题。您没有运行INSERT语句,而是显示更新。为什么要引用txtID和txtID1?这些都是用户输入吗?是否要保存域聚合表达式?DSum()中的引号和撇号将导致问题。价值的内容是什么?Value是一个保留字,不应该使用保留字作为任何东西的名称。以这种方式打开记录集对象和设置字段值可能更容易。@TaimurKhan如果您能给我一个参数化查询的示例,请告诉我?连接总是一个坏主意,打开SQL注入邀请,请改用参数化查询,它将解决您的问题,并使您免于其他问题。您没有运行INSERT语句,而是显示更新。为什么要引用txtID和txtID1?这些都是用户输入吗?是否要保存域聚合表达式?DSum()中的引号和撇号将导致问题。价值的内容是什么?Value是一个保留字,不应该使用保留字作为任何东西的名称。以这种方式打开记录集对象和设置字段值可能更容易。@TaimurKhan如果您能给我一个参数化查询的示例,请告诉我?谢谢,但如果我在另一个代码引用中遇到同样的问题,该怎么办?请深入dbs.CreateQueryDef,使用参数动态创建查询。如果上述解决方案解决了您的问题,请。请接受我的回答。你能告诉我怎么做吗?亲爱的,我知道这一点,但我的意思是“请深入dbs.CreateQueryDef以使用参数动态创建查询”。谢谢,但如果我在另一个代码引用中遇到同样的问题,该怎么办?请深入dbs.CreateQueryDef以使用参数动态创建查询。如果上述解决方案解决了您的问题。请接受我的回答。你能告诉我怎么做吗?亲爱的,我知道这一点,但我的意思是“请深入dbs.CreateQueryDef,使用参数动态创建查询。”