出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
[5173] エラー処理について教えて下さい |
投稿者:わだっちさん 2005/08/03 15:10:32 |
お世話になります。 VbscriptでAccess内のデータ加工をするPGを作っています。 早速ですが、Accessのクエリを実行し、RecordSetを取得する ところで、エラー処理を記述したのですが、対象のテーブルが 無い場合の、下記のようなエラーが拾えません。 どう書けば、このエラーが拾えるのか教えて下さい。 ERRは(よく分からないのですが)スクリプトのエラーしか 拾わないからでしょうか? Microsoft Jet Database Engineのエラー?て拾えるのでしょうか? よろしくお願いします。 エラー:入力テーブルまたはクエリ”テーブル名”が見つかりませんでした。 エラー番号:80040E37 Microsoft Jet Database Engine ソースは下記の通りです。 '--- STARTING MAIN PROCEDURE -------------------------- Public Function fnc_KaijiData_Marge_vbs(ByVal strMargeID, ByVal strMargeToID) Dim fso Dim strLogModeFlg Dim rs Dim strSQL Dim dblMaxnum Dim i Dim strMaster_id Dim dblDatacnt Dim strNote Dim varTemp Dim strMsg ' 接続文字列を生成します。 Set cn = CreateObject ("ADODB.Connection") cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & strDSN & ";" 'T_MASTERからmaster_idの最大値を取得 strSQL = "" strSQL = "SELECT Max(master_id) AS MAX_NUM FROM T_MASTER" Set rs = CreateObject("ADODB.Recordset") ' レコードセットを Open します。 rs.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly 'エラー処理 If Err.Number <> 0 Then strMsg = Now & ":SystemError:T_MASTERオープン:エラー番号:" & Err.Number & ":エラー詳細:" & Err.Description If fnc_Out_Log(logfile, strMsg, "1") = False Then Msgbox"ログ出力に失敗しました、プログラムを終了します" End If rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing Exit Function End If |
[5174] Re:エラー処理について教えて下さい |
投稿者:YasNet(管理人)さん 2005/08/04 9:13:24 |
こんにちは です。 > Microsoft Jet Database Engineのエラー?て拾えるのでしょうか? いえ、取得できますよ。 On Error Resume Next、は指定されていますよね。 > ' レコードセットを Open します。 > rs.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly > 'エラー処理 > If Err.Number <> 0 Then > strMsg = Now & ":SystemError:T_MASTERオープン:エラー番号:" & Err.Number & ":エラー詳細:" & Err.Description > If fnc_Out_Log(logfile, strMsg, "1") = False Then > Msgbox"ログ出力に失敗しました、プログラム Err.NumberのIF文は通過しているはずです。 その後ログ出力に失敗して、エラーコードが上書きされているだけではないですか? それでは 失礼致します。 |
TreeBBS For ASP V.0.1.3 |