• 0
m00j

تعديل كود إخفاء الشاشة الرئيسية لبرنامج اكسس 2010

سؤال

بسم الله الرحمن الرحيم

الاخوة الكرام من يستطيع تعديل الكود ليتوافق مع نظام 64 بت .. يطلع لي خطأ عند تجربته على جهاز 64 بت ويقول ان الكود يجب تحديثه ليتوافق مع نظام 64 بت .. وجزء من الكود يظهر باللون الأحمر يوجد صورة مرفقة توضح ذلك .

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)
'Usage Examples
'Maximize window:
' ?fSetAccessWindow(SW_SHOWMAXIMIZED)
'Minimize window:
' ?fSetAccessWindow(SW_SHOWMINIMIZED)
'Hide window:
' ?fSetAccessWindow(SW_HIDE)
'Normal window:
' ?fSetAccessWindow(SW_SHOWNORMAL)
'
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then 'no Activeform
If nCmdShow = SW_HIDE Then
'MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
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
End If
fSetAccessWindow = (loX <> 0)
End Function

post-50227-003572900 1323462759_thumb.jp

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

13 إجابة على هذا السؤال .

  • 0

أكيد المشكلة في هذا الجزء

Private Declare Function apiShowWindow Lib "user32" _

يجب ان يكون user64 أو طبعا ما يوافقه لا اعرف تحديدا .. ليس لدي خبرة كبيرة الامر .. .لكن تصوري ان الكود يجب ان يعدل في هذا الجانب بخصوص 32 الى 64

لكن كيف... ساحاول

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله بك اخي الغالي : همام ابو عرقوب

اخي الكريم استخدم هذا الكود مع اكسيس 2007 و 2010

علما بأنه يعمل على النسختين 32 بت و 64 بت

وما تتحدث عنه للمكتبه Lib "user32" فإنها تعمل على 64 بت بدون مشاكل لأن نسخة 64 بت تستطيع تشغيل البرامج 32 بت و 64 بت فعند تثبيت البرامج ذات النسخ 32 بت فإنها تحمل في المجلد Program File واذا كان البرنامج 64 بت فإنه يحمل في Program Files (x86)

فهذه الويندوز 7 لدي 64 بت

post-15367-073046200 1323543097_thumb.gi

post-15367-006560600 1323543117_thumb.gi

وايضا الأوفيس 2007 و 2010 كلها 64 بت

ولهذا استخدم هذا الكود بدلا عن السابق


Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
End Sub

كود خفيف وسريع ومختصر عن الكود السابق

وهذا مثال يعمل على اوفيس 2007 و 2010

post-15367-069531900 1323543337_thumb.gi

zaHideAccess2007&2010.rar

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

الاخت زهرة جزاك الله خير

الفكرة جميلة تقوم بإخفاء خلفية الاكسس 100%، ولكن هناك ملاحظة وهي ان ايقونة الاكسس تختفي ايضاً

هل بالامكان عمل تعديل بحيث يعطي الكود نفس النتيجة ومع ظهور ايقونة الاكسس؟

صورة مرفقة للتوضيح ....

تحياااااتي

post-145478-054323500 1323545810_thumb.j

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل

فكرة المثال والكود هي اخفاء شاشة الأكسيس نهائيا وعدم اظهار اي شيء يمت للأكسيس بصله في لحظة فتح النموذج

حيث سيبقى النموذج المعروض حاليا هو ما تستطيع العمل عليه وايضا لو كان هناك تقارير فإنها ستظهر منفرده

والسبب بارك الله بك انه لو كان هناك ايقونه لبرنامج الأكسيس في شريط المهام فكل شخص يستطيع الضغط عليها ويتم فتح شاشة الأكسيس الرئيسية ونكون بهذا لم نعمل شيء ابدا ولم يؤدي الكود المطلوب منه كما نريد

لذا لديك احد الخيارين

1. اما اخفاء شاشة الأكسيس نهائيا

