0

データシートビューのサブフォームに表示される検索クエリがあります。

このサブフォームからレコードを選択するときは、フォームの他の部分にあるレコードのデータにアクセスするために、ユーザーにボタンをクリックしてもらう必要があります(追跡目的で)。現在、クエリが実行されると(送信ボタンを介して)、アクセスレコードボタンはenabled=trueに設定されます。

これに伴う問題は、検索で結果が得られない場合でも、[レコードへのアクセス]ボタンはクリック可能であり、存在しないレコードにアクセスしようとすることです。「実行時エラー2427:値のない式を入力しました」

クエリが結果を返さない場合、またはレコードが選択されていない場合に、そのボタンを無効にする方法はありますか?

編集:この時点でのボタンのコード。

Private Sub cmdSubmit_Click()
Me!SearchResults.Form.RecordSource = "qryPendingCriteriaCIP"
Me!SearchResults.Form.Requery
Me!SearchResults.Form.Visible = True


If Forms!frm_SearchMulti!SearchResults.Form.RecordCount > 0 Then

Me.cmdExport.Enabled = True
Me.SearchResults.Enabled = True


Me.cmdPass.Enabled = True
Else
Exit Sub
End If

End Sub
4

1 に答える 1

1

メインフォームのボタンはありますか?サブフォームにレコードがあることを確認したいですか?

If Me.MySubformControlName.Form.Recordset.RecordCount>0 Then

または、行を確認するには:

If Me.MySubformControlName.txtID ...

または、クエリを確認するには:

If DCount("*","qryPendingCriteriaCIP")=0 Then
    MsgBox "No results"
Else
    Me.SearchResults.Form.RecordSource = "qryPendingCriteriaCIP"
End If
于 2013-02-07T14:20:04.183 に答える