Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

サーバー上のMDBから日付を取得できない

308 views
Skip to first unread message

2828Johnny

unread,
May 12, 2009, 4:55:02 AM5/12/09
to
お世話になります。

ネットワークサーバ上のMDBからサーバの日付時刻を取得したいのですが
クライアントPCの日付時刻が取得されてしまいます。

サーバ日付時刻を取得する方法はあるのでしょうか?

サーバ上のMDBにテーブルを追加し、次の項目を設定します。
日付1 日付/時刻型 規定値に「Date()」を設定
日付2 日付/時刻型 規定値に「Time()」を設定
日付3 日付/時刻型 規定値に「Now()」を設定

クライアントPCから、ネットワークサーバー上のMDBを起動して、
作成したテーブルを開くと、クライアントPCの日付時刻が
表示されます。

MDB:Access2000
サーバ:Windows 2008サーバ

ちなみにMDBはクライアントで作成しネットワークサーバへ保存しました。
MDB作成クライアント:Windows Vista

TAKAHASHI Hisanori

unread,
May 12, 2009, 6:52:18 PM5/12/09
to

"2828Johnny" <2828J...@discussions.microsoft.com> wrote in message news:09657759-A749-4349...@microsoft.com...
> ネットワークサーバ上のMDBからサーバの日付時刻を取得したいのですが
> クライアントPCの日付時刻が取得されてしまいます。
>
> サーバ日付時刻を取得する方法はあるのでしょうか?

Dim WshShell, outShell, resultMsg
Set WshShell = CreateObject("WScript.Shell")

Set outShell = WshShell.Exec("NET TIME \\SERVERNAME")
resultMsg = outShell.StdOut.ReadLine

とすればresultMsgに
\\SERVERNAME の現在の時刻は 2009/05/13 7:46 です
といった感じの文字列が入りますので必要な部分を切り出してください。

--
TAKAHASHI Hisanori

2828Johnny

unread,
May 12, 2009, 8:01:01 PM5/12/09
to
TAKAHASHI Hisanoriさま

ご回答ありがとうございます。
サーバー日付取れました。

MDBからというより、直接サーバの日付の取得になるのですね。
Oracleのように Sysdate From Dual で取れると思っていたので
ちょっとびっくりです。

2828Johnny

"TAKAHASHI Hisanori" からの元のメッセージ:

TAKAHASHI Hisanori

unread,
May 12, 2009, 10:54:40 PM5/12/09
to

"2828Johnny" <2828J...@discussions.microsoft.com> wrote in message news:BFC3AFB9-6687-48E8...@microsoft.com...

> MDBからというより、直接サーバの日付の取得になるのですね。
> Oracleのように Sysdate From Dual で取れると思っていたので
> ちょっとびっくりです。

MDBはクライアントで読み込まれてクライアントでアクセスが実行されます。
ですから、アクセスそのものがサーバーで実行されているものではないので
MDBが応えると言う事はないです。

アクセスの場合、サーバはファイル置き場と言うだけのものになります。

Oracleと同じものと考えるとしたらSQLサーバになりますね。
こちらはサーバで稼動しているので応えてくれます。

--
TAKAHASHI Hisanori

2828Johnny

unread,
May 13, 2009, 2:43:01 AM5/13/09
to

> MDBはクライアントで読み込まれてクライアントでアクセスが実行されます。
> ですから、アクセスそのものがサーバーで実行されているものではないので
> MDBが応えると言う事はないです。
>
> アクセスの場合、サーバはファイル置き場と言うだけのものになります。
>
> Oracleと同じものと考えるとしたらSQLサーバになりますね。
> こちらはサーバで稼動しているので応えてくれます。

ありがとうございます、
なるほど、クライアントで動作するから、クライアントPCの日付時刻に
なるわけですね。

SQLサーバーも検討したのですが、実行環境が固定できない(お客様のH/W環境により)
ため手軽なMDBを使用することになりました。

日付時刻を取得する理由ですが、テーブル更新のタイムスタンプを
チェックするためなのですが、実際に試したところクライアントのOS
によってフォーマットが違いますね。
Win XP:年月日 時分
Win Vista:年月日 時分秒

タイムスタンプチェックなので時分秒までが理想なのですが
おそらくクライアントはほとんどがXPになる予定です。(複数客先のため)

… 困りました Oo。

TAKAHASHI Hisanori

unread,
May 13, 2009, 3:34:17 AM5/13/09
to

"2828Johnny" <2828J...@discussions.microsoft.com> wrote in message news:D79C2CF4-4388-4BB4...@microsoft.com...

> 日付時刻を取得する理由ですが、テーブル更新のタイムスタンプを
> チェックするためなのですが、実際に試したところクライアントのOS
> によってフォーマットが違いますね。
> Win XP:年月日 時分
> Win Vista:年月日 時分秒
>
> タイムスタンプチェックなので時分秒までが理想なのですが
> おそらくクライアントはほとんどがXPになる予定です。(複数客先のため)

テーブルの更新をしたときにMDBを上書き保存して
FileDateTime(FILENAME)関数でMDBファイルのタイムスタンプを
取得すればいかがでしょう。

--
TAKAHASHI Hisanori

TAKAHASHI Hisanori

unread,
May 13, 2009, 5:55:41 AM5/13/09
to

"2828Johnny" <2828J...@discussions.microsoft.com> wrote in message news:D79C2CF4-4388-4BB4...@microsoft.com...

> 日付時刻を取得する理由ですが、テーブル更新のタイムスタンプを
> チェックするためなのですが、実際に試したところクライアントのOS
> によってフォーマットが違いますね。
> Win XP:年月日 時分
> Win Vista:年月日 時分秒
>
> タイムスタンプチェックなので時分秒までが理想なのですが
> おそらくクライアントはほとんどがXPになる予定です。(複数客先のため)

サーバーでNTPサーバを動作させておいてクライアントの時刻を同期し
クライアント側で時刻を取得する手もあります。
net time /setsntp:SERVERNAME

WindowsでNTPサーバー構築
http://d.hatena.ne.jp/hidepon_mory/20071106/1207896724

--
TAKAHASHI Hisanori

2828Johnny

unread,
May 13, 2009, 5:57:01 AM5/13/09
to

ありがとうございます、

> テーブルの更新をしたときにMDBを上書き保存して
> FileDateTime(FILENAME)関数でMDBファイルのタイムスタンプを
> 取得すればいかがでしょう。

MDBファイル自体の更新日付ってことですか?
とすると、特にMDBにこだわらず、テキストファイルの更新でもいいですね。

2828Johnny

2828Johnny

unread,
May 14, 2009, 3:08:03 AM5/14/09
to
> サーバーでNTPサーバを動作させておいてクライアントの時刻を同期し
> クライアント側で時刻を取得する手もあります。
> net time /setsntp:SERVERNAME
>
> WindowsでNTPサーバー構築
> http://d.hatena.ne.jp/hidepon_mory/20071106/1207896724


TAKAHASHI Hisanoriさま

ありがとうございます、
なるほど、サーバのレジストリ変更とファイアウォールの設定ですね。
お客様の壁に穴開ける訳にもいきませんので、次の方法で解決します。

1.ネットワークサーバ上にあるMDBのフォルダに、クライアント端末番号.txtファイルを作成
2.作成したファイルの作成日を取得
3.作成したテキストファイルを削除

いろいろな提案頂きましてありがとうございました、
また新たな提案がありましたら追記をお願いします。

2828Johnny

0 new messages