OLE类型是可以的!但是不能在Access里面输入,要在程序里面输入的!

解决方案 »

  1.   

    access数据库类型有没有variant类型亚!! 
    可能是数据类型不匹配
      

  2.   

    这样不行吗?
    Table1.Edit;
    Table1.FieldByName('字段').AsString:=DBRichEdit1.Text;
    Table1.Post;
      

  3.   

    写错了:
    Table1.FieldByName('字段').AsString:=DBRichEdit1.Text;
      

  4.   

    直接输入,烈焰的做法不成,将RichEdit的内容保存成流然后以流的方式写入,或者直接使用DbRichEdit帮定也是可以的!
      

  5.   

    哦。你说出错了,可以这样不用TDBRichEdit,用TRichEdit试试吧。
    有存盘时
    Table1.FieldByName('字段').AsString:=RichEdit1.Text;
    在Table1数据集AfterScroll时:
    RichEdit1.Text:=Table1.FieldByName('字段').AsString
    具体的自己控制一下吧
      

  6.   

    字段应该选什么类型的呢?是ole对象,还是备注型?我用TDBRichEdit与字段“合同内容”绑定,好果输入没有格式的文本,保存就没问题,一但加上格式,保存就出错,提未说 adotable控件不是编辑状态,也不是插入状态。
      

  7.   

    不用OLE,还是用备注型,这样处理起来方便一些吧
      

  8.   

    用RichEdit吧。我作了简单的一个例子。用了四个按钮(你在程序中可以看出来),一个TRichEdit和一个TADOTable。
    {----------------------begin Demo!------------------------------}
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, ADODB, ComCtrls, ExtCtrls, DBCtrls;type
      TForm1 = class(TForm)
        RichEdit1: TRichEdit;
        ADOTable1: TADOTable;
        btn_Add: TButton;
        btn_Next: TButton;
        btn_Prior: TButton;
        btn_Save: TButton;
        procedure btn_AddClick(Sender: TObject);
        procedure btn_NextClick(Sender: TObject);
        procedure btn_PriorClick(Sender: TObject);
        procedure btn_SaveClick(Sender: TObject);
        procedure ADOTable1BeforeScroll(DataSet: TDataSet);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn_AddClick(Sender: TObject);
    begin
      ADOTable1.Append;
      RichEdit1.Text:='';
    end;//when you add new record into database,the richedit's content
        //need clearprocedure TForm1.btn_NextClick(Sender: TObject);
    begin
      ADOTable1.Next;
    end;procedure TForm1.btn_PriorClick(Sender: TObject);
    begin
      ADOTable1.Prior;
    end;procedure TForm1.btn_SaveClick(Sender: TObject);
    begin
      if ADOTable1.State in [dsEdit,dsInsert] then
      begin
        ADOTable1.FieldByName('RichEdit').AsString:=RichEdit1.Text;
        ADOTable1.Post;
      end;
    end;
    //if dataset's state in dsEdit or dsInsert save contents of
    // RichEdit into database 
      
    procedure TForm1.ADOTable1BeforeScroll(DataSet: TDataSet);
    begin
      RichEdit1.Text:=ADOTable1.FieldByName('RichEdit').AsString;
    end;//when dataset control scrolls ,change content in richedit;end.