- PR -

.NETでデータベース

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/04/11
投稿数: 23
投稿日時: 2006-05-23 11:38
引用:

LoveDevice1973さんの書き込み (2006-05-23 11:15) より:

私のような素人も見ていると思って、どなたか手順だけでも書いていただけないでしょうか?



複数テーブルを join して UPDATE を行いたいってことを、知りたいのでしょうか?
であれば、既に結論としては出ていますよね。
引用:

 甕星さんの書き込み (2006-05-20 01:22)
 うにくまさんの書き込み (2006-05-20 11:44)



言いっぱなしというより、スレッドと関係ないこと(脱線)は極力書きたくないだけです。(情報が埋もれてしまい見苦しいですし)
で、誰も指摘しないので「うんじゃ自分が」って感じで書きました。


もし、LoveDevice1973さんが疑問や知りたい事があるのであれば、勇気を振り絞って新しくスレッドを作ってみては如何でしょう?
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-23 13:32
引用:

LoveDevice1973さんの書き込み (2006-05-23 11:15) より:

 私のような者が発言するのも気が引けるのですが、スレ主さんと同じ疑問を抱き、か


スレ主さんと同じ疑問を持ったのだということですが、未記入さんが仰っている通り、この問題については既に回答が出ています。もしこれらの回答の内容でわからない点があれば、その点に絞ってご質問してみてはいかがでしょうか?

引用:

LoveDevice1973さんの書き込み (2006-05-23 11:15) より:

いことを長々と書いてしまいましたが、私のような素人も見ていると思って、どなたか手順だけでも書いていただけないでしょうか?


どこまでの手順がわからないのでしょうか?
複数のテーブルが結合された場合の値の更新方法ですか?
LoveDevice1973
会議室デビュー日: 2003/05/29
投稿数: 8
お住まい・勤務地: 東京都
投稿日時: 2006-05-23 17:09
 なんだかスレを汚してしまっているようで申し訳ありません。

引用:

スレ主さんと同じ疑問を持ったのだということですが、未記入さんが仰っている通り、この問題については既に回答が出ています。もしこれらの回答の内容でわからない点があれば、その点に絞ってご質問してみてはいかがでしょうか?


 申し訳ありません、回答部分がどなたの発言に当たるのか理解できていません…。

引用:

どこまでの手順がわからないのでしょうか?
複数のテーブルが結合された場合の値の更新方法ですか?


 よくよく読んでみますと、最初から勘違いしていたようでした。私の知りたかったのは更新(UPDATE)ではなく追加(INSERT)の方でした。

 Accessのフォームとサブフォームでは、オートナンバー型の値をリンクさせていましたが、それをVB2005のコード(というかSQLで?)だけでやるにはどうすれば良いかを知りたかったのでした。

 色々探したところ、@@IDENTITYの値を調べれば直前に取られたオートナンバー型の値を取得できるみたいなので、最初に親テーブルにレコードを追加し、@@IDENTITYの値を取得して、子テーブルのリンク用のフィールドにその値を入れ込んでレコードを追加する、という手順になるのかなぁ、と考えてます。

 ただ、Accessで@@IDENTITYを調べても出てこないので、VB2005でもこれから試そうと思っているところです。

 @@IDENTITYでオートナンバーの列を取得できるらしい、というのを見つける前までは、GUIDの列を追加して識別しようか、とか考えていました。

 いずれにしても、これらの考え方が一般的かどうかも含めて、まだ判っていない状態です。

 試してから投稿すべきだったかとも思いましたが、自分でコードを作るのも時間がかかる状態です。未検証のままで失礼かとは思いましたが、取り急ぎ返信してみました。

 スレは分けた方が良かったでしょうか?(便乗質問は良くなかったですか?)
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-23 18:38
引用:

LoveDevice1973さんの書き込み (2006-05-23 17:09) より:

 スレは分けた方が良かったでしょうか?(便乗質問は良くなかったですか?)


そうですね。
そういう内容の質問であれば、新しいスレで質問された方が良いかと思います。

僕も指摘されて襟を正したわけですが、後から見た人が解決するためにはどうすれば良いか?を合せて考えますと、新しいスレの方がわかりやすいものになるでしょう。
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-05-23 19:28
引用:

私の知りたかったのは更新(UPDATE)ではなく追加(INSERT)の方でした。


追加でも更新でも同じですよ。ただし、削除はできません。


データベースを作成し、以下のテーブルとクエリを追加してみてください。
追加時、子テーブル(Table_B)に親テーブル(Table_A)と同じIDが振られると思います。
コード:
【テーブル】
Table_A
    ID      オートナンバー    主キー
    colA    テキスト型
    colB    テキスト型

Table_B
    ID      数値型            主キー
    colC    テキスト型
    colD    テキスト型

【クエリ】
SelectQuery
SELECT Table_A.ID, Table_A.colA, Table_A.colB, Table_B.colC, Table_B.colD
FROM Table_A INNER JOIN Table_B ON Table_A.ID = Table_B.ID;

InsertQuery
INSERT INTO SelectQuery ( colA, colB, colC, colD )
VALUES ("A", "B", "C", "D");

UpdateQuery
UPDATE SelectQuery SET colA = "1", colB = "2", colC = "3", colD = "4";

スキルアップ/キャリアアップ(JOB@IT)