我有一个名为"BreedingTable"
的第一张表,其主键为"ID"
和"TransactionStatus" = "Active"
。
我有从组合框填充到“文本”字段的“竞争表单”数据
Text2.value = "ID"
中的BreedingTable
。
当我完成所有过程后,我想更改繁殖表的TransactionStatus
= Closed
。
我正在使用以下代码,但是它永远无法正常工作。
注意”,如果我提供确切的交易ID号,则可以正常运行,
但是如果我要求根据text2
进行查找,则无法正常工作。
我的代码如下:
Private Sub exitprograme3()
Me.Text2.SetFocus
Dim i As Integer
Dim db As Database
Dim rs As Recordset
Dim Trn As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("BreedingTable")
For i = 0 To rs.RecordCount - 1
Me.Text2.SetFocus
If rs.Fields("ID") = Me.Text2.Value Then
rs.Edit
rs.Fields("BreedingStatus") = "Closed"
rs.Update
End If
rs.MoveNext
Next i
rs.Close
Set rs = Nothing
db.Close
DoCmd.Close
End Sub
请协助...
如果我在下面的if语句中输入确切的交易ID编号
If rs.Fields("ID") = "323" Then
这很好用。
但是,如果我在下面键入内容,则无法正常运行
If rs.Fields("ID") = Me.Text2.Value Then
答案 0 :(得分:0)
不需要循环:
Private Sub exitprograme3()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select * From BreedingTable")
rs.FindFirst "[ID] = " & Me!Text2.Value & ""
' If ID is text, then quotes:
' rs.FindFirst "[ID] = '" & Me!Text2.Value & "'"
If Not rs.NoMatch Then
rs.Edit
rs.Fields("BreedingStatus").Value = "Closed"
rs.Update
End If
rs.Close
Set rs = Nothing
Set db = Nothing
DoCmd.Close
End Sub