- 締切済み
レコードセットの値を一気にDBに
access2007で開発しています。 レコードセットのデータをDBのテーブルに一気にいれる方法はないのでしょうか? 調べたところレコードセットをMOVENEXTで一件ずつ読込み、インサート文をなげている例はあったのですが、一気にいれる方法は見当たりませんでした。 さらにいうと元々はSQLで insert into テーブル1(・・・) select ・・・from テーブル2 としたかったのですが、executeすると´3065´選択クエリを実行できません´のエラーとなってしまいました。 すいませんが、ご教唆ねがいます。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- NotFound404
- ベストアンサー率70% (288/408)
- NotFound404
- ベストアンサー率70% (288/408)
関連するQ&A
- MySQLのDateTimeにPHPで値セットは?
初歩的な質問ですみません。 MySQLにとあるテーブルがあって、 その中に 更新日時 という DATETIME 型のフィールドがあるのですが、 insert でレコードを追加する際にそこに現在日時をセットしようとして、 恥ずかしながらその方法がわかりません。 $sql = sprintf('INSERT INTO %s SET %s="%s", %s="%s"', 'tmp', 'mailAddr', e($mailAddr), 'update', date('Y/m/d H:i:s')); mysql_query($sql); とか、 $sql = sprintf('INSERT INTO %s SET %s="%s", %s=cast(now() as datetime)', 'tmp', 'mailAddr', e($mailAddr), 'update'); mysql_query($sql); とか、いろいろ調べて試してみたんですけど...。 上記のように、insert into xxx set~ を使う場合を知りたいです。 すみません。 よろしくお願いします。
- ベストアンサー
- PHP
- ACCESS テーブルのレコードを全て移動
ACCESS VBA を使って処理を行っております。 原因が分からず困っております。 結果テーブル フィールド名 monoID,monona,inkosuu,outkosuu,nowkosuu 取込テーブル フィールド名 物ID,物名,現在個数 今までフォームに表示させて一件づつ手入力にて処理しておりましたが、複数人で作業できるように修正している所です。 ○各々がExcelに収集したデータをCSVにて「取込テーブル」にインポート ↓ ○「取込テーブル」のレコードを集約しデータ整合(ここまでは出来ています) ↓ ○「取込テーブル」の全レコードを「結果テーブル」にインポート DIM SQL001 AS String SQL001 = "INSERT INTO 結果テーブル (monoID,monona,nowkosuu) SELECT (取込テーブル.物ID,取込テーブル.物名,取込テーブル.現在個数) FROM 取込テーブル CurrentDb.Execute SQL001 これで動作させるとエラーになります。 ただ、実験で SQL001 = "INSERT INTO 結果テーブル (monoID) SELECT (取込テーブル.物ID) FROM 取込テーブル の様に一つのフィールドだけにすると全てのレコードをインポートすることが出来ます。 何か凡ミスの様な気もするのですが、取込テーブルをレコードセットとし1件ずつインポートする方法しか無いのでしょうか?
- ベストアンサー
- その他(データベース)
- PHPからMySQL・異なるDBにコピー
PHPからMySQL・異なるDBに接続し同じ構造のテーブルのデータをコピーすることは可能ですか? 以下を実行するとクエリが実行されず「コピーできません」が表示されてしまいます。 どのようにすればコピーできるか教えてください。 $connect1 = mysql_connect("localhost", "user1", "pass1") ; mysql_select_db("db1", $connect1); //db1内にtable1 $connect2 = mysql_connect("localhost", "user2", "pass2") ; mysql_select_db("db2", $connect2); //db2.内にtable2 $sql = "INSERT INTO `db1` . `table1` SELECT * FROM `db2` .`table2`;"; $result = mysql_query($sql, $connect1)or die("コピーできません"); //$result内「$connect1」でも「$connect2」結果は同じです。 //table1とtable2の構造は同じです。
- ベストアンサー
- PHP
- レコードセットについて
ACCESSを勉強中のものです。 レコードセットの意味がよくわからないのですが テーブルやクエリの事を「レコードセット」と言うのでしょうか?
- ベストアンサー
- その他(データベース)
- 一気に複数のレコードをinsertする方法について
SQLのinsert文で一気に複数のレコードを挿入する方法ってありますか? SQL*LoaderとPL/SQL以外でお願いします。
- 締切済み
- Oracle
- レコードセットに新規追加する
Access2013 VBAで ■テーブルa ・id ・名前 ・id2 とあり このテーブルのレコードセットを以下のように作ります。 dim Rec = dao.Recordset Set Db = CurrentDB set Rec = Db.OpenRecordset("Select * from [テーブルa] where id2 = " & 2, dbOpenDynaset) この時、このテーブルにid2=2のレコードが何もない場合、この生成したRecで、 Rec.AddNew Rec.Fields("名前").value = "名前" Rec.Update と出来ますでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- Access クエリでレコードセット作成
Access2010でVBAを勉強しています。クエリオブジェクトからレコードセットを作れるかお教えください。 クエリのデザイン作成で3つのテーブルからデータを抽出するクエリを作りました。 このクエリオブジェクトからレコードセットを作りたいと思っていますが、作り方がわかりません。 よってクエリオブジェクトのSQLビューでSQLを確認し、VBAの中で下記のようにSQLを作ってレコードセットを作っています。 これだと効率が悪いので、クエリオブジェクトから直接レコードセットがつくれないかと思っています。 方法がありましたらお教え下さい。よろしくお願いします。 strSQL = "SELECT master.[サイズ], master.単価," strSQL = strSQL & "Nz([入庫数量の合計])-Nz([出庫数量の合計]) AS 在庫数" strSQL = strSQL & " FROM (master LEFT JOIN Q_出庫 ON master.[サイズ] = Q_出庫.[サイズ])" strSQL = strSQL & " LEFT JOIN Q_入庫 ON master.[サイズ] = Q_入庫.[サイズ]" objADORS.Open "T_出庫", objADOCON, adOpenDynamic, adLockOptimistic
- ベストアンサー
- Access(アクセス)
- php db 文字化け
文字コードEUC-JPで開発しています。 題名の通り文字化けします。 どうやらDBからselectやinsertしたときに文字化けをするようです。 selectですと文字化た値が取れますし、 insertでは文字化けするためinsertできずエラーとなります。 sql直前で mysql_query("set names EUC-JP"); も行っています。 テーブルの文字コードはオプションで eucjpms -- UJIS for Windows Japanese としています。 個別に該当カラムもそうしています。 何がまずいでしょうか?
- 締切済み
- PHP
- DBでAUTO_INCREMENTのフィールドの最新の数値を知るには
PHP+MySQLで開発しています。 自らがDBテーブルに書き込んだレコードの、AUTO_INCREMENT指定してある項目に設定された数値を取得したいのですが、どのようにすればいいのでしょうか。 DB指定 CREATE TABLE test( no INT NOT NULL AUTO_INCREMENT, comment TEXT, PRIMARY KEY(no) ); PHP書き込み $sql = "INSERT INTO test(comment)VALUES('いろは')"; $results = mysql_query($sql,$dbid); このとき、テーブルtestのフィールドnoに設定された数値を知るために、 今はわざわざSQL select MAX(no) from test を発行しています。 これですと、確実性に欠けますし、冗長な気がします。 他に何か効率的な方法があるような気がしますので、 質問いたしました。 よろしくお願い申し上げます。
- ベストアンサー
- PHP
- Yes/Noフラグの値をコピーできない
すいません。ACCESS2003 VBAで下記の問題で困っています。 新たに作成したmdbファイル(テーブルの中身は空)に既存のmdbファイルのテーブル内容をコピーしたいのですが、Yes/Noフラグ型だけ移行できません。一応サンプルのソースです↓ Dim db As DAO.Database Dim RS As DAO.Recordset Dim strsql As String コピー元のmdbファイルをオープン Set db = OpenDatabase("コピー元mdb") 'SQLの生成 strsql = "" strsql = strsql & " SELECT * FROM テーブル名" 'レコードセット生成 Set RS = db.OpenRecordset(strsql, dbOpenSnapshot, dbReadOnly) 'コピー元テーブルにデータがあるか判定 If RS.RecordCount = 0 Then msgbox "データがありません" Else RS.MoveFirst 'コピー先のデータベースを設定 Set db = OpenDatabase("コピー先mdb") 'レコードの初期化 db.Execute (DELETE FROM コピー先テーブル名) Do While RS.EOF = False strsql = "" strsql = strsql & " INSERT INTO コピー先テーブル名(" strsql = strsql & " ,コピー先のYes/Noフラグ値" ' strsql = strsql & ")VALUES(" strsql = strsql & " ,'"コピー元のYes/Noフラグ値 "' " strsql = strsql & ")" db.Execute (strsql) RS.MoveNext Loop End If RS.Close db.Close
- ベストアンサー
- その他(データベース)
- はがきの案内状を印刷する際、横向きで印刷すると細い黒線が入る問題が発生しています。高画質にすると、白い雲のような幅広の線になってしまいます。A4の紙ではきれいに印刷できるのに、この問題が解決できません。
- 試行した修正方法として、ADF読み取り部とインクジェットの掃除を行いましたが、問題は解消されませんでした。Windows10のOSを使用し、USBケーブルで接続しています。ひかり回線も使用しています。
- ブラザー製品の印刷機で発生している問題です。はがきの案内状を印刷する際、横向きで印刷すると細い黒線が入り、高画質にすると幅広の白い線になってしまいます。試しにA4の紙に印刷したところ、きれいに印刷できました。ADF読み取り部とインクジェットの掃除を行いましたが、問題は解消されませんでした。Windows10のOSを使用し、USBケーブルで接続しており、ひかり回線も使用しています。
お礼
お礼がおそくなり、申し訳ありません。ご回答頂きありがとうございました。 一応、現在の結果をお伝えすると、 いろいろ試しましたがパススルーでサーバーから取得した値をローカルテーブルに一回のSQLで入れることはできませんでした。 一度レコードセットに入れてからローカルテーブルに入れますが、それもいっきにする方法はなく、一行ずつINSERTをなげる方法で解決しました。