- 締切済み
ログイン・ログオフ時刻の申請台帳との照合について
あるアプリケーションソフトで、申請台帳のログオン・ログオフ時間と、実際に取得したログとで照合の自動化を行いたいのですが、 ExcelVBAで作成する知恵をお貸し頂けないでしょうか? ログは、アプリケーションソフトがSQL Server2000を使用しているので、プロファイラを使用してログイン・ログオフのログを取得しています。件数は申請台帳が毎月100件くらい、ログは130件ぐらいです。 いろいろ検索したのですが、ログイン・ログオフの時刻で照合するというマクロが見つかりませんでした。 【行いたい処理】 1.[sheet1]が取得したログ、[sheet2]が申請台帳であり、その形式は同じでありません。 2.取得したログ1件、1件に対して、申請台帳をスキャンして、申請済みであるかをチェックします。 3.その結果を[sheet3]のレポートに作成します。申請がない場合はログのみを出力します。 4.照合するデータは、ログイン日付、ログイン時刻、ログオフ日付、ログオフ時刻、作業PCID、接続DBです。 5.申請した時間内であれば、何回ログイン、ログオフしてもOKとします。 よって、申請ログイン時刻<=ログイン時刻、ログオフ時刻<=申請ログオフ時刻となればOKです。 教えてgooの初心者ですが、 回答を頂ければ、より詳細な内容をご連絡します。 以上、お知恵をお貸しください。宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- benelli
- ベストアンサー率51% (78/152)
申請台帳に作業PCIDも書かれていますよね?それがないと整合性もなにも確認しようがないので。 ひとまず方針としては各ログ毎に台帳を総当りし、 (1)台帳のログイン時間がログのログイン時間より前である行 (2)台帳のログオフ時間がログのログオフ時間より後である行 (3)上記(1)(2)を満たしていてさらにPCIDも一致している行 この行が見つかったら問題なし、見つからなかったら問題ありと表示させればいいですね。 難しい関数を使わなくても簡単な比較演算とIf構文とWhile構文だけで作れるはずです。 決して難しいものではないのでがんばって勉強してください。
補足
回答有難うございます。 申請台帳にもちろん作業PCIDも書かれていますし、作業者名も書かれています。お答え頂いた(1),(2),(3)のやり方では上手くいかないのではと思います。日付が違うこともあれば、使用しているDBIDも違うことがあるからです。また時刻と日付なんですが、台帳の方は、キーボードのショートカットを使ってEXCELに入力しています。Ctrl+;とかです。しかし、ログのほうは、プロファイラを使ったことのある人は分かると思うのですが、StartTimeとかが、「2007/11/23 13:24:35」のような日付と時刻が合わさったような形式になっています。このまま比較はできないです。何か良いアイデアがあればお願いします。処理の仕方が決定できれば、自分で文法書を見ながらマクロを書くしかないと思っています。