特定のIDを持つレコードに移動しようとしています。
私はこの投稿で解決策を試しました:ドロップダウンの代わりにテキストボックスでレコードを検索するMSAccess
しかし成功しません
これが私のコードです
Private Sub btnShowPrevious_Click()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[ID]=" & ParentID
If rs.NoMatch Then
MsgBox "Sorry, no such record '" & ParentID & "' was found.", _
vbOKOnly + vbInformation
Else
Me.Recordset.Bookmark = rs.Bookmark
End If
rs.Close
End Sub
常に一致するものはありませんが、parentID = 1であり、ID=1のレコードが1つあります。
誰もが何が悪いのか考えていますか?
ありがとうございました
レコードソースは次のテーブルです。
CREATE TABLE [dbo].[ProposalFollowUp](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProposalID] [int] NOT NULL,
[MillID] [int] NULL,
[ClientID] [int] NULL,
[Comment] [nvarchar](max) NULL,
[Method] [nvarchar](128) NULL,
[Contact] [int] NULL,
[ContactDate] [datetime] NULL,
[Done] [bit] NOT NULL,
[CreatedBy] [nvarchar](50) NULL,
[CreatedDate] [datetime] NULL,
[ModifiedBy] [nvarchar](50) NULL,
[ModifiedDate] [datetime] NULL,
[EAIEmployee] [nvarchar](50) NULL,
[PersonInCharge] [nvarchar](50) NULL,
[ParentID] [int] NULL,
これがフォームのプロパティのスクリーンショットです
最後に、ナビゲーションバーを表示すると、フィルターがあることがわかります。このようにフォームを開いたせいかもしれません
DoCmd.OpenForm "ProposalsFollowUp", , , "[ID] = " & txtID, acFormEdit, acDialog
フィルターを外せば動作します。
これが最終的なコードです
Private Sub btnShowPrevious_Click()
Dim parent As Integer
parent = ParentID
Me.Filter = ""
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[ID]=" & parent
If rs.NoMatch Then
MsgBox "Sorry, no such record '" & parent & "' was found.", _
vbOKOnly + vbInformation
Else
Me.Recordset.Bookmark = rs.Bookmark
End If
rs.Close
End Sub