朝倉@東京です。

VBで、以下の手順で ODBCデータベースを開きました。

Set wrkODBC = CreateWorkspace("NewODBCWorkspace", "admin", "", dbUseODBC)
Set curDB = wrkODBC.OpenDatabase("", _
dbDriverNoPrompt, _
False, _
"ODBC;" & _
"DATABASE=" & CST_DB_NAME & ";" & _
"UID=;" & _
"PWD=;" & _
"DSN=" & CST_DS_NAME)

その後レコードセットを取得する際に

sql_str = "select * from テーブルA"
Set pb_Rec_F5 = pb_curDB.OpenRecordset(sql_str, dbOpenDynaset)

を実行して、

Data_String=pb_Rec_F5("~フィールド名~")

でテーブルA内の各フィールドを呼び出して各処理を行いました。

ここからなのですが、データの削除を行う必要があって、

sql_str = "delete from テーブルA where Num = 0001"
curDB.Execute sql_str

を実行しようとすると
「ODBC--呼び出しは失敗しました。」(Error.Number 3146)
とエラー表示が出ます。
ODBCの設定なども見ましたがよくわかりませんでした。

構文に間違いがあるのでしょうか?それともODBCの設定?
初歩的な質問ですがご教授お願いします。

A 回答 (2件)

ODBC--呼び出しは失敗しました。

(Error 3146)

ODBC を使用中に、SQL データベースのデータに対して操作を実行しようとしました。
SQL データベースがネットワーク ドライブ上にあり、ネットワークとの接続が切断していると、このエラーが発生します。
ネットワークが接続しているかどうかを確認して再度操作を行ってください。
    • good
    • 0

Numフィールドのデータ型が文字型の場合、


"delete from テーブルA where Num = '0001'"
を実行してはどうなりますか?
    • good
    • 0
この回答へのお礼

ずばりいけました!
何の事はない、構文が間違ってたんですね・・・お恥ずかしい。
ODBCがどうとかってエラーが出るんで、SQL発行までいってないのかと思ってました。(^^;
どうもありがとうございました。

お礼日時:2001/09/03 10:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