数据环境:ACCESS 2003
各表之间的关系如下:
主表字段 关系 子表字段
--------------------------------------------
销售单号 1 -------------------- n 销售单号
客户编号 产品型号
销售总数 1 -------------------- n 销售数量
--------------------------------------------
销售数据:
销售单号:S001,客户编号:C001,
销售总数:800,其中:产品A:500,产品B:300问:
如何在向主表写入
-------------------------------
销售单号 客户编号 销售总数
-------------------------------
S001 C001 800
-------------------------------的同时,再向子表写入
-------------------------------
销售单号 产品型号 销售数量
-------------------------------
S001 产品A 500
S001 产品B 300
-------------------------------类似下面这样的方法好像要不得,谁能教我更好的方法?感激不尽!Call OpenConn
rs.Open "select 销售单号,客户编号,销售总数 From 主表",cn,3,3
rs.AddNew
rs1.Fields("销售单号") =S001
...
rs.Update
Call CloseConnCall OpenConn
rs.Open "select 销售单号,产品型号,销售数量 From 子表",cn,3,3
rs.AddNew
rs.Fields("销售单号") =S001
rs.Fields("产品型号") =产品A
rs.Fields("销售数量") =500
rs.Update
rs.AddNew
rs.Fields("销售单号") =S001
rs.Fields("产品型号") =产品B
rs.Fields("销售数量") =300
rs.Update
Call CloseConn分就剩30了,请各位见谅!谢谢!
各表之间的关系如下:
主表字段 关系 子表字段
--------------------------------------------
销售单号 1 -------------------- n 销售单号
客户编号 产品型号
销售总数 1 -------------------- n 销售数量
--------------------------------------------
销售数据:
销售单号:S001,客户编号:C001,
销售总数:800,其中:产品A:500,产品B:300问:
如何在向主表写入
-------------------------------
销售单号 客户编号 销售总数
-------------------------------
S001 C001 800
-------------------------------的同时,再向子表写入
-------------------------------
销售单号 产品型号 销售数量
-------------------------------
S001 产品A 500
S001 产品B 300
-------------------------------类似下面这样的方法好像要不得,谁能教我更好的方法?感激不尽!Call OpenConn
rs.Open "select 销售单号,客户编号,销售总数 From 主表",cn,3,3
rs.AddNew
rs1.Fields("销售单号") =S001
...
rs.Update
Call CloseConnCall OpenConn
rs.Open "select 销售单号,产品型号,销售数量 From 子表",cn,3,3
rs.AddNew
rs.Fields("销售单号") =S001
rs.Fields("产品型号") =产品A
rs.Fields("销售数量") =500
rs.Update
rs.AddNew
rs.Fields("销售单号") =S001
rs.Fields("产品型号") =产品B
rs.Fields("销售数量") =300
rs.Update
Call CloseConn分就剩30了,请各位见谅!谢谢!
ADO的事务处理示例如下吧:
Dim cnn As ADODB.Connection
Dim intTrans As Integer
On Error GoTo Err_Check '启动错误处理程序
'连接数据库
Set cnn = New ADODB.Connection
cnn.Open "......"
intTrans = cnn.BeginTrans '开始一个更新事务
'这儿就是数据处理代码
'insert into tb .......
'insert into tb_1...... cnn.CommitTrans '提交事务
intTrans = 0
cnn.Close
Exit_Check:
Set cnn = Nothing
Exit Function
Err_Check:
If intTrans = 1 Then cnn.RollbackTrans '错误回滚
MsgBox Err.Description
Resume Exit_Check