2012-05-11 8 views
1

私はVBAとアクセスが初めてです。私は、ユーザーがユーザーの商品ローンの詳細を表示および更新できるようにするための在庫ローンフォームを作成する必要があります。私は、フォームのMy RecordSourceがこのクエリであるクエリのレコードの結果を示す連続フォームを作成しました。Access 2007の連続したフォームで各レコードにチェックボックスを追加する

私は現在、 "返済状況"というブール列を持つ "Loan Details"というテーブルを持っています。この列を使用してチェックボックスにバインドし、チェックボックスをレコードと一緒に配置しました。私は、ユーザーが特定のレコードのチェックボックスを選択できるようにしたいと思って、 "返品ステータスの更新"ボタンをクリックすると、クエリを使用して "返品ステータス"を再度Trueに変更するvbaコードがあります。

しかし、チェックボックスでは選択できません(チェックボックスには「返品ステータス」の値しか表示されないためです)、どうすればいいか分かりません。

これはよくある質問ですが、私はオンラインで検索しようとしましたが、私の問題を解決するものは何も見つかりませんでした。

申し訳ありませんが、私は明確な音をしないでください!

+2

フォームのレコードソースとチェックボックスのコントロールソースを投稿してください。 – Fionnuala

+0

レコードソースは、SELECT * from items、(SELECT [Pdt ID] FROM [ローン詳細] WHERE [ローン詳細]。[EmpID] =フォーム![更新フォーム]![IDText]) [Pdt ID] = items.ID。 itemsテーブルに "Return status"という列があり、そのチェックボックスのコントロールソースを参照しています。 – user1140240

答えて

0

このクエリは更新可能なようには見えません。確認するには、MS Accessウィンドウの下部にあるテキストボックスを変更し、ステータスバーを見てみてください。 「フォームビュー」から「このレコードセットは更新不可能」に変更されます。単純に暗黙的な結合から暗黙の結合に変更するだけで、おそらく役に立ちます。

明示が

SELECT * 
FROM items 
INNER JOIN (
    SELECT [Pdt ID] 
    FROM [Loan Detail] 
    WHERE [Loan Detail].[EmpID] = Forms![Update Form]![IDText]) AS pdtList 
ON pdtList.[Pdt ID] = items.ID 

に参加ところで*あなたが必要なフィールド(列)をリストする必要があり、ほとんど常に悪い考えです。

+0

ありがとう!それは今働きます!ただ明確にするために。 "暗黙的に明示的"と言うとき、テーブルを更新するためにWHERE句を使用するのではなく、INNER JOINとOUTER JOINを使用することを意味します(2つのテーブルがクエリで使用される場合)。私の制限されたSQL文のコマンドには申し訳ありません。 – user1140240

+0

はい、あります。言語には苦痛があります。リンクhttp://en.wikipedia.org/wiki/Join_(SQL) – Fionnuala

関連する問題