ACCESSでpingってみた
先ほどのはEXCELですが、実はVLOOKだとレコード重複とかあるんで
比較をACCESSでした方がいいことと、一々ACCESSテーブルをEXCELに
落としてpingして結果をインポートとかいう馬鹿げたことをしたくないので
ACCESSに先ほどのやつを移植。
短時間でやっているから、エラーチェックとか細かいのなしです。
まぁそんなに使わんしね。備忘録で
比較をACCESSでした方がいいことと、一々ACCESSテーブルをEXCELに
落としてpingして結果をインポートとかいう馬鹿げたことをしたくないので
ACCESSに先ほどのやつを移植。
短時間でやっているから、エラーチェックとか細かいのなしです。
まぁそんなに使わんしね。備忘録で
Private Sub コマンド1_Click() '参照URL:http://accessvba.pc-users.net/ado/move_record.html ' http://www.moug.net/tech/acvba/0080026.html ' Dim cn As ADODB.Connection Dim rs As New ADODB.Recordset Dim tblName As String Dim IpAddr As String Dim fieldSearch As String tblName = "t_diff" Set cn = CurrentProject.Connection rs.Open tblName, cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect rs.MoveFirst Dim objWSH As Object, oEx As Object Dim result As String Const msg = "ラウンド トリップの概算時間" Do Until rs.EOF IpAddr = rs![IPアドレス管理表] fieldSearch = "IPアドレス管理表=" & "'" & IpAddr & "'" cmd = "cmd.exe /c ping -n 1 " & IpAddr Set objWSH = CreateObject("WScript.Shell") Set oEx = objWSH.Exec(cmd) Do While oEx.Status = 0 DoEvents Loop result = oEx.StdOut.ReadAll rs.Find (fieldSearch) If InStr(result, msg) = 0 Then rs![PING結果] = "PingNG" rs.Update Else rs![PING結果] = "PingOK" rs.Update End If Set objWSH = Nothing rs.MoveNext Loop rs.Close Set rs = Nothing cn.Close Set cn = Nothing MsgBox ("ping打ち完了です!!") End Sub
コメント