'このVBScriptについて: '【使用方法】 'shouhinnテーブルの商品名の文字数が100バイトに設定されている状態で、 '商品名を表示しようとするとエラーになります。 'このスクリプトは、それらをチェックし、修正する為のものです。 'このファイルをダブルクリックして実行下さい。 Dim strUserid Dim strPassword Dim strDsn Dim strConnection Dim Connection Dim rs Dim strSQL Dim Result Dim strShouhinnmei Dim strShouhinnID Dim lFixTargetShouhinnID(50) Dim strFixTargetShouhinnmei(50) Dim counter Dim x Dim strInput Dim strPrompt Dim strTitle 'データベース接続用ID,パスワードの設定 strUserid = "" strPassword = "" strDsn = "Nyushukka" strConnection = "DSN=" & strDsn & "; UID=" & strUserid & "; PWD=" & strPassword counter = 0 'データベース接続 Set Connection = CreateObject("ADODB.Connection") Connection.Open strConnection 'SQL文 strSQL = "select * from shouhinn" Set rs = Connection.Execute(strSQL) Do Until rs.EOF = True strShouhinnmei = rs("shouhinnmei") If LenB(strShouhinnmei) > 100 Then lFixTargetShouhinnID(counter) = rs("shouhinnid") strFixTargetShouhinnmei(counter) = rs("shouhinnmei") counter = counter + 1 End If rs.MoveNext Loop Connection.Close 'データベース接続を閉じる x = 0 strPrompt = "この商品名は、文字限度数を超えています。100バイト(全角50文字)以内に変更して下さい。商品ID " strTitle = "文字数超過" Do While x < counter strShouhinnID = CStr(lFixTargetShouhinnID(x)) strShouhinnmei = strFixTargetShouhinnmei(x) strInput = InputBox(strPrompt & strShouhinnID,strTitle,strShouhinnmei) Do While LenB(strInput) > 100 strInput = InputBox(strPrompt,strTitle,strShouhinnmei) Loop Set Connection = CreateObject("ADODB.Connection") Connection.Open strConnection strSQL = "UPDATE shouhinn SET shouhinnmei = '" & strInput & "' WHERE shouhinnid = " & strShouhinnID Connection.BeginTrans Connection.Execute strSQL If Err.Number = 0 Then Connection.CommitTrans Connection.Close MsgBox "商品ID:" & strShouhinnID & "の情報を更新しました",MB_ICONINFORMATION,strTitle Else MsgBox "情報の修正に失敗しました",MB_ICONINFORMATION,strTitle Connection.RollbackTrans Connection.Close Exit Do End If x = x + 1 Loop Set rs = Nothing Set Connection = Nothing MsgBox "処理が終了しました",MB_ICONINFORMATION,strTitle