1

これが私のフォームです。

ここに画像の説明を入力

次の手順を実行すると、アクセスが常にクラッシュします。

  1. 2012年を検索してください
  2. 次に、提案番号 12-100 (存在する) を検索します。

何があっても、年を検索してから提案番号を検索すると、またはその逆になります。クラッシュします。クラッシュとは、アクセスが機能しなくなり、再起動する必要があることを意味します。

2番目のフォームを実行する前にフォームを閉じると、両方とも機能します。

私の検索ボタンとクリアボタンのコードは次のとおりです(これが私のフォームのほとんどすべてのコードです)。

 Private Sub btnFind_Click()
    If (Not IsNull(txtResearch) And txtResearch <> "") Then
        Me.Filter = "ProposalNo = '" & txtResearch & "'"
        Me.FilterOn = True
    ElseIf (Not IsNull(txtYear) And txtYear <> "") Then
        Me.Filter = "pyear = " & txtYear
        Me.FilterOn = True
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If

End Sub



Private Sub btnClear_Click()
    txtResearch = ""
    txtYear = ""
    Me.Filter = ""
    Me.FilterOn = False
End Sub

問題は、フィルターの設定方法ですか? よくわからなかったMe.FilterOn

また、圧縮して修復しようとしましたが、うまくいきませんでした

ありがとうございました

4

1 に答える 1

1

どうやら、フィルターとSQL Serverに少し問題があるようですが、私はこの件について十分に理解していません。また、ここでAllen Browneのメモを確認することもできます:http://www.pcreview.co.uk/forums/access-crashes-remove-filter-sub-form-t2772609.html

フィルタを使用するのではなく、whereステートメントを使用してrecordsourceを設定することを検討することをお勧めします。

于 2012-10-26T14:47:11.850 に答える