Dim strsql As String
strsql = ""
strsql = strsql & " insert into IRRLPhase1_shop" & vbCrLf
strsql = strsql & "(shop)" & vbCrLf
strsql = strsql & "values(N'Trim(replacestr(Me.Text2.text))')" & vbCrLfOn Error GoTo error_return    Cn.BeginTrans
    
    Cn.Execute strsql
    
    Cn.CommitTrans
        
    Exit Sub
    
error_return:    Cn.RollbackTrans
    
    MsgBox Err.Number & " " & Err.Description
    
    Exit Sub

解决方案 »

  1.   

    单步运行到 Cn.Execute strsql这一行出错。
    这个表中只有shop这一个字段,类型为char,长度10。并且库中已经有了一些记录。奇怪的问题。
      

  2.   

    自己找到原因:
    "values(N'Trim(replacestr(Me.Text2.text))')" 
    其中Trim(replacestr(Me.Text2.text))部分为字符串变量,因此不能打""好.
    而其他部分都是字符串常量,因此要打""号,所以要分开,而不同类型的字符串连接用&号或+号因此写为:"value(N'" & Trim(replacestr(Me.Text2.text))" & "')"
      

  3.   

    明显的是输入的TEXT2。TEXT的字符长度超过数据库shop字段的长度