mysql:13501
From: "kondo kondo" <"kondo kondo" <umiushi_00@xxxxxxxxxx>>
Date: Tue, 14 Nov 2006 14:05:55 +0000
Subject: [mysql 13501] Re: MYSQL+VB6.0*ADODCについて
SELECTの対象になったレコードを削除したいんですよね?
SQLだけでやってみたらどうでしょうか?
DELETE
FROM
A_DB
WHERE
PLANT IN (SELECT PLANT FROM A_DB WHERE PLANT = 'A');
こんな感じ?(ひさびさなのでちょっと自信が・・・^^;)
>From: mew101 <mew101@xxxxxxxxxx>
>Reply-To: ml@xxxxxxxxxx
>To: ml@xxxxxxxxxx
>Subject: [mysql 13500] Re: MYSQL+VB6.0*ADODCについて
>Date: Tue, 14 Nov 2006 17:35:36 +0900
>
>
> > 永坂です。
> > 最近触ってないので古いソース引っ張ってきましたが
> > My_Db.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};Server=[
サーバIP];PORT=[使用ポート];DATABASE=[データベース];UID=[ユーザ
ID];PASSWORD=[ユーザパスワード];OPTION=3"
> > My_Db.Open
> > という形でDB接続しています。
> > ODBCドライバ部分はODBCデータソースアドミニストレータなどで確認してくださ
い。
> > Openしなくても接続できるんでしょうか?
> >
>
>永坂さん 近藤さん
>どうもありがとうございます
>コントロールパネルで設定したODBCを使わず
>上記のとおり、やってみたらメッセージが出ませんでした
>ありがとうございました
>思うにOPENしなくともデータを持ってくるようです
>しかし
> Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A'"
> If Adodc1.Recordset.EOF Then
>
>この構文ではどうもうまくなく、
>SELECT文に関係なく先頭が削除されてしまうようです
>まずはエラーが出なくなったので
>ありがとうございました
>
>
>
>
> > > 鈴木@宮城といいます
> > >
> > > かなり古い技術かもしれませんが
> > > VB6.0+ADODC+ODBC接続でのプログラムを作成しています
> > >
> > > MYSQLのデータベースを1度アクセス2000でリンク(ODBC接続)させ
> > > データの更新をします
> > > (ここでは'A'というデータを削除する)
> > >
> > > Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="
> > > & App.Path & "\AC2000.mdb;" & "Mode=Share Deny None;Persist
Security
> > > Info=False"
> > >
> > > Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A'"
> > > If Adodc1.Recordset.EOF Then
> > > MsgBox ("データが無い")
> > > Else
> > > If Text1.Text <> "" Then
> > > Adodc1.Recordset.Delete
> > > Adodc1.Recordset.Update
> > > Adodc1.Refresh
> > > End If
> > > End If
> > >
> > > これはうまく削除できますが
> > > アクセス2000をかまさないでできないかと思い
> > >
> > > Adodc1.ConnectionString = "ODBC_DB"
> > > (MYSQL とODBC接続)
> > > Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A'
> > > If Adodc1.Recordset.EOF Then
> > > MsgBox ("データが無い")
> > > Else
> > > If Text1.Text <> "" Then
> > > Adodc1.Recordset.Delete
> > > Adodc1.Recordset.Update
> > > Adodc1.Refresh
> > > End If
> > > End If
> > >
> > > とすると
> > > DELETEのところで
> > >
> > > 実行時エラー(-2147467259)(80004005)
> > > 更新に必要なベーステーブル情報が足りません
> > >
> > > とでます
> > > データは持ってくるようなのですが
> > > 更新しようとするとエラーとなります
> > > 何が足りないのでしょうか?
> > >
> > > ADODCを使う理由はDATAGRIDとの連携がいいからなんですが
> > > MYSQLには使えないのでしょうか?
> > > MYSQLの問題と思い投稿させていただきました
> > > よろしくお願いします
> > >
> > >
> > >
> > >
>
>
_________________________________________________________________
Hotmail に直接アクセス!MSN がさらに使いやすく http://jp.msn.com/
13485 2006-11-13 18:38 [mew101 <mew101@xxxxx] MYSQL+VB6.0*ADODCについて 13493 2006-11-14 11:17 ┣["kondo kondo" <umius] 13494 2006-11-14 11:28 ┗[Hiroshi Nagasaka <h-] 13500 2006-11-14 17:35 ┗[mew101 <mew101@xxxxx] -> 13501 2006-11-14 23:05 ┗["kondo kondo" <umius] 13502 2006-11-15 10:41 ┗[mew101 <mew101@xxxxx]