• ベストアンサー

ACCESS97:VBAでテーブル作成したい

sghの回答

  • sgh
  • ベストアンサー率61% (75/121)
回答No.2

目的は、書き出すテーブル名を記述できれば良いことなので、以下のSQL文の "RS!部門名"と書かれているところを変化させてあげればいいことになります。 StSQL2 = "SELECT フィールド1, フィールド2 INTO " & RS!部門名 & " FROM テーブル名" >2002年1月の営業部だったら「T_0201営業」みたいなテーブル名称です。 日付型のデータがあるという仮定でまず"0201"を取り出すには Format(日付データ,"yymm") で取得できます。 ですから作成するSQL文は、文字列型変数"StTABLE_NAME"を宣言して StTABLE_NAME = "T_ " & Format(日付データ,"yymm") & RS!部門名 StSQL2 = "SELECT フィールド1, フィールド2 INTO " & StTABLE_NAME & " FROM テーブル名" となります。 尚、必要に応じて、Where句等を入れてください。

関連するQ&A

  • アクセスVBAでテーブル作成クエリを作れる?

    アクセス97です。 テーブル作成クエリで 他のmdbに テーブルを作成してるのですが 他のmdbのフルパスが固定でなく可変です。 テーブル作成クエリの 他のデータベース名を VBAで変更出来るでしょうか? もしくは VBAでテーブル作成クエリを 作成出来るでしょうか?

  • アクセスVBAのSQLについて

    (1)テキストファイルに記述したSQL文のセットをVBAで実行するコマンドはありますか? (2)テーブルを作成する際の、DB指定は 「create table "DB名"."テーブル名"…」としたらよいでしょうか (3)"DB名". を省略できるのはどのような場合ですか? (4)Docmd.RunSQL "" で一度に複数のSQL文を実行できますか? よろしくお願いします。m(_ _)m

  • 既存のAccessのテーブルに空の領域を作成する

    既存のAccess2000のテーブルに空の領域を作成する プログラムを作っているのですが(下記参照)、 「データベースの形式 <ファイル名> を認識できません。(Error 3343)」の エラーが出ます。 【状況説明】 ・パスの内容、パス名、DB名はあっています。 ・編集前のDB前に戻して(テーブル内に空白データが無い状態)、  再実行してもダメでした。 ・参照設定「DAO 3.51 Object Libraly」はチェックしています。  「DAO 3.6 Object Libraly」にチェックすると、  「この名前は既にあるモジュール、プロジェクト、オブジェクト  ライブラリで使われています。」のメッセージが出て、チェック出来ません。 解決方法がありましたら、記入をお願い致します。 【作成プログラム】 'DB関連設定  Dim DBName As String(iniファイルから取得したDB名)  Dim SQL As String (SQL文領域)  Dim DB名  As DAO.Database 'データベース接続 Set DB = OpenDatabase(iniファイルから取得したパス & "\" &               DBName) '領域作成 Do While 数値 > 0 SQL名 = "" SQL名 = SQL名 & "INSERT INTO テーブル (A, B, C) " SQL名 = SQL名 & "VALUES ("", "", ""); " db.Execute (SQL) 数値 = 数値 - 1 Loop db.Close

  • ACCESS2000 INPUTBOX でテーブル名を入れながらテーブル作成

    こんにちは。 ACCESS2000 で、さいきん初心者に毛が生えてきました。 通常 VBA を書くときはマクロでいったん作成してから、都合よく書き直しています。 が、マクロに「テーブル作成」という選択肢がありません。 それでマニュアルを見ながら CREATE TABLE 0310 ( WHS CHAR(30), CODE CHAR(30), NAME CHAR(50), LOC CHAR(30), QTY LONG ); というSQL文を書きました。これで必要なテーブルは得られるのですが、このテーブル名が毎日変わるので(日付です)、VBA のINPUTBOX でテーブル名を入れながら毎日の作業をしたいのです。 ちなみにSQL 文はQUERY として登録し、マクロの「クエリを開く」で実行することだけはできるんですが。 よろしくお願いします。

  • ACCESSのVBAで

    Dim rcd As New ADODB.Recordset Sql = "SELECT * FROM 社員テーブル" rcd.Open Sql, CurrentProject.Connection If rcd.EOF Then Else 社員コード = rcd!社員コード 社員名称 = rcd!社員名称 end if のような記述で、Sqlのところをテーブルからのselectではなくクエリからデータの取得って出来るのでしょうか?(sqlのところがクエリ名になる) よろしくお願いします。

  • phpPgAdminでテーブルが作成できない

    PHPからPostgresSQLのDBのテーブルへの読み込みができません。 前任者が作成したtestテーブルでPHPを作成すると問題ないが、 私が作成したtest2テーブルに変更すると、以下のメッセージが出ます。 ******エラーメッセージ********************* Warning: pg_query(): Query failed: ERROR: permission denied for relation test2 ******************************************* phpPgAdminでtest2テーブルを作成しましたが、作成の仕方が問題なのでしょうか。 test2テーブルはtestテーブルとわかる範囲で同じ設定にしてあります。 ぼんやりとした質問になってしまって恐縮ですが、 ご教授ください。宜しくお願い致します。 ****************************************** 作成したPHPの一部 ******************************************* $sql = "SELECT * FROM test;"; ↑これだと問題なく表示される $sql = "SELECT * FROM test2;"; ↑こちらだとエラーになる *******************************************

    • ベストアンサー
    • PHP
  • Accessのパラメータクエリを他のクエリから呼ぶ

    VBAで日付を指定してSelectするクエリなのですが、同じ処理をたくさんつくるのが嫌なので、 パラメータクエリにしたいのですが、、、 例えば、 日別売上クエリ: Parameters pDate datetime; を持つ        (VBAから直接呼ぶのはこれだけ) このクエリは、以下の2つのJoinからなる  日別レジ別売上クエリ: 下位クエリで、Parameters pDate datetime; を持つ (客数を得るクエリ) 日別部門別売上クエリ: 下位クエリで、Parameters pDate datetime; を持つ (金額を得るクエリ) 共に、Where を日付=pDateとしてます。 そうしておいて、VBAから set rs1=DB1.Openrecordset(”Select  、、、、From  日別売上クエリ(#” & strDate  & ”#) ”) とやったのですが、ダメでした。 パラメータクエリを他のクエリから呼ぶ構文をお教え下さい。 尚、「パラメータクエリをクエリから呼」や「パラメータクエリをSQLから呼」でGoogleったのですが、 見つかりませんでした。

  • access vbaにてテンポラリーテーブルが作りたいです。

    教えてください。 フォームで年月日を入力させ ボタンを押すとテンポラリーのテーブルが出来る(そのあとでその一時テーブルを使ってselect等がしたい)ような仕組みを作りたいと思っています。 ##テーブル名 でいけるかとおもったのですが、 ##テーブル名という実際のテーブルができてしまいました。 記述は下記の通りです。 mySQL = "SELECT テーブルA.* INTO [##table] from テーブルA where 年月 = " & n1 & " " です。 ##テーブル部分を一時テーブルにしたいのですが・・・ どうしたらよいでしょうか? どうぞよろしくお願いします。

  • ACCESS2000 クエリをテーブル化するマクロ(VBA)おしえてください

    こんにちは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1801262 の質問者です。コレの続きを教えてください。 まとめますと、クロス集計クエリや、ユニオンクエリをそのまま扱うと、データや計算式がからまってエラーになったり、処理が遅かったりするので、テーブル化してからいじりたいのです。 マクロは データベース変換 変換の種類…インポート データベースの種類…MS ACCESS データベース名…L:\パス\パス\ファイル名.MDB オブジェクトの種類…クエリ オブジェクト名…クエリ名 変換先名…テーブル名 テーブル構造のみ変換…いいえ としてみましたが、クエリとしてインポートされてしまいます。 いちどCSVか何かでエクスポートしてから、テキスト変換するという手もありますが、もっとスマートな方法がありましたら教えてください。 VBA も勉強中なので、VBAでお答えいただいてもけっこうです。 よろしくお願いします。

  • バラメータクエリVBAで実行

    アクセス初心者です。 バラメータクエリの変数をVBAで渡すにはどうしたらよいでしょうか? 例えば、テーブル1に、NOフィールド(1から100程度の整数)と、価格フィールドがあります。 以下のパラメータクエリをアクセスVBAで実行したいのですが、どう書けばよいでしょうか?(抽出条件 NO=IのIをVBAで定義して結果テーブルに保存) '--------------------------------------------------------------- 'VBAで実行したいパラメータクエリ 'SELECT テーブル1.[NO], テーブル1.価格 INTO 結果テーブル 'FROM テーブル1 'WHERE (((テーブル1.[NO])=[I])); '--------------------------------------------------------------- Dim I As Integer I=3 Dim mySQL As String mySQL = "SELECT テーブル1.[NO], テーブル1.価格 INTO 結果テーブル FROM テーブル1 WHERE (((テーブル1.[NO])=[I]));" この後を教えて下さい。