在事件1中调用该函数 Function txtqf_insert(ByVal row As Long, ByVal col As Long) On Error Resume Next Dim sql As String Dim strField As String Dim strUpdate As String Dim fy_num As Double Dim j As Integer With MSHqf For i = 1 To 7 For j = 0 To 4 strField = Me.MSHqf.TextMatrix(i, j) strUpdate = strUpdate & strField & Chr(9) Next j If i <> 7 Then strUpdate = strUpdate & Chr(13) & Chr(10) End If Next i sql = "update fy set qfmb ='" & strUpdate & "' where id = " & LV1.SelectedItem.SubItems(1) & "" ExecuteSQL (sql) ,写数据End With
End Function '----------------------------------------------- 在事件2中调用该过程 Private Sub dk() Dim rs1 As New ADODB.Recordset Set Conn1 = New ADODB.Connection Conn1.Provider = "MSDataShape" Conn1.ConnectionString = "Provider=MSDataShape;Data Source=" & str & "; Data Provider=Microsoft.Jet.OLEDB.4.0" Conn1.Open sql = "select * from fy" Set rs1 = Conn1.Execute(sql)‘读数据 end sub '----------------------------------------------- Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset Dim rst As ADODB.Recordset Dim stokens() As String On Error GoTo exectuesql_error stokens = Split(sql) If InStr("INSERT,DELETE,UPDATE", UCase(stokens(0))) Then cnn.Execute sql Else Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient rst.Open Trim(sql), cnn, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst End If exectuesql_exit: Set rst = Nothing Exit Function exectuesql_error: Resume exectuesql_exit End Function
to viena() //可不可以设个全局标志,试图读数据时,先判断标志,在修改完成前不能读操作 你好,能具体点吗?
如果用rs.addnew记得rs.update
Function txtqf_insert(ByVal row As Long, ByVal col As Long)
On Error Resume Next
Dim sql As String
Dim strField As String
Dim strUpdate As String
Dim fy_num As Double
Dim j As Integer
With MSHqf
For i = 1 To 7
For j = 0 To 4
strField = Me.MSHqf.TextMatrix(i, j)
strUpdate = strUpdate & strField & Chr(9)
Next j
If i <> 7 Then
strUpdate = strUpdate & Chr(13) & Chr(10)
End If
Next i
sql = "update fy set qfmb ='" & strUpdate & "' where id = " & LV1.SelectedItem.SubItems(1) & ""
ExecuteSQL (sql) ,写数据End With
End Function
'-----------------------------------------------
在事件2中调用该过程
Private Sub dk()
Dim rs1 As New ADODB.Recordset
Set Conn1 = New ADODB.Connection
Conn1.Provider = "MSDataShape"
Conn1.ConnectionString = "Provider=MSDataShape;Data Source=" & str & "; Data Provider=Microsoft.Jet.OLEDB.4.0"
Conn1.Open
sql = "select * from fy"
Set rs1 = Conn1.Execute(sql)‘读数据
end sub
'-----------------------------------------------
Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset
Dim rst As ADODB.Recordset
Dim stokens() As String
On Error GoTo exectuesql_error
stokens = Split(sql)
If InStr("INSERT,DELETE,UPDATE", UCase(stokens(0))) Then
cnn.Execute sql
Else
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open Trim(sql), cnn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
End If
exectuesql_exit:
Set rst = Nothing
Exit Function
exectuesql_error:
Resume exectuesql_exit
End Function
//可不可以设个全局标志,试图读数据时,先判断标志,在修改完成前不能读操作
你好,能具体点吗?