【问题标题】:Using INSERT INTO with Rich Text将 INSERT INTO 与富文本一起使用
【发布时间】:2019-02-22 20:26:18
【问题描述】:

我有一个带有富文本框的表格和一个带有富文本字段的表格。我正在尝试使用 INSERT INTO 将表单中的文本复制到表格中。除了富文本文件之外,我所有的字段都很好用。我不确定如何格式化 INSERT INTO 字符串。这是我尝试过的。

DIM RT as String
RT = Me.RTBox
StrSQL = "INSERT INTO MyTbl (RTField) VALUES (""" & RT & """);" 'Tried triple quotes
StrSQL = "INSERT INTO MyTbl (RTField) VALUES ('" & RT & "');" 'Tried string quotes

似乎没有任何效果。请有人告诉我应该如何将变量括起来。我还有几个要插入的字段。日期、时间和其他非富文本字段。其他一切正常。

【问题讨论】:

  • 似乎没有任何效果 ...对我们没有帮助。告诉我们您的代码的具体错误或不良结果。
  • 没有错误。它只是插入我的所有字段,除了富文本字段。它只是空的。但是,当我在立即窗口中执行 Debug.Print 时,我正在捕获文本,它只是没有进入表格。
  • RTField的数据类型是什么?长文本还是短文本?

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


【解决方案1】:
RT = Me.RTBox

将整个控件设置为 RT 变量 您只需要控件中的值,请尝试

RT = Me.RTBox.Value

附:考虑使用

Option Explicit

位于模块顶部以确保类型兼容性。使用它会在编译代码时捕获错误。

【讨论】:

    【解决方案2】:

    试试DAO

    Dim rs As DAO.Recordset    
    Dim RT As String
    
    Set rs = CurrentDb.OpenRecordset("Select RTField From MyTbl")
    RT = Me!RTBox.Value
    
    rs.AddNew
        rs!RTField.Value = RT
        ' or simply:
        ' rs!RTField.Value = Me!RTBox.Value
    rs.Update
    rs.Close
    

    【讨论】:

      【解决方案3】:

      这对你有用吗?

      StrSQL = "INSERT INTO MyTbl (RTField) VALUES ('''' & RT & '''');"  -- Quad Ticks for a single tick. (i believe)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多