VB6.0(SP6)から、ADOとODBCでMySQLに接続しました。
'--------------------------------------------
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strCn As String
Set cn = New ADODB.Connection
strCn = "dsn=MySQL;uid=user;pwd="
cn.CursorLocation = adUseClient
cn.Open strCn
Set rs = New ADODB.Recordset
rs.Open "select * from tbl;", cn, adOpenDynamic, adLockPessimistic
Set DataGrid1.DataSource = rs
'--------------------------------------------
データグリッドコントロールにテーブルの内容を表示させようとしているのですが、rs.Openの行でエラーが出てしまいます。エラーメッセージは「複数ステップの操作でエラーが発生しました。各状態の値を確認してください」です。
SQL文を変えて試してみると、何故かデータ型がDECIMALのカラムが含まれているとエラーになります。
DECIMALだといけないかと思うと、挿入は問題なく出来ます。
cn.Execute "insert into tbl (id,decimal_clm) values (10,900);"
ご存知の方がいらっしゃいましたら宜しくお願いします。
No.1ベストアンサー
- 回答日時:
はじめまして
私も前にデータグリッドにテーブルの内容を表示できなくて困ってました。
私の使ってたプログラムを書きますね。
'モジュールレベル変数宣言
Private cn As ADODB.Connection 'Connectionオブジェクト
Private rs As ADODB.Recordset 'Recordsetオブジェクト
'フォームの起動時
Private Sub form_load()
'MySQL4.1データベース接続
Set cn = New ADODB.Connection
cn.Open "Provider=MSDASQL.1;Password=;User ID=root;Data Source=test123"
'SQLステートメント
Dim mySQL As String '表示するテーブルの決定
mySQL = "select * from test123"
'レコードセットを取得
Set rs = New ADODB.Recordset
rs.ActiveConnection = cn
rs.Source = mySQL
rs.CursorLocation = adUseClient '←●ここがポイント
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
rs.Properties("IRowsetIdentity") = True
rs.Open
'データグリッドにコントロールに連結
Set DataGrid1.DataSource = rs
end sub
ご回答ありがとうございます。
jpgifさんのコードをコピペして実行しましたが、残念ながら同じエラーが出てしまいます(rs.Openで「複数ステップの操作で~」)。SELECT文のカラムに、データ型がDECIMAL以外のものを指定するとエラーが出なくなります。
ちなみに私の環境です。
データベース: MySQL-server-5.0.18-0
サーバー: VineLinux3.2
ODBC: MyODBC 3.51
チェックしているODBCのオプション:
Don't Optimize Column Width
Return Matching Rows
Change BIGINT Columns To Int
問題のカラム:
Type = decimal(8,0)
Null = yes
Key =
Default =
Extra =
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
-
4
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
5
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
6
レコードが存在しなかった場合
Microsoft ASP
-
7
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
8
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
9
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
10
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
11
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
12
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
13
ACCESS ADOでupdateが効かない
その他(データベース)
-
14
オブジェクト(dll)のレジストリ登録について
Visual Basic(VBA)
-
15
VBAでアクセスDBからデータの取得について
Visual Basic(VBA)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
既存データをINSERT文にして出...
-
SQLサーバに対するSQL文で抽出...
-
結合したテーブルをSUMしたい
-
ADO+ODBCでテーブルに接続する...
-
Accessの構成をコピーしたい
-
SQLのテーブルにないデータの出力
-
Access 別のDBに対してDlookup...
-
副問合せを使わずにUNIONと同様...
-
ACCESSのVBAにてExcelに行...
-
Excelでしりとりを作る方法
-
2つのテーブルをLIKE演算子のよ...
-
ACCESS クエリーでソートの不具合
-
ExcelのVLOOKUP関数の動作をMyS...
-
テーブル名が可変の場合のクエ...
-
改行を含んだデータのインポート
-
SQLで、Join句で結合したテ...
-
Access特定のテーブルを編集不...
-
五十音順
-
Access不一致クエリについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
結合したテーブルをSUMしたい
-
テーブル名が可変の場合のクエ...
-
Accessの構成をコピーしたい
-
同一テーブル内での比較(最新...
-
ADO+ODBCでテーブルに接続する...
-
ACCESS クエリーでソートの不具合
-
SQLサーバに対するSQL文で抽出...
-
ACCESSのVBAにてExcelに行...
-
改行を含んだデータのインポート
-
PRIMARY KEYのコピー
-
MySQL: 複数テーブルのcount
-
データ無し時は空白行にしたい...
-
ExcelのVLOOKUP関数の動作をMyS...
-
ExcelのMatch関数のようなもの...
-
2つのテーブルをLIKE演算子のよ...
-
Access特定のテーブルを編集不...
-
Excelでしりとりを作る方法
おすすめ情報