你这种数据绑定的方法很死板的,我建议你直接用代码来操作(ADO)
表格:OrderH--订单表头: (OrderNo,OrderDate,ModifyFlag,LogUser,LogType,LogDatetime)  
      OrderD--订单明细:(OrderNo,ItemCode,Qty,UnitPrice,LogUser,LogType,LogDatetime)
      数据库--BOPublic cnnBO As New ADODB.Connection       
Public Rec as new ADODB.Recordsetprivate sub form_load()
dim strSql as string
cnnBO.ConnectionString = "Provider=MSDASQL;DRIVER={sql server}; SERVER=develop-i; DATABASE=adp1SQL;UID=SA; PWD=aaa"
cnnBO.Open
cnnBO.Execute "SET LOCK_TIMEOUT 1"strSql="select OrderH.OrderNo,OrderH.OrderDate,OrderH.ModifyFlag,OrderD.Itemcode,OrderD.Qty,OrderD.UnitPrice from OrderH inner join OrderD on OrderH.OrderNo=OrderD.OrderNo Order by OrderNo"
Rec.open strSql,cnnBO, adOpenKeyset,,adCmdTextCall WriteGrid()end subprivate sub WriteGrid()
dim I,RecNum as IntegerRecNum=Rec.RecordCount-1
for I=0 to RecNum
 msgOrder.AddItem Chr(9) & Rec("OrderNo").Value & Chr(9) & Rec("Itemcode").Value & Chr(9) &Rec("Qty").Value & Chr(9) & Rec("UnitPrice").Value 
 rs.MoveNextnext I
end sub这是将主明细表中的数据写出到msgOrder(MSFLEXGRID控件)中,至于修改和新增需要使用事务,方法都一样,若有其他需要请E-Mail:[email protected]