• 締切済み

VB2005でSQLデータの更新

こんにちは VB2005初心者ですが SQLのデータ(テーブル)SEQに読み込んで 条件式により 別のテーブルに出力するようなことのDataAdpterを使用したサンプルコードを探しています  どなた ご教授ください  SQL文では条件式が複雑なため簡単にできそうにありませんので    よろしく  

みんなの回答

noname#259269
noname#259269
回答No.2

SELECT 会員口座, MAX(日付) FROM table GROUP BY 会員口座 とやって DataTable を取得。 DataAdapter に UPDATE の SQL を指定し、同様にあらかじめパラメータを追加。 UPDATE table SET 抽出F=1 WHERE 会員口座=@K AND 日付=@D この DataTable を使って1行ずつループさせながら、DataAdapter で更新、という感じでしょうか。

h_kamikawa
質問者

お礼

edp3142さん レス遅くなってすいません  やはり DataAdapterの更新はSQLで行うしかないのですね 同一会員口座 and 日付のデータ存在した場合どうなるのかな?と思いまして 昔のCOBOLの ISAMのようなイメージで更新できないかと思いまして ありがとうございました

noname#259269
noname#259269
回答No.1

「SQLのデータ(テーブル)SEQに読み込んで」 この部分↑がどう読んでも理解できないので、もう少し詳しくお願いします。

h_kamikawa
質問者

補足

すいません あんまり深い意味はないのですがデータをある順番で読み込むことです  データの形は以下のようで 会員口座 日付    金額 区分  その他..  抽出F 10  08/01/01    10   A 11  08/01/01    11   A           1 10  08/02/03    12   B           1 13  08/02/04    13   C 13  08/03/15    14   D           1 このテーブルを会員口座ごとの日付の大きいデータ(追加条件あり)を別テーブルに抽出して抽出対象のデータには抽出FLGに1をセットしたいのです SQLでもできそうですが条件が複雑になると手に負えなくなりそうなので....    よろしくお願いします

