• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Serverの時間取得(Ac97))

Serverの時間取得方法 - WindowsNT4.0SP6とAccess97の環境下で

このQ&Aのポイント
  • VB6~やAccess2000~などでは、ADOを使用してストアドプロシージャからCURRENT_TIMESTAMP等を利用してServer側の時間を取得することができます。
  • しかし、DAOのサポートしかしていないAccess97では、直接的な方法でServer時間の取得はできません。
  • APIや他のHPでの検索もヒットしませんでした。従って、Access97の環境下ではServer時間の取得は困難と言えます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

お疲れ様です >やはりAccess97の変数に値を入れる手法は難しいでしょうか? 他のソフトがインストールが無理なら、難しいでしょう。 NT系のマシンならば、APIの「NetRemoteTOD」が使用できます。 http://www.kit.co.jp/vbit/QAndA08.htm

参考URL:
http://vbvbvb.com/jp/gtips/0251/gNetRemoteTOD.html
pooh_200x
質問者

お礼

返事が送れてすみません! 下記のDAOでストアドプロシージャを実行する方法をWeb上で見つけました。 やはりWeb検索が足りなかったと反省しております。ありがとうございました。 ストアドプロシージャ名 SP_DELETE_T_KARI DB名 TESTDB ' DAO で SQL Server に接続し、 ' ストアドプロシージャを実行した結果を得る Dim ws As DAO.Workspace, db As DAO.Database Dim rs As DAO.Recordset Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase("", False, False, _ "ODBC;Driver={SQL Server};" & _ "SERVER=(local);DATABASE=TESTDB;" & _ "UID=sa;PWD=;") ' Options 引数に dbSQLPassThrough を指定する。 Set rs = db.OpenRecordset("Exec SP_DELETE_T_KARI 50", _ dbOpenDynaset, dbSQLPassThrough)

その他の回答 (1)

回答No.1

お疲れ様です 簡単な方法なのですが、 "net time \\サーバー名 /set /y" 上記コマンドをshellコマンドで実行する たぶんwin98もnetコマンドが使用できたような... 後は、フリーソフトの「TClock」を使用するとか... 参考になれば

pooh_200x
質問者

お礼

早々の御返事ありがとうございます。 DOS窓に日付が取得できました。(w c:\text.batに net time \\TEST_Server /set /y > c:\TEST.txt exit としておいてAccess97からShellで呼び出しテキストで書き出しておいて からの取得としてみました。DOS窓自動で閉じたかったもので・・・。 ・・・DOSを使うとWindowsVerによって多少の違いが出ると思いますが許容範 囲内です。ありがとうございます。(w やはりAccess97の変数に値を入れる手法は難しいでしょうか? ※複数の端末に使うmdbの為、ソフトのインストールは難しい状況です。 状況の記入が漏れていてすみません!