دان یک کامپیوتر دارد که از طریق شبکه اداری خود به چندین سرور مختلف دسترسی دارد. این سرورها ساعتهایشان را همگامسازی نمیکنند و دان به این فکر میکرد که آیا راهی برای تعیین اختلاف زمانی بین سرور معین و دستگاهش در VBA وجود دارد.
برای پی بردن به اختلاف زمانی، باید دو بار را دریابید - یکی در دستگاه خود و دیگری در سرور - و سپس آنها را با هم مقایسه کنید. گرفتن زمان در دستگاه خود به اندازه کافی آسان است. فقط از تابع Time در VBA استفاده کنید. دریافت زمان در دستگاه دیگری دشوارتر است، زیرا هیچ عملکرد داخلی وجود ندارد که این کار را تسهیل کند.
با این حال، می توانید از یک فراخوانی تابع API برای تعیین زمان در یک سرور راه دور استفاده کنید. اینکه دقیقاً چگونه می توانید چنین فراخوانی تابعی را ایجاد کنید فراتر از محدوده این نکته است، اما می توانید یک آموزش بسیار خوب را به صورت آنلاین برای انجام این کار پیدا کنید:
http://www.mvps.org/access/api/api0039.htm
به صفحه نگاهی بیندازید و می توانید کد را مطابق با نیازهای خود تطبیق دهید. تابع fGetServerTime رشته ای را برمی گرداند که حاوی تاریخ و زمان کامل است. سپس می توانید از تابع TimeValue در ماکرو خود برای تبدیل این رشته به یک مقدار زمان بومی اکسل استفاده کنید. پس از تبدیل، می توانید مقدار را با زمان سیستم داخلی مقایسه کنید تا مغایرت مورد نیاز خود را تعیین کنید.