2. عدم استخدام الكود لتظهر لك شاشة الأكسيس الطبيعية .

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لكما همام وزهرة دائما تكرمونا بالرد على ما يشكل علينا فلكم منا الدعاء ,, رعاكم الله وجزاكم خيرا .

سأجرب وانظر ما يحدث :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فتحت مثالك وظهرت لي رسالة خطأ آمل الاطلاع عليها مشكورة . وبما أن جهاز الاخت زهرة 64 بت والكود يعمل جيدا فالمشكلة والله اعلم ستكون من جهازي ولكن ماهي بالتحديد ! من يعرف يتفضل بذكر السبب يا جماعة :)

post-50227-072188000 1323571860_thumb.jp

تم تعديل بواسطه m00j
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل اخي الكريم : موج

اذا كان النظام لديك 32 بت والأكسيس 32 بت فإستخدم هذا الكود لإخفاء الشاشة


Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
End Sub

اذا كان النظام لديك 64 بت والأكسيس 64 بت فإستخدم هذا الكود لإخفاء الشاشة


Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3

Private Declare PtrSafe Function ShowWindow Lib "user32" ( ByVal hWnd As LongLong, ByVal nCmdShow As LongLong ) As LongLong

Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
End Sub

بالتوفيق

تم تعديل بواسطه zahrah
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالفعل يا مشرفتنا الفاضلة الكود سليم 100% ,, أهنيك على ما تملكين من قدرات ماشاء الله تبارك الله وعندي كود بعرضه عليك بس موب الحين وابي ابسطة بقدر الامكان وشكرا مرة أخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عفوا .. فقد ظهرت مشكلة في الكود :) وهي أنه لا يسمح بعرض التقارير أو أنه يخفيها لا أدري ما>ا يحدثبالضبط !! آمل التعديل من الأخت زهرة لتعم الفائدة للجميع وشكرا .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عفوا .. فقد ظهرت مشكلة في الكود :) وهي أنه لا يسمح بعرض التقارير أو أنه يخفيها لا أدري ما>ا يحدثبالضبط !! آمل التعديل من الأخت زهرة لتعم الفائدة للجميع وشكرا .

اخي الفاضل : موج

الأكواد السابقة تعمل على كامل كائنات قاعدة البيانات ولا تفرق بين نموذج او تقرير

ولكن السبب الذي يجعل التقرير يختفي او لا يظهر هو انك قمت بالتالي :

قمت بإستخدام الكود مع النماذج وجعلت خاصية النماذج ( منبثق = نعم ) و ( شكلي او مشروط = نعم ) وايضا جعلت النموذج = مربع حوار ، ولهذا عمل معك الكود 100% على النماذج

اذا يا سيدي الفاضل ما قمت بعمله للنماذج قم بعمله ايضا للتقارير وهي استخدام ( منبثق = نعم + شكلي او مشروط = نعم + مربع حوار ، وسوف يعمل معك التقرير ايضا 100%

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سلمك الله وربارك فيك :) .. و كما قال الله تعالى في كتابه العزيز ( هل يستوي الذين يعلمون والذين لا يعلمون ) . زادني الله وأياك وكل مسلم من العلم النافع ونفعنا بما علمنا آمين.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عفوا .. المشرفة الفاضلة زهرة ,, بعد تجربة الكود وتعديل ملاحظاتك اصبح الكود يعمل بشكل ممتاز إلى أن ظهرت لي مشكلة وهي :

اني باستخدام حقل من منوع مرفقات وعند وضعة في نموذج فرعي في عنصر تحكم علامة جدولة وعند محاولة ارفاق اي صورة يعلق البرنامج ولا يستجيب أبدا :(

أرفقت مثال للتوضيح آمل النظر فيه وشكرا لكم جميعا .

HideAccessTest.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سنى 63 سنة أنا معجب جدا بالأخت زهرة عقلية رائعة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .