想做一个订单的效果如下:
日期:年月日  订单号:123  客户:客户1
---------------
|货物|数量|单位|单价|金额|
------------------------------
|123 |12  |个 |10.00|120.00|
-----------------
|货物2|3  |件 |5    |15.00 |
-----------------
|合计:         135.00|
----------------
功能包括新建,打开已经存在的数据,修改,删除。
vb+ado,
用spread做过,但是不能达到效果。如果spread与数据相连,则做不到随意增减货物;
不相连,即增加完了货物后再一条条地addnew,然后updatebatch,则修改时不能修改已经存在的数据。
应该如何实现呢?

解决方案 »

  1.   

    如果用绑定的话我确实也没有做过.我只用VSFlexgrid做过.那个不连数据源确定可以做.
      

  2.   

    我的保存大概如下:   
     '保存明细表
    '***********************************************************
    '保存记录,spread没有与ado相连接,添加就可以,覆盖就不行。    Adodc1.RecordSource = "SELECT storechild.进库单号, storechild.日期, storechild.品种编号, storechild.品种, storechild.吨数, storechild.单价, storechild.入库金额, storechild.备注" & _
        " From storechild" & _
        " WHERE (((storechild.进库单号)='" & Text1(0) & "'));"
        Adodc1.Refresh    With Adodc1.Recordset
            For i = 1 To fpSpread1.MaxRows - 1
                If .EOF Then
                    .AddNew
                Else                .MoveFirst
                    fpSpread1.GetText 3, i, ddd
                    If ddd <> "" Then
                        .Find "品种编号 = '" & ddd & "'"
                        If .EOF Then
                            .AddNew
                        End If
                    Else
                         GoTo eee
                    End If            End If
                For j = 0 To fpSpread1.MaxCols - 1
                    fpSpread1.GetText j + 1, i, ddd
                    If ddd = "" Then
                        ddd = "0"
                    End If
                    .Fields(j).Value = ddd
                Next
                .Update
            Next
        End With请指教下,有什么问题。