1

私は標本を追跡するためのフォームに取り組むために採用されました。各標本は被験者に関連付けられています。各標本には、9x9の収納ボックスに特定のスロットもあります。データ入力を簡単にするために、Accessフォームがボックス自体(およびAccessにデータを入力するために使用される紙のフォーム)をミラーリングするのが最善だと思います。9列×9行で、各要素は基本的にテキストで構成されています標本IDのボックス。これは基本的に私がそれをどのように見せたいかです:

代替テキスト

したがって、データ入力担当者は基本的にボックス番号と標本IDを入力し、[レコードの作成]をクリックして、それらのレコードをすべて表示します(ここで他の処理が行われているのを確認できますが、現時点ではそれほど重要ではありません)。ただし、これをコーディングするための最良の方法についてはよくわかりません。今のところ、私が考えることができる最善のプロセスは、次のとおりです。1)ボックスが存在しない場合は、挿入クエリを実行してボックスを作成します。2)存在しない場合は、挿入クエリを実行してサブジェクト(人)を作成します。 、および3)各標本に対して挿入クエリを実行し、その行と列をハードコーディングします(たとえば、box_col ='A'、box_row = '1')。

注:サブジェクトIDと標本IDはどちらもIDフィールドから解析されます。これは間抜けで、私の考えではありませんが、このように設定されています。しかし、私はそれを処理することができます。

これは確かに厄介なことですが、他に何をすべきかわからず、私がグーグルで調べたもののほとんどは、単一のフォームからの複数レコードの作成に関連していません。これを行うためのより良い方法はありますか?単にアイデアを放棄して、より伝統的なバインドされたサブフォームアプローチを採用する必要がありますか?

4

3 に答える 3

2

これはすべてサブフォームで行うことができますが、簡単にするために(クリック数が少なく、ユーザーエクスペリエンスが簡単で、直感的である)、エンドユーザーが入力する必要のあるすべてのものを見ることができるように設計されていると思います。このようにすることには何の問題もありません。データがすべて入力されたら、一度に複数の挿入を行うフォーム上のボタンを押すだけです。INSERT1から開始し、新しいステートメントを発行するたびに9回の反復を含めます。

ステートメントが完成したら、各行の横に小さなチェックマークを付けて、挿入が成功した場合はtrue、そうでない場合はfalseをチェックします。あなたは気の利いた、緑の画像/赤の画像を使用することができます。プロセスが完了したら、すべてのフィールドをクリアして、追加の入力を許可する必要があります。

私はあなたが持っているものに問題は見ていません。

于 2010-09-13T17:36:41.863 に答える
2

冷蔵庫。私はちょうど10分のタイピングを失いました。これが、私がWebベースのフォームを気にしない理由です。公平を期すために、これがStackOverflowで発生したのはこれが初めてです。

入力したのと同じ形式で後でデータを表示する必要が本当にありますか?このフォームの更新を行う必要がなくなったため、通常のサブフォームを表示できる場合は、作業の少なくとも半分になります。

また、私が正しく思い出せば、フォームごとに最大768のライフタイムコントロールがあることに注意してください。9 x 9 x 2は162なので、大丈夫です。ただし、多くの制御を削除して再作成することにした場合は、問題が発生する可能性があります。その制限に達した場合は、フォームを別の名前で保存すると、カウンターがリセットされるはずです。

次の構成を使用して、コントロールを参照し、作業を楽にすることができることに注意してください。

Me.Controls("abc" & Row & column) 

たとえば、タイプコントロールの更新後では、次のように使用できます。

call InsertRecords(3, "B")

sub InsertRecords(row as integer, Column as string)
....
cboTypeValue = Me.Controls("cboTypeID" & Row & Column) 
....
于 2010-09-13T19:42:05.447 に答える
0

これは、ある種のネイティブアクセス制御のみのグリッドとして使用できます。

誰かが、バインドされていないレコードごとに行を含むカスタムのバインドされていないサブフォームを作成する方法の例と、ループしてテーブルに保存するコードを投稿する場合は、すばらしいでしょう。

コントロールはそれほど多くなく、フォーム上のフィールドの数による制限もありません。

于 2010-09-14T05:21:37.407 に答える