
教えてください。
フォームで年月日を入力させ
ボタンを押すとテンポラリーのテーブルが出来る(そのあとでその一時テーブルを使ってselect等がしたい)ような仕組みを作りたいと思っています。
##テーブル名 でいけるかとおもったのですが、
##テーブル名という実際のテーブルができてしまいました。
記述は下記の通りです。
mySQL = "SELECT テーブルA.* INTO [##table] from テーブルA where 年月 = " & n1 & " "
です。 ##テーブル部分を一時テーブルにしたいのですが・・・
どうしたらよいでしょうか?
どうぞよろしくお願いします。
No.2ベストアンサー
- 回答日時:
データベースウィンドウのテーブルの一覧に出さない
(TableDefsコレクションに追加しない)一時テーブルは、
DAOのCreateTableDefで、Name引数を省略することで
作成できるといった話を見たことがあるような・・・
(私自身はこの方法を使ったことはありませんので、
誤解の可能性もあります(汗))
私の場合は、ご質問の件そのままに一旦「##Table」を
実際に作ってしまって、一連の操作が終わったところで
DeleteObjectメソッドを使用して「##Table」を削除、
という対処をしています。
(もっとも、最近は、ワークテーブルのようなものも
テーブルとしてそのまま保存しておいて、必要時に
レコード追加、不要化したらレコード全削除、として
組むようにしていますが:
私の場合は、以前はクエリのデザインビューで対処する
ことが多かったのですが、この場合、削除済みの一時
テーブルを参照したクエリをデザインビューで開くと、
クエリ自体が壊れる(上書き保存しなければ、一時
テーブル再生時には問題なく動きますが)ということが
あったため。
・・・さらに最近はSQL文で対処することが多くなった
ので、どちらでもよくはなっているのですが)
※ディスクへの書き込み発生による動作遅延に関しては
目を瞑っておりますので、その点を問題視しての
ご質問でしたら趣旨が合いませんがご容赦願います。
おぉ!そうでした。そうですね!
一度作って最後に消す処理を入れれば
テーブルが増えることもないですし、
それでいきたいと思います。
#db作成者と管理者が別で、管理者がシステム知識のないものなので、
テーブルが増えたりクエリが増えたりせずとにかくボタン一つで
完了するようなものが作りたかったのです。
非常に助かりました。ありがとうございました。
No.1
- 回答日時:
普通、そういう事をしたいなら、クエリを使います。
データベースのクエリのタブで
SELECT * FROM 元のテーブル WHERE 年月=Mid([Forms]![フォーム名]![日付入力テキスト],1,6)
と言うクエリを作ります。
このクエリを参照元にして
mySQL="SELECT * FROM クエリ名 WHERE 商品分類=" & n2 & " ORDER BY 商品コード"
などとやれば、一時テーブルなど要りません。
簡単に言えば「クエリを作れば、それが一時テーブルになる」のです。
この回答への補足
ありがとうございます。
なるほどです。
ですが、一時テーブルがないと、今度はその後で
活用することが出来ないのかと思ったのですが・・。
つまり、コードビルダのコード内で、まずテンポラリーテーブルを作り、そのテーブルをinにしてopenquery等で様々な加工データに仕分けしたかったのです。
素人の考えなので、やはり発想の転換をしないと無理なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
5
ACCESSでコントロールソースの変更
Access(アクセス)
-
6
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
7
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
8
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
9
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
13
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
14
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
15
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
16
アクセスVBAのMe!と[ ]
Access(アクセス)
-
17
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
18
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
19
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
20
アクセスVBA フォームのスクロールバーを動かす。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Acccessで2つのテーブルから1...
-
Accessのリレーションシップウ...
-
2つのテーブルに共通するレコ...
-
エクセルVBA 取得したアクティ...
-
クエリで同一テーブルの複数回...
-
Access2007を同時に複数名で使...
-
テーブルに表示されているもの...
-
Accessのレポートで使う関数を...
-
Accessでリストの並び順を変更...
-
ユニオンクエリをデザインビュ...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
アクセス 項目毎にデータを横...
-
Accessのテーブルのフィールド...
-
PCゲームから音声ファイルを抽...
-
元データから連続5日以上だった...
-
エクセルで書式設定ではなく、...
-
VBA 別シートの同じ日付の欄に...
-
アクセスに自動入力を入れたい
-
SQL文で パラメータが少なすぎ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
テーブルに表示されているもの...
-
ACCESSユニオンクエリから新テ...
-
最新日のデータのみ抽出するク...
-
access vbaにてテンポラリーテ...
-
Accessのリンクされたテーブル...
-
Acccessで2つのテーブルから1...
-
アクセス2016 チェックボックス...
-
Accessのテーブルで、リンク?...
-
ACCESSでテーブルをコピーしよ...
-
ACCESS テーブルを見比...
-
ACCESSのODBCリンクテーブルの...
-
ACCESS テーブルを見比...
-
Accessでリストの並び順を変更...
-
クエリで同一テーブルの複数回...
-
accessのテーブルを閉じたとき...
-
access2000・・テーブルをデー...
-
Accessで使用しているリンクテ...
-
AccessでのリンクテーブルとADO...
-
外部MDBのリンクテーブルの...
おすすめ情報