プロが教える店舗&オフィスのセキュリティ対策術

IDを自動で作成したいのです。IDは「日付データ-固有番」とします。
1 日付データは3/1ですから40599ではじまり翌年の3/31の40999までとします。
2 固有番は001~040までです。
作成される形は「40599-001」で「40999-040」が最終データとなります。
400×40の16000のデータが必要です。
2つの連続データの組合せを作成する簡単なテーブル作成方法を教えてください。

A 回答 (2件)

これ位だったら手作業でも・・デカルト積のばあいです。


Excel のオートフィルか何かで、A列に40599~40999の数字をずらっと
別シートに1~40をずらっと。
これをAccessにインポート。
それぞれのテーブル名を、T1とT2とします。
またフィールド名は、両方ともF1にしといてください。
クエリのデザインビューにT1とT2をドロップ。
連結はしません。
フィールド欄に、
日付データ-固有番:T1.F1 & "-" & format(T2.F1,"000")
と入力。
で右クリックでクエリの種類をテーブル作成クエリに変更
作成するテーブル名を入力して、OK でクエリを閉じます。
このクエリを起動すれば先ほど設定したテーブルが出来上がります。
    • good
    • 0
この回答へのお礼

nicotinismさん ありがとうございました。

結合をしなければm×nのレコードが作成されるのですね。
日付のテーブルをつくって保存し、ID用のテーブルをつくって保存しました。
それらのテーブルを「*」でフィールドに加えました。
希望の通り16000のデータが作成できました。
保存後、同じクエリで、2つのデータを「&"-"&」で結合し、テーブル作成としました。
おかげでとても楽にできました。
ありがとうございました。

お礼日時:2011/01/31 09:35

新たに付番用テーブル、40レコード分を用意します。



日付
20110301
20110302
20110303

付番
001
002
003
・・
039
040

日付テーブルを元に選択クエリを作成、
この付番テーブルもテーブル追加、
このときに、結合させないこと。

こうすることで、
「日付テーブルのレコード数 × 付番テーブルのレコード数」
分の結果を出すことができます。

SELECT 日付テーブル.日付, 付番.付番, [日付] & "-" & [付番] AS 式1
FROM 日付テーブル, 付番
ORDER BY 日付テーブル.日付, 付番.付番;

出力側で、
式1: [日付] & "-" & [付番]
とすると、
日付付番式1
2011030100120110301-001
2011030100220110301-002
2011030100320110301-003
2011030200120110302-001
2011030200220110302-002
2011030200320110302-003
2011030300120110303-001
・・・
こんな感じのレコードが出せます。

ここで気をつけるのが、結合していないことで、
m×nのレコードを生成していますから、
もとのテーブル件数が不明なときは、結果が何件になるか見えないことです。

結果を一旦テーブルに保持しておくのもいいかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。結合をしなければm×nのレコードが作成されるのですね。
日付のテーブルをつくって保存し、ID用のテーブルをつくって保存しました。
それらのテーブルを「*」でフィールドに加えました。
希望の通り16000のデータが作成できました。
保存後、同じクエリで、2つのデータを「&"-"&」で結合し、テーブル作成としました。
おかげでとても楽にできました。
ありがとうございました。

お礼日時:2011/01/31 09:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!