1

私は、日付を受け入れるフォームのテキストボックスを持っています。 テーブルのフィールドの計算式でその日付を使用する必要があります。 最初は、この式を計算式で使用しようとしました。MS Access - テーブルの計算フィールドのフォームからの値を使用

[Forms]![Input data form]![Text38] 

しかし、「この式は別のテーブルを参照するため使用できません」ということを示しています。

テキストボックスの値にアクセスするにはどうすればよいですか?

+0

計算されたエフェクトは、表自体またはフォームのレコードソースにありますか? – SandPiper

+0

そのエラーは見たことがありません。フォームのテキストボックスへの照会での参照は、私のために働く。テキストボックスがバインドされ、値がテーブルに保存されていますか?あなたの質問を編集して解析用の完全なSQL文を投稿してください。 – June7

+0

@SandPiper計算された式がテーブルにあります。 –

答えて

1

私はあなたの質問を理解すると思います。テーブルがあり、フォーム内の値を参照する計算フィールドを使用したいとします。

このようにすることはできません。フォームデータがフォームが実行されているときにのみ存在するため、エラーが発生している理由があります。フォームのレコードソースクエリでその式を使用した場合は、OKになります。

データを使って何をしようとしているかによって、いくつかの選択肢があります。テーブルの計算フィールドが本当に必要な場合は、フォームを使用してテーブルの別のフィールドへの更新を行うことができます。静的なデータであり、計算されたコントロールが機能します。

別のオプションは、ユーザー入力値を格納するために別の表を使用し、次にVIEW(アクセス用語でQUERY)を使用してデータを結合し、結果を計算することです。なぜそれをやっているかによって、これは典型的にあなたが行きたい方法です。

これがあなたの質問に答えることができず、より具体的なものがあれば、私は答えをもっと調整しようとします。

+0

あなたからの私の質問の理解は正しいです。静的データをより詳細に作成する第1の選択肢について説明できますか? –

+0

今、あなたはColumnAを持っていると言ってください。 ColumnBも同様に作成します。計算されたフィールドは、ColumnC = ColumnA + ColumnB(または式が何であれ)です。フォームを使用して、ユーザーに有効なデータを入力させ、ボタンを使用して次のSQLステートメントを実行させる: 'UPDATE TableName SET ColumnB = [Text38] .Value WHERE 1 = 1;'これは現在のレコードをすべて設定する 'ColumnBあなたのユーザー入力に。 ColumnCは自動的に計算されます。 – SandPiper

+0

しかし、列Bのすべてのレコードを値に設定します...それはうまく見えません。しかし、その大丈夫です。ありがとう。 –

関連する問題