1

VBAとAccessは初めてです。ユーザーがユーザーのアイテムローンの詳細を表示および更新できるようにする在庫ローンフォームを作成する必要があります。クエリのレコードの結果を表示する連続フォームを作成しました(フォームのMy RecordSourceはこのクエリです)。

現在、「Returnstatus」という名前のブール列を持つ「LoanDetails」という名前のテーブルがあります。この列を使用してチェックボックスをバインドし、レコードと一緒にチェックボックスを配置しました。ユーザーが特定のレコードのチェックボックスを選択できるように作成したかったのですが、[リターンステータスの更新]ボタンをクリックすると、クエリを使用して[リターンステータス]を再びTrueに変更するvbaコードがあります。

ただし、チェックボックスでは選択できず(チェックボックスには「ステータスを返す」値しか表示されないためだと思います)、その方法がよくわかりません。

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

はっきり聞こえない場合は申し訳ありません!

4

1 に答える 1

0

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

明示的な結合

 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

ところで*はほとんどの場合悪い考えです、あなたはあなたが必要とするフィールド(列)をリストするべきです。

于 2012-05-14T08:50:02.847 に答える