1

私は現在、現在のプロジェクトで何をすべきか途方に暮れています。顧客のデータを取得するフォームを作成しています。顧客が複数のレコードを持っている可能性があるため、正確な顧客に絞り込むのに役立つ 3 つの異なるフィールドがあります。主キーとなる ID フィールド、それらにのみ関連する SSN、およびそれらにのみ関連するアカウント番号があります。開始時にフォームにデータが入力されないようにする方法があり、これら 3 つのいずれかをテキスト ボックスに入力して、そのレコードを検索して入力するクエリにリンクさせる方法があるかどうか興味があります。フォームにデータを入力するか、パラメーター ボックスをプルアップさせます (実行できますが、データをフォーム ビューに入力することはできません) コマンド ボタンを使用してもうまくいきません。それらへ、

ID 番号を手動でフィルター処理してレコードを検索することもできますが、今後のユーザーにとって使いやすいものにしたいと考えています。

また、フォームには現在 95 フィールドのデータが格納されていますが、フォームに非常に快適に収まります。

アクセス 2010

4

1 に答える 1

0

確かに、フォームにデータが入力されていない可能性があります。3 つのテキストボックスと「go」ボタンを作成します。

go ボタンのコードは次のようになります。

If Not IsNull(Me.txtID) Then
    sWhere = sWhere & " Or ID=" & Me.txtID
End If

If Not IsNull(Me.txtSSN) Then
    ''If SSN is text, you need quotes
    sWhere = sWhere & " Or SSN='" & Me.txtSSN & "'"
End If

If Not IsNull(Me.txtAccountNo) Then
    sWhere = sWhere & " Or AccountNo=" & Me.txtAccountNo
End If

sWhere = "WHERE 1=1 " & sWhere

sSQL = "SELECT Each, Field, Name FROM TableName " & sWhere

Me.RecordSource = sSQL

上記は型付けされており、テストされておらず、1 つのアプローチにすぎません。ウィザードで構築されたコンボボックスを使用して、フォームで顧客を選択することもできます。以前のフォームに顧客を入力し、そこからフォームを開くこともできます。入力内容に基づいてフォームをフィルタリングすることもできます。の上。

私の知る限り、SSNの保存にはルールがあるので注意が必要です。

于 2012-11-16T12:00:23.363 に答える