前台:是VB6.0,tdbgrid6.0
後台:表頭(va02)與表身(va03)在SQL建立關聯,那麼前台怎樣寫才發揮作用?
以下程式在不建立關聯是沒問題的。但建立關聯後就表身就不能新增數據了。原因是後台表頭沒能寫入數據,為什麼呢?是不是我程式的事務沒寫好,致使表頭沒能寫入數據?
主要問題就是:表頭在事務中的為什麼沒寫到SQL?Private Sub Command_add_Click() ----新增
Adodc_header_general.Recordset.AddNew
Adodc_header_general.Recordset.ActiveConnection.BeginTrans  ---開始事務
Adodc_body_general.Recordset.ActiveConnection.BeginTransIf Adodc_header_general.Recordset.eof = False Then  ---保持表頭表身一致
Adodc_body_general.RecordSource = "select va03.* from va03  with (nolock) where va03.va0301='" & Adodc_header_general.Recordset.Fields("va0201").Value & "'"
Adodc_body_general.Refresh
End IfEnd SubPrivate Sub Command_ok_Click()  ----保存

If Module_sys.to_update(Adodc_header_general.Recordset) = False Then
Adodc_header_general.Recordset.ActiveConnection.RollbackTrans
Adodc_body_general.Recordset.ActiveConnection.RollbackTrans
Exit Sub
End If
Adodc_body_general.Recordset.ActiveConnection.Execute "update va03 set va0301='" & db_text_box_general(0).Text & "'  where va0301='" & rndNumber & "' OR va0301='" & db_text_box_general(0).Text & "' "Adodc_header_general.Recordset.ActiveConnection.CommitTrans
Adodc_body_general.Recordset.ActiveConnection.CommitTransEnd Sub
Public Function to_update(adodb_recordset As ADODB.Recordset) As Boolean   --- 函數
On Error GoTo error_process
adodb_recordset.Update
to_update = True
Exit Function
error_process:
VBA.Interaction.MsgBox "其他用戶正在修改此記錄,您不能修改!" & ":" & Err.Description, vbOKOnly + vbInformation, "系統提示"
'    MsgBox "系統提示" & ":" & Err.Description & "替換不成功,請聯系技術員!"
to_update = False
End Function
謝謝!!!!!!!!!!!!!