
VS2003.NETで開発中の初心者です。
以下のコード(Form1.vb)を実行すると次のエラーがポップアップされ“oADP.Fill(oDS, "ROOT")”のラインで止まります。
<エラー>
'System.Data.OleDb.OleDbException' のハンドルされていない例外が system.data.dll で発生しました。
どこがおかしいのかわかりません。
詳しい方がいましたら、ご教授下さいませ。
----------------------------
Imports System.Data.OleDb
Public Class Form1
Inherits System.Windows.Forms.Form
Private oConn As OleDb.OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0" & ";Data Source=..\USER.mdb")
「Windows フォーム デザイナで生成されたコード」
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'--DataAdapterの設定
Dim oADP As OleDb.OleDbDataAdapter
oADP = New OleDb.OleDbDataAdapter("SELECT *FORM TALK WHERE Node=0 ORDER BY No", oConn)
'--DataSetの設定
Dim oDS As New DataSet
oADP.Fill(oDS, "ROOT")
・
・
・
----------------------------
No.6ベストアンサー
- 回答日時:
>"SELECT * FROM TALK WHERE Node=" & Node & "ORDER BY No"
・「ORDER」の前にスペースが入っていない
ヘルプで「SQL エディタ」「クエリデザイナ」を調べてみて下さい
あとデバックの仕方も覚えたほうがいいですよ
エラーが出るところでブレークポイントを設定して 対象のSQLをクイックウォッチ等でコピーし、
アクセスのクエリに貼り付けて正常に動作することを確認するとか...
そのとおりでした!
やってみたら正常動作で結果表示されました。
助かりました!
サンプルコードが書籍だったため、スペースの入り無しがわかりにくくて、スペースが入っていることにまったく気が付きませんでした。
SQL文の勉強も必要ですね。
あと、デバッグ方法ですが、変数の値を見るくらいしか出来ていませんでしたが、教えていただいた方法で、今後やってみようと思います。
どうも、ありがとうございました!
No.4
- 回答日時:
一応・・・。
>SELECT *FORM TALK WHERE Node=0 ORDER BY No"
「FROM」が「FORM」になってますけど、実物は大丈夫ですよね?
この回答への補足
大変失礼いたしました。
Private Sub Form1_Loadの方は、おっしゃるとおり、FROMのスペルミスでした。
修正したところ、通りました。
が・・・
Private Sub Form1_Load内で呼んでいる、Private Sub NodeGetでも、
oADP.Fill(oDS, "Node")の行で、同じエラーが出てしました。
これも、SQL文がおかしいのでしょうか?
ちなみに、この部分の* FROMはスペルミスはしてなかったです。
(SQL文の箇所は、VS2003.NETでは構文チェックしてくれないんですね・・)
----------------------------------------
Private Sub NodeGet(ByVal Node As String, ByVal Root As String, ByVal Kaiso As Integer)
Dim oADP As OleDb.OleDbDataAdapter
Dim KaisoText As String
Dim IntLoop As Integer
For IntLoop = 0 To Kaiso
KaisoText += ""
Next
KaisoText += "+"
oADP = New OleDb.OleDbDataAdapter("SELECT * FROM TALK WHERE Node=" & Node & "ORDER BY No", oConn)
Dim oDS As New DataSet
oADP.Fill(oDS, "Node")
・
・
・
----------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
Invalid procedure call or arg...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
なぜエラーになるのでしょうか...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBAのエラー発生場所をメッセー...
-
VBAでのエラー
-
Outlook.ApplicationをCreateOb...
-
マクロについて教えてください...
-
excel エラー値を非表示にした...
-
実行時エラー48発生時のDLL特定...
-
OLEDB.NETで接続できない
-
ExcelVBA Range クラスの Page...
-
エクセル/自動記録VBAが、なぜ...
-
ExcelVBAで、ユーザー定義型は...
-
DataGridView からの値取得に関...
-
トランスポートレベルのエラー
-
VBAの実行時エラー91!どうしよ...
-
アクセス 実行時エラー3265
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報