何が入ってくるかわからないんだとすれば、パラメータクエリを作成すればいいのではないでしょうか?
それともその都度任意で生産物を指定するのではなく、何かを実行した時に”T_売上”の生産物の全てのテーブルを作成したいという事でしょうか?
後者の場合だと、T_売上から生産物のパターンをクエリで抽出して、VBAでそのパターンの数だけテーブルを作成するクエリを動的に作成するしかないと思います。
他のDBだとSQLのカーソルで1レコードずつ動的に処理をさせられますが、Accessの場合はカーソルが使えない代わりにVBAがあるのでそちらを使うことになると思います。
追記
VBA
1Sub test()
2 Dim dbRes As Recordset
3 Dim strSeisanbutu As String
4 Dim strInstQuery As String
5
6 Set dbRes = CurrentDb.OpenRecordset("select distinct 生産物 from T_売上")
7
8 DoCmd.SetWarnings False
9
10 Do Until dbRes.EOF
11 strSeisanbutu = dbRes.Fields(0).Value
12
13 strInstQuery = "select * " _
14 & "into " & strSeisanbutu & " " _
15 & "from T_売上 " _
16 & "where 生産物=""" & strSeisanbutu & """"
17
18 DoCmd.RunSQL strInstQuery
19
20
21
22 dbRes.MoveNext
23 Loop
24
25 DoCmd.SetWarnings True
26End Sub
とりあえず、こんな感じでしょうか?
実行すれば生産物の種類だけテーブルが作成されます。
ただ、ほぼ無作為のように作られたテーブル群をどうやって管理するんでしょうか?
100種類の生産物があれば、100個のテーブルが作成されることになります。
おまけにテーブルを作成したらテーブルにアクセスするクエリも動的に書かないといけないと思いますが。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。