PDA

View Full Version : ساخت Reminder



bita_ziba77
چهارشنبه 11 اسفند 1389, 09:20 صبح
با سلام
چگونه مي توان فايل اكسس ساخت كه هنگامي كه كاربر كامپيوتر خود را روشن مي كند فايل مربوطه اجرا شده و به صورت مخفي اجرا گردد و كاربر آن را نبيند و در صورت مشخص كردن تاريخي در اين فايل ، اگر تاريخ مشخص شده با تاريخ سيستم برابر شد يك فرمي جهت هشدار باز گردد تا كاربر را مطلع كند. (مشابه Reminder outlook)


با تشكر

wolfstander
چهارشنبه 11 اسفند 1389, 10:16 صبح
سلام
البته من در حد شما اطلاعات ند ارم
ولی یه راه حل به ذهنم میرسه
در این لینک شما میتونید روش اجرای یک فایل اکسس رو ببینید
http://support.microsoft.com/kb/209207
و این دستور رو به صورت Create Shortut تو ویندوز ایجاد کرده و در فولدر Start Up ویندوز قرار بدید
بعدش با استفاده از اون کدی هست تو سایت که پنجره های اکسس رو مخفی میکنه، برنامه اجرا شده رو مخفی کنید
در فرم start up مربوط به اکسس خودتون هم تاریخ رو چک کنید و اگه برابر مقداری خاص بود، بیاد و اون عملیاتی رو که شما میخواید انجام بده
این راه حلی بود که به ذهن من رسید
:خجالت:
شرمنده که جسارت کردم

bita_ziba77
چهارشنبه 11 اسفند 1389, 10:50 صبح
با تشكر فراوان از شما
باور كنيد تاكنون كلي اطلاعات از شما ياد گرفته ام و اينقدر شكسته نفسي نفرماييد.
علي ايحال من كد زير را دارم كه هنگام اجراي فرم در Startup windows كل پنجره Access به همراه جداول ، فرم ها و ... را مخفي مي كند:(حتي در Task Bar هم نمايش نمي دهد)
ولي مشكل من در فراخوان فرم هشدار است. بدين صورت كه اگر تاريخ جاري با تاريخ مورد نظر در فرم مساوي شود فرم مربوطه (فرم هشدار) نمايش داده شود ولي متاسفانه نمي توانم فرم هشدار را فعال كنم و
همچنان فرم به صورت مخفي مي باشد.
لذا لطفا راهنمايي نماييد.
در ضمن به دليل محدوديت هاي اعمال شده بر روي كامپيوتر من امكان Upload فايل وجود ندارد.
با تشكر

Option Compare Database
Option Explicit

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3

Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hWnd As Long, _
ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)

Dim loX As Long
Dim loform As Form
On Error Resume Next
Set loform = Screen.ActiveForm

If Err <> 0 Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If

If nCmdShow = SW_SHOWMINIMIZED And loform.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loform.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loform.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loform.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function


و جهت فراخوان كد در بخش Onload فرم خود كد
HideForm = fAccessWindow("Hide", False, False) را تايپ نماييد.

با تشكر

c4soft
پنج شنبه 12 اسفند 1389, 00:26 صبح
دوست عزیز
یه ایده ی دیگه
از بالون استفاده کنید !

RESMAILY
پنج شنبه 12 اسفند 1389, 08:23 صبح
به نام خدا
با سلام. اگر درست فهميده باشم. شما مي خواهيد برنامه در تاريخ هاي معيني هشداري بدهد مثلا دال براينكه فلان عمليات انجام شود يا خير؟
در اينصورت از خودم مي پرسم چه لزومي دارد در تاريخ هاي ديگر برنامه را مقيم حافظه نماييم؟ اگر مقصود ساعات بخصوص باشد كه گمان نكنم بشود مستقيما از آكسس استفاده نمود. زيرا نياز به برنامه فعال تري است.
درصورت اول كار ساده است. اگر تاريخ تطبيق داشت برنامه ادامه يافته و هشدار بدهد ودر صورت عدم تطبيق اصلا quit شود.
در اين موارد ديده ام كه از همان api معروف براي showwindow و غيره استفاده نمود. با اين فرق كه با استفاده از رفرنسي كه جناب ولف استاندر معرفي كردند، دستوري در رجيستري بگذاريد كه موقع run شدن از miniwin استفاده نمايد. اگر درست فهميده بودم و نياز به توضيح داشت بفرماييد. گرچه خودتان واردتر از بنده هستيد.