- 締切済み
SQLサーバーの日付を取得 - Excel VBAにて -
お世話になります。 EXCELのVBAで、 SQLサーバーのシステム日付を取得することは可能でしょうか? コマンドを教えていただきたいのですが。 クライアントPCのシステム日付は、 Biosの電池切れ?等で時々正常でない場合があります。 その問題を解決するため、都度サーバー日付を取得することが できれば、と考えています。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- wingtodo
- ベストアンサー率56% (9/16)
MicrosoftSQLサーバーでしたら システム日付は SELECT GETDATE() で取得できます。
- tom11
- ベストアンサー率53% (134/251)
こんにちは、SQLサーバと繋いでいるのでしたら、 SQLが、使えますよね。 select now() でも、実行しては、いかがでしょか。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
例えば、WSHを使って以下のようにして、NET TIMEの結果を得ることができます。 後は、適当に切り出せば良いと思います。 ---------------------------------------------------------------- Public Sub test() Dim WshShell, oExec, result Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("NET TIME \\SERVERNAME") Do While oExec.Status = 0 '実行終了まで待つ Loop result = oExec.StdOut.ReadLine MsgBox result End Sub
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
EXCEL VBAからというより、 システム日付は、PC全体でも(ファイル管理など)重要なので 起動時に時刻合わせするようにした方がいいかと思います。 Windows系のサーバーの場合 NET TIME \\SERVERNAME /SET のようなコマンドを実行するバッチを作成して、スタートアップで実行するような感じにしておけば良いと思います。
補足
ありがとうございます。 おっしゃることはよくわかります。私も同じことを考えましたが、対象PCが200台~という状況なので現実的に難しいですね。 VBAにて、取得する方法を募集させていただいております。