• 締切済み

表Aから表Bへのレコード追加 VB2005 SQLServer2005

表Aに表Bのデータを追加したいのですが。 例えば、以下のようなテーブルがあったとして。 表A (A,B,C,Dとは項目名のこと) A B C D 表B A B C D E F G 表Aに表Bの項目A,B,C,Dのレコードが追加されればいいのですが。 現在は、コードの中にInsert文を書いてレコードの追加をやっているのですが。 テーブルの項目がたくさんある場合に困っています。 Accessだと追加クエリとかで簡単にできると聞いたのですが。 VB2005では簡単に表の追加はないでしょうか? アドバイスなどがいただけたら幸いです。 開発環境 SQL Server 2005 Express Visual Studio 2005 Pro WindowsXP Pro

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.5

クエリーを保存したいのであれば『データベースプロジェクト』を作成しないと保存出来ないようです ファイル > 新規作成 > その他のプロジェクトの種類 > データベース 右ペインでデータベースプロジェクト > プロジェクト名等を設定 としたデータベースプロジェクトになら .dtq として保存出来るようです

回答No.4

Accessのクエリ的な事を実行するなら、ストアドプロシージャを登録すれば いけるんじゃないでしょうか。 (私は使ったことないけど、"SQLServer ストアドプロシージャ"あたりで ググれば色々出てきます) VBから呼ぶときは、SQL文(EXEC プロシージャ名)を直接流す…のかな?

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

データのソースになるテーブルのクエリーを作成して そのクエリーの種類を 結果の挿入 にしてやればいいのでは ・・・ 手順 IDEのメニューで 表示 > その他のウィンドウ > サーバーエクスプローラ サーバーエクスプローラのデータ接続を展開 元になるテーブルがある 接続を選択 IDEのメニューで データ > 新しいクエリ > 元になるテーブルを選択 > 追加 > 閉じる IDEのメニューで クエリデザイナ > クエリの種類の変更 > 結果の挿入 > 挿入先のテーブルを選択 ダアグラムペインで必要な項目にチェックを入れる IDEのメニューで クエリデザイナ > SQLの実行 で挿入先のテーブルが更新出来ますよ

ktksystem
質問者

お礼

早速返答いただきありがとうございます。 クエリデザイナでやれることはSQLの実行・確認だけでクエリとして保存できないのでしょうか? この処理を保存して、クエリとしてVB2005から呼び出すにはどうしたらよいでしょうか?

  • kikujack
  • ベストアンサー率47% (17/36)
回答No.2

sql serverなら、SQL文ではこう: insert into A select a,b,c,d from B テーブルがたくさんある場合は、まずは select * from dbo.sysobjects where type ='U' and name<>'dtproperties' この文を利用して、テーブルのリストをゲットします。 do...loop文を利用して、順番に insert into Table_Dest(Filed_a,Field_b,Field_c,Filed_d) select Filed_a,Field_b,Field_c,Filed_d from Table_Source を実行すればどうでしょうか。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>テーブルの項目がたくさんある場合に困っています。 しょうがないです。 同じフィールド名(属性も同じ)、同じフィールド数の場合を除いて、 面倒な記述が必要です。 >Accessだと追加クエリとかで簡単にできると聞いたのですが。 ドラッグ・ドロップ、あるいはドロップダウン選択で追加元と追加先の 関係を指定できますが、 出来上がったクエリをVBプログラムからどうやって使うか考えておく必要があります。 また、フィールド数が255までという制限があります。 >VB2005では簡単に表の追加はないでしょうか データベース用のプラットフォームではないので、期待すべきではないと思います。

関連するQ&A