0

重複の可能性:
MSAccess - クエリからの値をテキスト ボックスに入力

複数のコンボ ボックスとテキスト ボックスが存在する 1 つのフォームがあります。1 つのコンボ ボックス値 (ウェル用) が個別に入力されるため、ウェル コンボ ボックスの値の値に基づいてテキスト ボックスの値を設定する必要があります。問題を部分的に解決するクエリを作成しました。これには、wells コンボ ボックスの値を指定するパラメータが必要です。フォームから部分的にクエリを実行すると、うまく機能し、パラメーターを要求して問題ありません。VBA を利用して、(上記のクエリの) SELECT ステートメントを処理するコードを追加し、フォームで準備ができているウェルのコンボ値からパラメーターを取得するように指示することを考えています。

誰かがこれを手伝ってくれますか。これは私が説明したように機能しますか。

前もって感謝します。

モハメド

上記の質問に加えて、次の解決策を試しました。

   Private Sub Well_ID_Change()
Last_Ref.ControlSource = " SELECT TOP1 New_Ref FROM" & _
" BSW_Transactions WHERE BSW_Transactions.New_Ref Is Not Null AND BSW_Transactions.Well_ID = " & Me.Well_ID.Value & _
" ORDER BY BSW_Transactions.Sample_Date DESC"
End Sub

Last_Ref は、コードに埋め込まれた SELECT ステートメントの結果を入力するテキスト ボックスです。Well_ID は、値が SELECT ステートメントのパラメーターとなるコンボ ボックスです。Well_ID は数値フィールドであり、well_name を表示し、関連付けられた ID 値をテーブルに保存します。変更を保存した後にフォームを実行すると、Last_Ref テキスト ボックスに (#Name?) が表示されました。テキスト ボックス (数値フィールド) がコンボ ボックス Well_ID 内のテキストを検出したと推測したので、基準 Me.Well_ID で上記の構文に「.Value」を追加しました。ただし、問題はまだ存在します。

構文を間違えたかもしれませんが、誰かがこれについて助けてくれますか? これでうまくいきますか?

前もって感謝します。モハメド

4

2 に答える 2

0

あなたはこれを間違った方法でやっています。フォームをテーブルにバインドすると、ウィザードがそれを行い、コンボボックスを追加します。ウィザードから [マイ フォームでレコードを検索] を選択します。これを行うコードまたはマクロが生成されます。これが完了すると、コンボでレコードを選択すると、そのレコードのデータがフォームに入力されます。

于 2012-08-21T17:46:50.817 に答える
0

コンボ ボックスの AfterUpdate イベントでこれを試してください。

Private Sub MyTextBox_AfterUpdate()
   MyTextBox.ControlSource = DLookup("WellsField", "WellsTable", "CriteriaField = '" & [MyComboBox] & "'")
   MyTextBox.Requery
End Sub

これにより、TextBox に Wells テーブルの値を検索するように指示し、コンボ ボックスが更新されるたびに Requery によって値が最新であることを確認します。'DLookup の基準部分に注意してください。これら'は文字列値にのみ必要です。

于 2012-08-21T17:52:09.940 に答える