答好了另开2贴,送够300为止!问题:在一个TDBGrid里,插入数据的时候,能否自动的在某个字段上填写对应的上一条记录中同样字段的值作为默认值?

解决方案 »

  1.   

    你的數據表是否有主鍵?如果沒有就比較簡單,有的話,就不複製主鍵數據.Dim cn as ADODB.Connection
    Dim rs as ADODB.Recordset
    Dim rsTemp as adodb.recordsetPrivate sub Form_Load()
        set cn=new adodb.connection
        cn.cursorlocation
        cn.open ConnectionString
        
        set rs = new adodb.recordset
        rs.open "Select TestID,TestName,Data1,Data2,Data3,Data4,Data5 From TEST Order By TestID",cn,adOpenDynamic, adLockBatchOptimistic
        set rstemp = new adodb.recordset
        set rstemp = rs.clone
        set datagrid1.datasource = rstemp
    End Subprivate sub AddData_Click()
        rstemp.AbsolutePosition = rs.AbsolutePosition    with rs
           .addnew
           .fields(0) = rstemp(0)    '如果 TestID 為主鍵,這一行就不需要.
           .fields(1) = rstemp(1)
           .fields(2) = rstemp(2)
           .fields(3) = rstemp(3)
           .fields(4) = rstemp(4)
           .fields(5) = rstemp(5)
           .fields(6) = rstemp(6)
           .fields(7) = rstemp(7)
       end with
       set rstemp = rs.clone
       datagrid1.refresh
    end sub
      

  2.   

    楼主看来对TDBGRID的了解甚深。故想在此请教一问题。
    我在使用TDBGRID时,当用鼠标改变列宽度,鼠标指针变为十字花时,有时会出现死机。有时则没问题。请问您是否遇到过,您是怎样解决的?
      

  3.   

    试试在RowColChange事件中写入:
    dim DateColumn  全局变量,用来存放某字段的内容if tdbgrid1.row=0 then 
       DateColumn=tdbgrid1.columns(某).text
       exit sub
    end iftdbgrid1.columns(某).text=DateColumn