一、为第二个子窗体的数据源建一个TMP表:TMP_表名.
二、改主窗体的加载事件:把下面的代码【第一个子窗体的数据加载代码】复制粘贴在最后一行后面,记得要把相应的表名和字段名改了。
strSQL = "SELECT * FROM [tblyyfy] WHERE [baID]=" & SQLText(Me![baID])
Set rst = OpenADORecordset(strSQL, , cnn)
Set rstTmp = CurrentDb.OpenRecordset("TMP_tblyyfy")
Do Until rst.EOF
rstTmp.AddNew
rstTmp![baID] = rst![baID]
rstTmp![ddyyID] = rst![ddyyID]
rstTmp![hydd] = rst![hydd]
rstTmp![rysj] = rst![rysj]
rstTmp![cysj] = rst![cysj]
rstTmp![ylzfy] = rst![ylzfy]
rstTmp![zzf] = rst![zzf]
rstTmp![ypf] = rst![ypf]
rstTmp![zfypf] = rst![zfypf]
rstTmp![zlf] = rst![zlf]
rstTmp![jcf] = rst![jcf]
rstTmp![clf] = rst![clf]
rstTmp![qtf] = rst![qtf]
rstTmp.Update
rst.MoveNext
Loop
三、改主窗体的保存代码:把下面的代码【第一个子窗体的数据保存代码】复制粘贴在最后一行后面,记得要把相应的表名和字段名改了。
cnn.Execute "DELETE FROM [tblyyfy] WHERE [baID]=" & SQLText(Me![baID])
strSQL = "SELECT * FROM [tblyyfy] WHERE [baID]=" & SQLText(Me![baID])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
Set rstTmp = CurrentDb.OpenRecordset("TMP_tblyyfy")
Do Until rstTmp.EOF
rst.AddNew
rst![baID] = Me![baID]
rst![ddyyID] = rstTmp![ddyyID]
rst![hydd] = rstTmp![hydd]
rst![rysj] = rstTmp![rysj]
rst![cysj] = rstTmp![cysj]
rst![ylzfy] = rstTmp![ylzfy]
rst![zzf] = rstTmp![zzf]
rst![ypf] = rstTmp![ypf]
rst![zfypf] = rstTmp![zfypf]
rst![zlf] = rstTmp![zlf]
rst![jcf] = rstTmp![jcf]
rst![clf] = rstTmp![clf]
rst![qtf] = rstTmp![qtf]
rst.Update
rstTmp.MoveNext
Loop