関連するQ&A

  • VB6でのSQLでのアクセスデーターの更新について

    VB6でSQLを使ってアクセスのデーターを下記のように 変換したいのですが   変換前のコード 変換後のコード   0001 --> 00-01   0002 --> 00-02 0003 --> 00-03 jkl = "update 社員テーブル set コード= MID(コード,1,2) & ' - ' & MID(コード,3,4)" c1.Execute jkl 上記のようにしてプログラムを実行すると エラーになります。 どこが違っているのでしょうか?

  • mdbからのデータ取得をSQLで行いたいのですが・・・

    VB.NETで開発中です。 “TEST”という名称のmdb(MS-Access)のDBに接続し、“区分マスタ”というテーブルからデータを取得したいのですが、これをSQL文で行いたいと思っています。 サンプル的なコードを記述して教えていただけると助かります。 よろしくお願い致します。

  • VBでSQL

    SQLでテーブル1に該当レコードがなければインサート あればアップデートをする処理をしたいのです IF ??? THEN UPDATE テーブル1 SET SELECT * FROM テーブル2 WHERE 条件 ELSE INSERT INTO テーブル1(SELECT * FROM テーブル2) END IF ???はプライマリキーで判定をしようと考えています こんな感じでやろうとしたところ うまくいきませんでした VB上で実行しよううとしているからなのでしょうか? ADOでSQLサーバに接続しています 条件分岐もどういう条件(VBでの書き方)がわからないです。 よろしくお願いします。

  • VB SQL文について

    VB6.0(SP5) XP SQL Sever7.0を使用しています。 テーブルからSQLより以下の条件で抽出しようとしています がいいSQL文が浮かびません。 TableA ----------------------- | sDate | nNumber | ----------------------- | 20030301 | 200 | | 20030301 | 250 | | 20030302 | 220 | | 20030302 | 225 | | 20030303 | 230 | ----------------------- 上記の内容で、一度読み込んで、内部テーブルに格納 したとします。TableAにデータ6、7が追加後に再度、 TableAを読んだときにデータ6、7だけ抽出したいのです が、いい方法ありますか? TableA ----------------------- | sDate | nNumber | ----------------------- | 20030301 | 200 | 1 | 20030301 | 250 | 2 | 20030302 | 220 | 3 | 20030302 | 225 | 4 | 20030303 | 230 | 5 | 20030303 | 240 | 6  ← 抽出したいデータ | 20030304 | 100 | 7  ← 抽出したいデータ ----------------------- ルール sDate :重複することあるが昇順になっている。 nNumber:sDateをキーにすると重複しない。 sDate+nNumberでみると昇順になっている。 よろしくお願いします。

  • VBからCrystalReportsへSQL文を渡すには?

     VBからCrystalReportを呼び出し、CrystalReports側でSQL文実行させたいのですが、ヘルプ等を見ても方法がわかりません。  例えば・・・ 1 VBで入力画面を用意し、抽出条件を入れさせる。 2 入力された条件にてSQL文を生成しSQL-Serverから該当行を抽出する。 3 CrystalReportsで作表する。  VBでSQL文を生成し、例えばMDBに書き出し、それを単純にCrystalReportsで読むということは出来たのですが、中間ファイル(この場合はMDB)を作らずに同様のことができるのでしょうか?  つまり、VBから制御されたCrystalReportsでDBから条件抽出をかけつつ作表するということが可能か否か、可能であるならばその方法をご教授いただけると幸いです。

  • VBでSQL

    題の通りなのですが VBでSQLサーバ上のデータベースを操作したいのです 接続はできたのですが、 SQL文をVB上で実行するやり方がわかりません いろいろ試してみたのですが、 オブジェクトがないとか言われてしまいました。 初心者なので意味がよくわからず困っています。 アップデート、インサートなどをします。 本当に困っています。 よろしくお願いします。

  • SQLのテーブルにないデータの出力

    SQLのSelect文である期間を日別に出力したいのですが、どのようにすればいいのでしょうか テーブルのデータは期間全部が入っているのではなく。 データが存在しない日もあります。 データが存在しない日は日にちをのぞいて空白になるようにしたいです。 例として、 テーブル上のデータ 2013-08-01  ああああ 2013-08-03  いいいい 2013-08-06  うううう 出力したいデータ 期間2013-08-01~2013-08-10 2013-08-01  ああああ 2013-08-02 2013-08-03  いいいい 2013-08-04 2013-08-05 2013-08-06  うううう 2013-08-07 2013-08-08 2013-08-09 2013-08-10 上記のような形で出力したいのですが、 どのようにすればいいのでしょうか http://bitstar.jp/blog/?p=2468 のように別のテーブルを用意する以外のやり方でお願いします。 よろしくお願いいたします。

  • VB.NETのSQL文について

    質問失礼します。 VB、SQLともに勉強しはじめて日が浅い初心者ですが、どなたかお力をお貸しください。 データベースに登録しているデータをNPOIを使って、出力したいと考えています。 DataTableを使用して作りましたが、上手くできない部分があります。 テーブルのカラムは、社員番号、事務物販名、登録数、登録日、更新日のようなものが入っているイメージです。 登録日を検索して、全てのテーブルを抽出したいのですが、○月○日〜○月○日にデータを登録した人というときに、つまづいてしまいました。 SQL.Append("SELECT " ) ・ ・ SQL.Append("WHERE ") SQL.Append(" 登録日 BETWEEN パラメータ1 AND パラメータ2 ) のように、書いたところ問題なく、出力されました。 パラメーターの部分は、DateTimePickerコントロールを配置して、日付を入力した値を設定しています。 2023/1/1 と 2023/1/2と2つ入力して、この2日間のデータを出そうとしたところ、1/1の文しか出力されませんでした。 原因は、データベースに入っているのは、Date型で、YYYY/MM/DD HH:mm:SS形式でした。 1/2の0時以降は、該当データに含まれないということは分かっているのですが、それを含めてのSQLの書き方がわかりません。 単純にSQLを書くには、 BETWEEN 2023/1/1 AND 2023/1/2 23:59:59 で、2日の文を抽出されますが、VBに書く時がうまくできない状態で、 時間の部分を、結合すれば良いのかと思い、 SQL.Append("SELECT " ) ・ ・ SQL.Append("WHERE ") SQL.Append(" 登録日 BETWEEN パラメータ1 AND パラメータ2 II '23:59:59' ") と、DataTimePickerから持ってきた、パラメータの日付に時間を結合してみたところ、ダメでした。 型の問題なのか、よくわからず、勉強している状態です。 基礎がなっておらず、初歩的なミスかと思いますが、ご指導ください。 データベースはOracleを使用しています。

  • VBとSQLで、、、、

    私は最近ソフトウェアの開発に携わることになりました。 私自身プログラミングの経験は全くありません。 何を命じられたのかといいますと、VBとSQLをつかって、サーバー上の  データベースにクライアントからアクセスして、ほしいデータだけをもってくる  業務を支援するようなソフトを作るのです。 例えば、ユーザーが日付の範囲だけをいれると、その間に店を訪れた人のすんでい  る地域別、さらにそのお客の年代別で何人いるのかというようなものが  ボタンひとつでだせるようなものなんです。 まったく知識がなくてとりあえずVBの基本とSQLコマンドの本を片手に  やっています。(あと、アクセスでおおよそのデータベースについて学びまし  た) で、結局何がいいたいのかと申しますと、VBとSQLを利用したデータベースの  構築に関する良い文献を紹介していただきたいのです。 VBは初心者なのでとりあえず、それようのものを。 あと、ストアドというものを駆使するらしいので、それについての詳しい本を  紹介してください。サイトなんかでもよいです。 それでは、よろしくお願い致します。  (多分、質問の内容もわけのわからないことを言ってるかもしれません^^;)

  • ORACLEでのSQLについて

    SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6