无法通过表单访问 2007 传递文本值来编辑记录



我有一个名为"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

请协助...

如果我在下面的语句中输入确切的交易 ID 号,它有效

If rs.Fields("ID") = "323" Then

这工作正常。

但是如果我像下面这样输入,它不起作用

If rs.Fields("ID") = Me.Text2.Value Then

不需要循环:

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

最新更新