2016-09-23 2 views
0

私は、技術者以外のユーザーが自分のWebアプリケーションをコーディングせずに、データベースに情報をダンプする最も簡単な方法を考えようとしています。MS AccessのSQL Serverへのリンク - 2番目のテーブルに対する入力を検証しますか?

本質的に、従業員の主観的な電話グレーディングスコアを記録しています。

AccessフォームをMS SQL Serverデータベースにリンクしました。私が欲しい唯一の検証 - SQL Server上のtable.employeeという名前の従業員のリストに対して、「employee」という1つのフィールドを検証する必要があります。

フォームが送信されると、それはtable.scorecardに書き込まれます。

これはAccessで可能ですか?彼らの標準的な検証ルールはこれをカバーしていないようです。また、一般的にこのタスクを達成するための簡単な方法がありますか?ありがとう

答えて

0

この問題を解決するには2つの方法があります。

最も簡単なのは、従業員情報にコンボボックスフィールドを使用することです。コンボボックスのリストデータソースとしてemployeeテーブルを使用し、LimitToListプロパティをtrueに設定します。これは、従業員テーブルとあなたの「得点」テーブルの両方に対してリンクテーブル接続が設定されていることを前提としています。

第2の解決策は、スコア表の従業員ID(またはキー項目が何であれ)とSQL側の従業員表との間に外部キーを作成することです。誰かが無効な従業員を挿入しようとすると、挿入エラーが発生します。残念ながら、SQLエラーはほとんどのAccessユーザーにとって非常に混乱する傾向があります。

非常に徹底したい場合は、両方のソリューションを実装することができます。これにより、リンクされたテーブルに直接移動して不正なデータを入力することを防ぐことができます。

「スコア」表にフルネームではなくemployeeIdが含まれる適切なリレーショナル設計を行っていると仮定していることがわかりました。フォーム上のアイデアは、コンボボックスに名前を表示させ、employeeidフィールドを挿入することです。

関連する問題