2017-07-13 8 views
0

プロパティワークのレコードを作成するフォームがあります。単一のプロパティレコードまたは多少処理されるマルチであるかどうかを選択するオプションもあります。テキストボックス番号に基づいていくつかのレコードを追加する

マルチを選択すると、フォームにテキストボックスが表示され、プロット数が入力されます。

私が必要とするのは、指定されたプロット数に等しい数のレコードと、メインレコードが追加されたときに作成されたAutonumber IDとともにそれらのシーケンシャル番号入力を追加する方法です。

フォーム!Raise

レコードは、挿入クエリからボタンを押すと追加されました。 カテゴリ= "マルチ"レコードの場合、いくつかのプロットが入力されています。

、最良の方法は、メインのレコードIDを引っ張ると、プロット番号に基づいてレコードの数を追加し、別のINSERTクエリで 合計を想定したイム

<Main Record ID> <Plot number> 
     1  ¦  1 
     1  ¦  2 
     1  ¦  3 
     1  ¦  4 
     2  ¦  1 
     2  ¦  2 
     2  ¦  3 

メイン

に別のテーブルに作成する必要がありますプロット番号もメインレコードに保存されるので、フォームを参照する代わりに、記録されたプロット番号の合計を参照することがあります。

だから、Idはその後数のレコードを作成正しいレコード(私は、フォームに一致するか、猫とメインのレコードを探して、そこから=マルチIDプロットテーブルIDに見つからないことを処理するために考えることができる2つの方法)

を呼び出す必要があります示されているように、作成された合計レコードまでのプロット番号が入力されます。私はちょうど私が総数に基づいて連続番号で複数のレコードを作ることができないか分かりません。

Iveは少し運があり、どこから始めるべきかわからない人は誰でも手伝ってもらえますか?

答えて

1

につまずく他の人のためのあなたは、あなたがこれまでに挿入するレコードの最大数を知っていると仮定しよう、以下の通りです。少なくともこの最大数までの数字1,2,3 ...のみを含む表を作成します。今

Table Numbers 
Number 
------ 
    1 
    2 
    3 
    and so on until your all times max number 

のは、これが

<Main Record ID> <Plot number> 
     3  ¦  1 
     3  ¦  2 
     3  ¦  3 
     3  ¦  4 
     3  ¦  5 
+0

はあなたと同じ時間を掲示し、次のレコードを挿入= 3

INSERT INTO plots ([Main Record ID], [Plot number]) SELECT 3, Number FROM Numbers WHERE Number <= 5 

メインIDと5つのレコードを挿入してみましょうが、一緒にそこに半分の方法を取得するために管理しましたあなたが提案したのと同じ道は、私が最終的にそれを完了するのを助けてくれました。他の人のために投稿された完全な最終SQL – user681413

0

はちょうど最大越え番号のリストを持つテーブルを使用して、可能な答えを持っている私は、入力されたプロット数から得ることができる次のクエリを使用し

SELECT Newbuilds.ID, Constant_numbers.number 
from 
Newbuilds 
INNER JOIN 
Constant_numbers 
ON Constant_numbers.number <= Newbuilds.plots 
; 

これは、とのIDのリストを作成私はプロットテーブルに挿入することができます連続した番号、それは私が望む結果を得るための最良の方法のように感じることはありませんが動作します。完全なソリューションを望んでいたオリバーの助けを借りて

この

Insert Into Plot_status ([ID], [Plot]) 
Select Newbuilds.ID, Constant_numbers.number 
From Newbuilds, Constant_numbers 
Where Constant_numbers.number <= Newbuilds.Plots 
And Newbuilds.category = "Multi" 
And Not Exists (SELECT Plot_Status.ID 
FROM Plot_Status 
where Plot_status.ID = Newbuilds.ID); 
関連する問題