• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

zahrah

المشرفين*
  • عدد المشاركات

    14,149
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة zahrah

  1. اداة تخفيض مستوى أمان برنامج الأكسيس الى الحد الأدنى لجميع النسخ 97 - 2000 - 2002 - 2003 - 2007 - 2010 اخواني الكرام السلام عليكم ورحمة الله وبركاته كثرت في الآونة الأخيرة الطلبات على تخفيض مستوى الأمان لعدد من نسخ الأكسيس فأحيانا يتم الطلب على قواعد البيانات اكسيس 2003 او 2007 او 2010 مع العلم بأننا قد اجبنا على هذا الموضوع في عدة مواضيع متفرقة في المنتدى مما يصعب ملاحقة كل المشاركات الخاصة بتخفيض الأمان في كل مرة لكل نسخة منفرده . لهذا رأينا انه من الواجب علينا هنا في المنتدى جمع جميع صيغ تخفيض أمان برنامج الأكسيس ابتداء من النسخة 97 وإنتهاء بآخر نسخة 2010 في أداة واحده يمكن استخدامها منفرده مباشرة بمجرد الضغط عليها حيث سيتم اولا معرفة نوع نسخة الأكسيس المراد تخفيض أمانها ثم يعد ذلك يتم تخفيض الأمان في الوضع الصامت بدون ان تشعر بذلك وحتى لو وضعت اعلى مستويات الأمان لكل النسخ فالأداة إن شاء الله تقوم بتخفيض مستوى الأمان الى الحد الأدنى . لماذا هذه الإداة ؟؟ هذه الإداة هي عبارة عن برنامج صغير الحجم تمت برمجة جميع اكواده على قاعدة بيانات اكسيس ثم قمنا بتحويله الى ملف تنفيذي ليساعد كل الأخوة الكرام الذين يحتاجون اليها وخاصة الذين يقومون بعمل برامج للزبائن فقد يكون الزبون لديه اي نسخة سواء 97 او 2000 او 2002 او 2003 او 2007 او 2010 ولم يقم بتخفيض الأمان لبرنامج الأكسيس لعدم معرفته وجهله بذلك لذا فإن هذه الإداة بمجرد تشغيلها او فتحها فإنها ستبحث عن نوع نسخة الأكسيس التي في الجهاز لديه وحتى لو كان لديه كل نسخ الأكسيس فستقوم بتخفيض الأمان بدون ان يشعر الزبون او المستخدم بذلك اي انها تقوم بتنفيذ تخفيض الأمان في الخفاء وكأن شيئا لم يكن ثم تقوم بإغلاق نفسها خلال ثانية واحده . لقد تم تجربة الأداة على جميع نسخ الأكسيس وبفضل الله وكرمه عملت بصورة صحيحة 100% وبدون اي خطأ يذكر . لذا من باب التأكد قم اولا برفع مستوى أمان الأكسيس حسب النسخة او النسخ التي لديك الى اعلى مستوى أمان ممكن بهذه الطريقة : اكسيس 97 - 2000 - 2002 - 2003 من شريط القوائم اختر ادوات ثم ماكرو ثم أمان ثم ضع مستوى الأمان على اعلى مستوى ثم اضغط موافق واخرج من البرنامج قم بتشغيل الأداة التي في المرفقات والتي ستقوم بتخفيض أمان الأكسيس 2003 الى اقل مستوى ممكن بدون ان تشعر بذلك . نتأكد من مستوى امان الأكسيس هل تم تخفيضه ام لا ؟ طبعا وبكل تأكيد سيتم تخفيض الأمان وبدون اي تردد ما ينطبق على اكسيس 2003 ينطبق على نسخة 97 و 2000 و 2002 فجميعها من نفس العائلة من حيث الأمان ايضا في الأكسيس 2007 و 2010 فالوضع لا يختلف عن سابقيه من النسخ لأن الأداة ستقوم بتخفيض الأمان عند تشغيلها اولا ثم بعد ذلك قم بفتح قاعدة البيانات الخاصة بك وهذا هو الأمر الذي كنا قد اغفلناه في المشاركات السابقة لأن نسخة الأكسيس 2007 و 2010 لا يتم فيها تخفيض مستوى الأمان من داخل القاعدة بل نحتاج الى اداة خارجية تقوم اولا بتخفيض الأمان ثم يتم فتح قاعدة البيانات . اكسيس 2007 اضغط على علامة الأوفيس في الركن العلوي من البرنامج ثم اختر خيارات اختر مركز التوثيق ثم اعدادات مركز التوثيق اختر اعدادات الماكرو وضع مستوى الأمان على اعلى مستوى اختر شريط الرسائل وضع الخيار على الخيار الأول ( هنا دائما تحدث المشكلة مع الحلول السابقة حيث يتم فعلا تخفيض الأمان ولكن تبقى رسائل تحذير الأمان تظهر ) الآن اضغط موافق واخرج من برنامج الأكسيس 2007 ثم قم بتشغيل الأداة المرفقه وستجد انه بعد الرجوع للخطوات السابقة انه تم فعلا تخفيض الأمان مع عدم ظهور رسائل تحذير الأمان . اكسيس 2010 كما عملنا مع اكسيس 2007 تقريبا نعمل نفس الخطوات مع اكسيس 2010 بهذه الطريقة من ملف نختار خيارات من مركز التوثيق نختار اعدادات مركز التوثيق نختار اعدادات الماكرو ثم نضع مستوى الأمان على اعلى مستوى ايضا ننتقل الى شريط الرسائل ونطبق اظهار شريط الرسائل ثم نضغط موافق الآن رأينا انه عند تشغيل الأداة لوحدها قبل تشغيل قاعدة البيانات الخاصة بك ففي كل الأحوال لكل النسخ سيتم تخفيض أمان برنامج الأكسيس الى اقل وادنى مستوى ولن يطالبك بأي رسالة تخص مستوى الأمان بعد ذلك . اتمنى انني قد وفقت في شرح ما تقوم به هذه الأداة ورد ولو جزء يسير لأفضال جميع اعضاء المنتدى الكرام . ومن باب الدعابه فقد ارفقنا لكم الأداة الحارقة لقواعد البيانات المارقة :haha: تعديل : نظرا لأن بعض الأخوة الكرام يعانون من صعوبة عدم تخفيض الأمان بواسطة قاعدة البيانات فقد رأينا الإكتفاء فقط بالأداة لوحدها فهي كافية بتخفيض امان جميع نسخ الأكسيس ولا حاجة لك بقاعدة البيانات لأن موضوعنا الرئيسي كله يتمحور حول الأداة نفسها اما قاعدة البيانات التي كانت في المرفقات السابقة فهي ثانوية عملها فقط استدعاء الأداة ولهذا تم الإستغناء عن قاعدة البيانات . لا تنسانا من التقييم بارك الله بك zaLowSecurityAllOffice.rar بالتوفيق
  2. اخواني الكرام السلام عليكم ورحمة الله وبركاته بتوفيق من الله في هذا الشهر المبارك تم ايجاد الحل لعملية التقاط صور الموظفين بواسطة الكميرا او بواسطة الماسح الضوئي ( يمكنك اختيار اي جهاز من الأجهزة المتوفرة لديك ومربوطة بالحاسب الألي ) حيث ان البرنامج سيتعرف على الجهاز المطلوب ويضعه في قائمة الأجهزة الموجودة بالبرنامج . لهذا دعونا نقوم بالشرح التفصيلي لهذا البرنامج 1. عند فتح البرنامج ستجد في مجلد zaCaptureWebCamAndScanner الملفات التالية *. مجلد الصور الذي سيتم حفظ صور الموظفين به بواسطة رقم الموظف وبصيغة JPG بمقاس 200×300 بكسل وبحجم 4 كيلوبايت *. قاعدة البيانات zaCaptureWebCam2008.mdb ( حجمها صغير جدا حوالي 224 كيلوبايت ) *. الأداة المساعدة DBPix20.ocx وهي عبارة مكون آكتف أكس خاص بإلتقاط الصور سواء من الإسكانر او كميرا الويب . ( هذه الأداة مسجله برقم ترخيص ) *. تسجيل الأداة المساعدة على جهازك a. قم بالضغط على ابدأ من الويندوز b. اختر تشغيل c. ضع هذا الأمر في صندوق التشغيل regsvr32 C:\zaCaptureWebCamAndScanner\DBPix20.ocx ثم اضغط OK وستظهر لك رساله بنجاح عملية تسجيل الأداة على جهازك 2. عند فتح قاعدة البيانات سيظهر لك النموذج بهذا الشكل وسيكون خالي من البيانات 3. اذا ظهر لديك خطأ في عدم ايجاد الأداة DBPix20.ocx فيجب عليك ادارجها في مكتبات قاعدة البيانات بهذه الطريقة *. اضغط على المفاتحين ALT+F11 من لوحة المفاتيح ثم اختر من محرر الفيجول بيسك من القائمة Tools ثم اختر References قم بالبحث عن الأداة DBPix20.ocx بواسطة الأمر Browse وستكون الأداة موجوده في نفس المجلد C:\zaCaptureWebCamAndScanner قم بإختيارها ثم ضع عليها علامة صح 3. قم بتعبئة بيانات الموظف مثل الإسم و تاريخ الميلاد ( وإذا رغبت في اضافة حقول اضافية للبرنامج فقم بإدارجها في الجدول ثم اضف الحقول الى النموذج ) ملاحظة : بما ان البرنامج يعتمد على الترقيم التلقائي لرقم الموظف لذا فإنه عند اخذ اي صوره او لقطه سيتم حفظها بنفس الرقم التلقائي لذا حاول استخدام البرنامج بطريقة صحيحة حتى لا تختلف عليك ارقام الصور مع ارقام الموظفين . 4. نأتي الآن لأخذ صورة الموظف سواء من الكميرا او من الماسح الضوئي كل ما علينا هو الضغط بالماوس الأيمن على موقع الصورة ثم اختيار Scan / Acquire وسيتم فتح صندوق حواري تختار منه سواء الكميرا او الماسحة الضوئية اذا كانتا موصولتين بجهاز الكمبيوتر . اضغط على الأمر Acquire ليتم اخذ لقطة او صوره للموظف وسيتم ادراجها مباشرة في مكان الصوره في النموذج وسيتم حفظها ايضا مباشرة بنفس رقم الموظف في مجلد الصور Images بصيغة JPG 5. كرر الخطوات السابقة 3 و 4 لكل سجل جديد وبإمكانك معاينة او طباعة السجل الحالي في التقرير 6. لعملية البحث عن سجل معين برقم الموظف كل ما عليك هو ادخال رقم الموظف في مربع النص ثم اضغط على علامة المنظار وسيتم ايجاد الموظف المطلوب ولإلغاء عملية البحث اضغط على زر انهاء البحث في الجانب الأيسر لمربع النص الخاص بالبحث برقم الموظف البرنامج zaCaptureWebCamAndScanner.rar ختاما أسأل الله العلي القدير ان يعتق رقابنا ورقابكم من النار في هذا الشهر الفضيل وأن يوفقنا واياكم لما فيه الخير
  3. الشرح الكامل التفصيلي المصور لمعرفة نسخة الأكسيس وتخفيض الأمان برمجيا اخواني الكرام السلام عليكم ورحمة الله وبركاته سنقوم بشرح آلية عمل برنامج تخفيض مستوى الأمان في جميع نسخ برنامج الأكسيس برمجيا وبدون اي ملفات اضافية وسيكون ذلك عن طريق الأكواد فقط نبذه عن نسخ برنامج الأكسيس كلنا يعلم ان اي نسخة من برنامج الأكسيس لها رقم خاص يميزها عن غيرها من النسخ فمثلا : نسخة الأكسيس 97 نجد انها تأخذ الرقم 8.0 نسخة الأكسيس 2000 نجد انها تأخذ الرقم 9.0 نسخة الأكسيس 2002 وهي نسخة الـ XP نجد انها تأخذ الرقم 10.0 نسخة الأكسيس 2003 نجد انها تأخذ الرقم 11.0 نسخة الأكسيس 2007 نجد انها تأخذ الرقم 12.0 كيف تتعرف على نسخ الأكسيس الموجوده لديك كل ما عليك هو اتباع هذه الطريقة : 1. من الويندوز اضغط على ابدأ 2. اختر تشغيل واكتب فيه RegEdit اتبع المسار التالي حتى تصل الى المجلد Office HKEY_CURRENT_USER\Software\Microsoft\Office وستجد جميع ارقام نسخ الأكسيس المثبته على جهازك بعد ان عرفنا ارقام نسخ الأكسيس والمسار الخاص بها نريد ان يقوم الكود برمجيا بمعرفة النسخة التي تم فتحها . لهذا سوف نستخدم هذه الوظيفة سواء في وحدة نمطية جديده او توضع مباشرة في الـ VBA ( محرر الفيجول بيسك للتطبيقات ) للنموذج ومن ثم استدعاؤها . كود معرفة نسخة الأكسيس المستخدمة حاليا Function GetVersion() As String GetVersion = SysCmd(acSysCmdAccessVer) End Function تخفيض أمان برنامج الأكسيس الغرض كلنا يقوم بتصميم برامج سواء كانت خاصة او لأغراض ربحيه ولكن احيانا يواجه المستخدمين الذين ليس لهم دراية او معرفة مسبقه بطريقة تخفيض امان الأكسيس ولهذا تظهر لهم بين الحين والآخر الرسائل المزعجة الخاصة بتحذيرات امان الأكسيس لهذا سنقوم بكتابة وظيفة مهمتها تخفيض أمان برنامج الأكسيس الذي يعمل وقت فتح البرنامج وتتم هذه العملية لمرة واحده فقط ومن بعدها سوف يستمر برنامج الأكسيس منخفضا امانه مهما فتحت من قواعد بيانات . الطريقة العادية لتخفيض أمان برنامج الأكسيس لتخفيض أمان برنامج الأكسيس من النسخة 97 وحتى النسخة 2003 فهو بإتباع هذه الطريقة : 1. الذهاب الى اشرطة قوائم الأكسيس 2. ثم اختيار ادوات 3. ثم اختيار ماكرو 4. ثم اختيار الأمان ومن ثم وضع الإشارة على الإختيار الأخير وهو " منخفض " ثم موافق اما في برنامج الأكسيس 2007 فيتم خفض الأمان يدويا بهذه الطريقة 1. الذهاب للقائمة الرئيسية واختيار خيارات الأكسيس . 2. من الخيارات اختر مركز التوثيق ثم اختر اعدادات مركز التوثيق . 3. اختر اعدادات الماكرو ثم ضع الأختيار على اخر اختيار وهو " تمكين كافة وحدات الماكرو " ولكن ليس من المعقول ان نقوم بهذه الخطوات في كل مره او ان نقوم بإبلاغ المستخدمين لهذه الخطوات عندما تظهر لديهم تحذير الأمان لهذا نريد ان يتم ذلك برمجيا بدون تدخل المستخدم . لهذا يجب ان نحصل اولا على المفاتيح الخاصة بهذه العملية من خلال الريجستري الخاص بالويندوز . في الخطوة السابقة لتخفيض أمان الأكسيس يدويا قمنا بوضعه على منخفض لهذا دعونا نرى كيف تم عمل ذلك في الريجستري . لو قمنا بفتح الريجستري وتتبع المسار التالي الخاص بالأكسيس فسنجده بهذه الطريقة : جميع النسخ من 97 وحتى 2003 تأخذ هذا المسار مع اختلاف الرقم في نسخة الأكسيس وهي هنا رقم 11.0 وتعني نسخة اكسيس 2003 للمستخدم هو: [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security] وللنظام هو : [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access\Security] وسنجد ان المفتاح الفرعي لها جميعا بعد تخفيض الأمان يدويا هو "Level"=dword:00000001 اما في الأكسيس 2007 فالوضع مختلف قليلا [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access\Security] حيث يكون المفتاح الفرعي له كالتالي فقط "VBAWarnings"=dword:00000001 وظيفة SaveRegLong حفظ قيمة في الريجستري عبر مفتاح فرعي من نوع Dword Option Compare Database Option Explicit Enum RegHive HKEY_CLASSES_ROOT = &H80000000 HK_CR = &H80000000 HKEY_CURRENT_USER = &H80000001 HK_CU = &H80000001 HKEY_LOCAL_MACHINE = &H80000002 HK_LM = &H80000002 HKEY_USERS = &H80000003 HK_US = &H80000003 HKEY_CURRENT_CONFIG = &H80000005 HK_CC = &H80000005 HKEY_DYN_DATA = &H80000006 HK_DD = &H80000006 End Enum Enum RegType REG_SZ = 1 REG_BINARY = 3 REG_DWORD = 4 End Enum Public Const ERROR_SUCCESS = 0& Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Public Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long Public Function CreateRegKey(hKey As RegHive, strPath As String) Dim hCurKey As Long Dim lRegResult As Long lRegResult = RegCreateKey(hKey, strPath, hCurKey) If lRegResult <> ERROR_SUCCESS Then 'there is a problem End If lRegResult = RegCloseKey(hCurKey) End Function Public Function SaveRegLong(ByVal hKey As RegHive, ByVal strPath As String, ByVal strValue As String, ByVal lData As Long) Dim hCurKey As Long Dim lRegResult As Long lRegResult = RegCreateKey(hKey, strPath, hCurKey) lRegResult = RegSetValueEx(hCurKey, strValue, 0&, REG_DWORD, lData, 4) If lRegResult <> ERROR_SUCCESS Then End If lRegResult = RegCloseKey(hCurKey) End Function سنقوم الآن بإستدعاء هذه الوظيفة من خلال الكود الموجود في حدث عند عداد الوقت لنموذج الشاشة الإفتتاحية للبرنامج وسيكون لجميع نسخ الأكسيس بهذه الطريقة Private Sub Form_Timer() Dim Version As String Dim strVer As String Dim strValueM As String Dim strValueU As String Version = GetVersion() If Version = "8.0" Then strValueM = SaveRegLong(HKEY_LOCAL_MACHINE, "Software\Microsoft\Office\8.0\Access\Security", "Level", 1) strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\8.0\Access\Security", "Level", 1) ElseIf Version = "9.0" Then strValueM = SaveRegLong(HKEY_LOCAL_MACHINE, "Software\Microsoft\Office\9.0\Access\Security", "Level", 1) strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\9.0\Access\Security", "Level", 1) ElseIf Version = "10.0" Then strValueM = SaveRegLong(HKEY_LOCAL_MACHINE, "Software\Microsoft\Office\10.0\Access\Security", "Level", 1) strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\10.0\Access\Security", "Level", 1) ElseIf Version = "11.0" Then strValueM = SaveRegLong(HKEY_LOCAL_MACHINE, "Software\Microsoft\Office\11.0\Access\Security", "Level", 1) strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\11.0\Access\Security", "Level", 1) ElseIf Version = "12.0" Then strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\12.0\Access\Security", "VBAWarnings", 1) End If DoCmd.Close DoCmd.OpenForm "form" End Sub حيث ان الوظيفة الإساسية SaveRegLong تأخذ هذه القيم SaveRegLong(hKey,strPath,strValue,lData) حيث hKey يمثل نوع المفتاح الرئيسي وهو اما HKEY_LOCAL_MACHINE او HKEY_CURRENT_USER strPath يمثل المسار كاملا للمفتاح الفرعي Software\Microsoft\Office\11.0\Access\Security strValue اسم المفتاح وهو في الأكسيس من 97 الى 2003 يكون Level اما في الأكسيس 2007 فيكون VBAWarnings lData هي القيمة المطلوب كتابتها لهذا المفتاح وهي في جميع النسخ الرقم 1 نهاية الشرح بعد تنفيذ هذه الخطوات ووضعها في اي قاعدة بيانات نرغب في تخفيض الأمان لبرنامج الأكسيس سنجد ان الكود سيقوم بهذه الخطوات في الخفاء بدون ان يشعر المستخدم وبدون اي تدخل منه. بإمكانك تجربة وضع أمان الأكسيس يدويا على عالي او متوسط ثم تشغيل البرنامج وستجد ان البرنامج بعد هذه الخطوات سيقوم بتخفيض الأمان الى اقل ما يمكن ولجميع نسخ الأكسيس بدون استثناء عندما يتم فتح البرنامج حسب النسخة المطلوبه فقد يفتح شخص ما البرنامج بواسطة اكسيس 2007 وآخر بواسطة أكسيس 2003 وهكذا سنجد ان البرنامج سيتعرف اولا على رقم نسخة الأكسيس ومن ثم يقوم يقوم بتخفيض الأمان لها مباشرة خلال اقل من جزء من الثانية . وهذا هو البرنامج كاملا ( والكمال لله وحده ) . zaAllAccesVersionAndSecurityLowLevel_Pro.rar ختاما لكم مني خالص الشكر والتقدير
  4. اعزائي الكرام السلام عليكم ورحمة الله وبركاته كثرت الاسئلة عن استخدام الباركود مع برنامج الاكسيس لهذا نضع بين ايديكم الحل الامثل والطريقة تتمثل في التالي اولا : ما هو الباركود " لم اجد تعبيرا افضل من تعبير استاذنا طارق حنيدق حيث قال " هى وسيلة بسيطة لتعريف الارقام يسهل معها استعادة الرقم بجهاز قارئ للباركود ومنذ اختراعه له استخدامات عديدة المخازن الكارنيهات والبطاقات وايضا فى السوبرماركت حيث انه يوفر الوقت باستخدام جهاز القارئ ومنه يعطى اسم الصنف وسعرة واى بيانات اخرى وما على المستخدم الكاشير الا ان يدخل الكمية فقط وبالتالى يكون استخدام الموضوع له اهمية واهميته فى الاكسس اننا كمبرمجين اكسس لانحب ان نلجأ الى حلول برمجية من خارج الاكسس لحبنا الاكسس هذا اولا ثم اعتقاد منى والله اعلم اننا لسنا فى حاجة الى حلول من خارج الاكسس والا نبحث عن لغة برمجة اخرى وان كنت من واقع خبرتى لايوجد مايضاهى الاكسس من حيث سهولة الاستخدام وواقعية التنفيذ وخاصة مع دخول ADO و SQL2000 ( مع احترامى الشديد لمبرمجى اوراكل ودلفى ) انتهى كلامه .. المعدات اللازمه لذلك 1. قارئة باركود 2. طابعة باركود لطباعة الملصقات بعد اخراجها من التقرير 3. ورق وملصقات 4.خطوط خاصة بالباركود مثل خط Code39 وخط Code128 لتحميل الخطوط ALLBarcode Font.rar IDAutomationCode39.zip 5. برنامج اكسيس مع الاداة الخاصة بالباركود طريقة تسجيل الاداة barcodex.ocx في الويندوز ليقبلها الاكسيس 1. بعد تحميل الاداة من الملف المرفق قم بنسخ الاداة الى مجلد C:\WINDOWS\system32 2. اذهب الى ابدأ واختر تشغيل وضع هذا الامر في المربع الحواري الظاهر امامك regsvr32 "C:\WINDOWS\system32\barcodex.ocx" 3. اضغط موافق وسيتم تسجيل الاداة وظهور رسالة تفيد بإتمام عملية التسجيل بنجاح 4. الان افتح ملف الاكسيس المرفق وانظر النتيجه barcodex.rar ملاحظة : تستطيع كتابة الارقام والحروف مثل 100-25-10001 او zahrah او arabteam2000 او 123456789 ثم الضغط على انتر Enter في لوحة المفاتيح وستجد البرنامج يقوم بإظهار رمز الباركود المقابل له في النموذج اختكم زهره
  5. بسم الله الرحمن الرحيم وعلى بركة الله .... نبدأ بإفتتاح مكتبة قسم الاكسيس 1. خمسون ماكرو في قمة الروعه 2. تسعة طرق للبحث لابو هاجر 3. اله حاسبة بها امكانية النسخ واللصق 4. اله حاسبة كيميائيه للاخت جنان 5. التاريخ مطروح منه 55 يوم وايضا هناك نموذج لا يقيدك بعدد الايام بل اطرح منه اي رقم تريد ليظهر لك الناتج مباشره 6. السحب والافلات بين المربعات 7. النسبة والتقدير لنتائج الطلاب 8. جميع دوال الاكسيس في نموذج بالشرح 9. الخصم والاضافه في كميات الاصناف 10 . المكتبة العربية من اروع المكتبات لابو عقيل 11. ثلاث طرق للطباعة 12. من اروع الامثله على دوال المجال التجميعية 13. من اروع الامثله على تغيير الوان السجلات في النماذج المستمره 14. ثلاثه امثله من اروع ما يمكن لتدفق البرنامج مثل التقدير والجنسيه وغيرها لابو هاجر 15 . مثال على استخدام ADO ويظهر لك رسائل تخبرك اين موقع المعامللات وفي اي درج 16. مثال على استعلام تحديد بالاختيار من قائمه لعادل القاسمي اختكم زهره 50micro.rar 9_serch.rar Calculatrice.rar chemcalc1.rar Date_55.rar DragAndDrp_.rar PalancAndGr.rar function.rar Fatoorh2000.rar PrintCurrentRecord2000.rar Aggregate2000_.rar ColorRecords2000.rar Tdafuq2000_.rar ExampleADO2000.rar Creating_a_Query.rar
  6. مشاركة قواعد البيانات اكسيس على الشبكة مع التقدم الكبير الذي حدث في منتصف القرن الميلادي المنصرم وإزدياد المعلومات في كل التخصصات اشتددت الحاجة إلى قواعد وادوات تنظم هذا السيل من البيانات وكان للحاسوب الدور الرئيسي في ذلك ، فالوظيفة الرئسية لقواعد البيانات هي جمع البيانات على شكل معلومات عن كائن أو حدث ما ثم صياغة هذه البيانات بطريقة منظمة ومتقدمة على نحو يمكن الإنتفاع به في صنع القرار ، ويوجد كثير من قواعد البيانات التي تلبي متطلبات العمل ومنها البرنامج الشهير أكسيس Access ، ومن مميزاته العديدة أنه قادر على العمل على شبكة بنفس الكفائة . السماح بالمشاركة في العديد من الشركات الصغيرة والمؤسسات تكون الحاجة ماسة للمشاركة في البيانات والوصول السريع وفي نفس الوقت للبيانات ، وتوجد إمكانية عمل ذلك في برنامج Access ، ولكن قبل بداية العمل يجب الإختيار بين اثنين من الخيارات المتاحه امامك للمشاركة في البيانات : الخيار الاول : وضع كامل قاعدة البيانات على الخادم الخيار الثاني : وضع بيانات مشاركة على الخادم طبعاً الخيار الاول واضح من اسمه ، كل قاعدة البيانات الـ mdb تكون على الخادم كل الكائنات من نماذج وتقارير ووحدات مايكرو وجداول تكون بنفس الصيغ للجميع وأي تغير على عنصر من العناصر يكون مشاهد من الجميع في نفس الوقت ، وأي عبث بالكائنات مثل المايكرو يكون الخلل على القاعدة الاساسية الموجودة على الخادم ، وطبعا هذه الطريقة بها من المخاطرة نوعاً ما . والطريقة الثانية وهي وضع البيانات مشاركة فهي تتمثل في وضع الجداول فقط على الخادم ثم القيام بنسخ جميع الكائنات على جميع محطات العمل ، وهذا الاسلوب فيه ميزتين : 1. تقليل الضغط على الشبكة فالبيانات هي التي تنتقل عبر الشبكة فقط وباقي االكائنات تكون موجودة على القرص محلي . 2. عند التعديل من أي مستخدم على عنصر من العناصر مثل المايكرو يكون التغير السلبي أو الإجابي على جهاز المستخدم نفسه ولا يشاهد هذا التغير بقية أعضاء الشبكة . كيف نفصل الجداول عن باقي الكائنات ؟ يعتبر الفصل بين الجداول والكائنات في الاكسس عملية سهلة لوجود معالج يقوم بالفصل بين الجداول ووضعها في قاعدة بيانات منفصلة والكائنات في قاعدتها الاصلية ،سنقوم الآن بالتجربة على قاعدة البيانات C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb الموجودة مع طاقم الاكسس . بداية خذ نسخة من قاعدة البيانات التي ترغب بتقسيمها وذلك لتتمكن من إرجاعها عند حدوث كارثة لاسمح الله . أفتح القاعدة في وضع التصميم ثم اختر من أدوات Tools أدوات مساعدة لقواعد البيانات Database Utilities تقسيم قاعدة البيانات Database Splitter ثم من النافذة نختار تقسيم قاعدة البيانات Split Database يطلب منك إختياراسم جديد للقاعدة ومكان الحفظ ، وتأكد أن مسار الحفظ هو مسار محرك الاقراص للخادم فهذه القاعدة ستكون بها الجداول فقط وستكون مرتبطة بصورة آلية مع كل قواعد البيانات الموجودة على باقي محطات العمل ، إذا تمت مراحل التقسيم بنجاح ستشاهد رسالة مثل التالية : الآن افتح قاعدة البيانات الاصلية ستشاهد أمام كل جدول رمز جديد يشبه السهم وهذا يدل على وجود إرتباط مع قاعدة بيانات ثانية ، ولو فتحت القاعدة الجديد لن تجد إلا الجداول فقط ، يمكن أن تضع نسخة من القاعدة الاصلية على محطات العمل الموجدة على الشبكة وستكون مرتبطة مع الجداول الموجودة على الخادم بصورة آلية . بداية العمل مع البيانات عند العمل على شبكة فمن الممكن حدوث تعارضات عن إدخال المستخدمين البيانات في نفس السجلات ، ويعالج البرنامج اكسس هذه المشكلة بطريقة تإمين السجلات ، Record Locks ، وعند إختيار الخاصية سجل محرر Edited Record ففي هذه الحالة عندما يفتح المستخدم النموذج يكون بجانب السجل الاول رمز مثل القلم وهذا يدل على أن النموذج حر ويمكن استخدامه ، وفي نفس الوقت لو فتح أحد المستخدمين هذا النموذج سيجد رمز القفل وهذا يدل على أن النموذج الآن قيد الاستخدام ولا يمكن إستخدامه في هذا الوقت . حتى يقوم المستخدم الاول بحفظ العمل ، كما نشاهد في الشكل تأمين السجلات في خصائص النموذج . ملاحظة يأخذ اكسس تقريباً 60 ثانية حتى يقوم بعرض العلامة ويمكن تغير هذه الفترة الزمنية من أدوات Tools خيارات Options خيارات متقدمة Advanced ثم من تحديث الفاصل الزمنى Refresh Interval ثم تغير الزمن من 60 ثانية إلى الوقت المناسب ، ولو كان مثلا 5 يكون أفضل عندما تكون قاعدة البيانات متوسطة الحجم ، ومن نافذة خيارات متقدمة Advanced ، يمكن أن تحدد كثير من الخصائص المتعلقة بتحديث البيانات عند الاستخدام المشترك وتستطيع أن تجرب عدد من التجارب إلى أن تصل إلى أفضل المستويات الممكنة ، اختكم زهره
  7. اعزائي الكرام السلام عليكم ورحممة الله وبركاته من منا لم يمر عليه يوما من الايام وفقد كل ما قام به في قاعدة البيانات ولم يستطع ارجاعه الى ماكان عليه اذن ما هو الحل الحل هنا في منتدى الفريق العربي للبرمجه / قسم الاكسيس . الان لايوجد لديك اي مشكلة حتى لو وصل حجم جداولك الى واحد تيرابايت مع برنامج AccessFIX البرنامج كامل اذا طلب منك التسجيل فأختر من القائمة Help واختر Register Access FIX ستظهر لك خانتين اكتب في الاولى zahrah وفي الثانية [email protected] ملاحظه : لا تقم بالتحديث حتى لا تفقد رقم التسجيل المسجل بإسم " zahrah " نبذه عن البرنامج برنامج صغير الحجم مقارنة بما يقدمه من خدمة جليلة كل ما عليك هو اختيار قاعدة البيانات من نوع MDB التالفه حتى لو كان حجمها كبير جدا لا عليك البرنامج سيقوم بعمله على اكمل وجه ونظرا لسهولته سأقدم لكم الشرح المصور له فقط اتبع الخطوات الخطوة الاولى الخطوة الثانية الخطوة الثالثة الخطوة الرابعة الخطوة الخامسة جميع الحقوق محفوظة لمنتديات الفريق العربي للبرمجه اختكم زهره AccessFix.rar
  8. كتب ومصادر وشرائح - الذكاء الإصطناعي المجموعة الأولى دروس في الذكاء الصناعي.rar Artificial Intelligence Illuminated.rar Beginning.Algorithms.rar Analysis.of.Algorithms.An.Active.Learning.Approach.rar --- يتبع المجموعة الثانية ---
  9. اعزائي الكرام سوف نقوم بشرح عدة مواضيع تتعلق بإدارج ملف صوت في بدء فتح النموذج او عند اغلاقه وكذلك سننشئ زر امر لتشغيل الصوت وسنقوم بعد ذلك بإدراج ملف فلاش في النموذج وكذلك زر امر تكبير الشاشه واستعادتها فإلى الشرح المصور خطوه خطوه ويفضل ان تقوم بعمل مجلد خاص بك وتضع فيه ملفات الاصوات والفلاش والميديا ثم تتبع الخطوات ليسهل عليك العمل وهناك امر اخر اشدد عليه ان تكون اسماء الملفات بالانجليزي ليسهل التعامل معها اولا: لجعل الصوت يعمل في بداية فتح النموذج او عند الاغلاق او التحميل اتبع الخطوات التالية كما في الصوره الخطوة الثانية الان ضع الكود كما تلاحظ في اخر الكود يوجد ملف صوتي غيره بملفك الخاص Private Sub Form_Open(Cancel As Integer)    Call PlaySound(Application.CurrentProject.Path & "\Ekhlas.wav")        End Sub في حدث عند النقر تابع معانا الشرح
  10. اخواني وأخواتي الكرام السلام عليكم ورحمة الله وبركاته بارك الله بكم جميعا على هذا الشعور الجميل للإطمئنان والسؤال عنا خلال الفترة السابقة اخبركم بأنني بخير ولله الحمد ولكن كما تعلمون مشاغل الدنيا - الله لا يشغلنا إلا في طاعته - حدت بنا خلال الفترة الماضية للإنقطاع عن المنتدى ونحمد الله على عودة المنتدى ونشكر القائمين عليه  . أما بخصوص من يقول ان هناك خلافات او مشاكل بيني وبين الإدارة فأحمد الله انه لا يوجد بيننا اي خلاف بل نحن سمن على عسل . ختاما أتمنى من الله العلي القدير ان تسود الألفة والمحبة والتعاون بين جميع اعضاء المنتدى لننهض بالمنتدى كسابق عهده ولكم منا خالص الشكر والتقدير .
  11. اخواني الكرام   السلام عليكم ورحمة الله وبركاته   اهديكم برنامج الترجمة الناطق من الإنجليزية الى العربية مفتوح المصدر   وقريبا إن شاء الله سنقوم بتطويره   تم عمل التحديث رقم 1.1               za-Translate v 1.1.rar   بالتوفيق
  12. ادراج الصور في النماذج او التقارير من مجلد منفصل عن القاعده اعزائي الكرام السلام عليكم ورحمة الله وبركاته سؤال : هل هناك فرق بين وضع الصور في قاعدة البيانات وخصوصا في الجداول مباشرة عن طريق عنصر التحكم OLE وبين وضع رابط نصي فقط يشير الى مكان وجود الصوره في اي محرك من محركات الاقراص على جهاز الكمبيوتر ؟ الاجابه : طبعا الفارق كبير جدا بين الوضعين بدلالة تضخم حجم قاعدة البيانات التي تحتوي على الصور لانها تكون مضمنه اذن دعونا نأخذ الميزات والعيوب لكل نوع من الانواع النوع الاول : في حالة وضع الصوره مياشرة في الجدول المميزات : 1. بما انه تم تضمين هذه الصور في الجدول اذن اصبحت جزء من قاعدة البيانات . وهذه الميزه مهما نقلت قاعدة البيانات الى اي مكان فستضل مرتبطه بالقاعده . 2. لا يمكن ازالتها بسهوله . او التحكم بها لانها اصبحت بيانات ثنائيه . العيوب : 1. تضخم قاعدة البيانات نظرا لما تحويه من صور مدمجه مع القاعدة 2. لا يقبل الا صيغة الصور من نوع BMP والكل يعلم ان هذا النوع كبير نسبيا مقارنة مع باقي الصيغ الخاصه بالصور . 3. مشكلة نقل قاعدة البيانات الى موقع اخر وهي بحجم كبير جدا قد يصل الى واحد قيقا بايت . 4. مشكلة فتح قاعدة البيانات المحملة بالصور فإذا انهارت لا يمكن اصلاحها ابدا نظرا لضخامتها . النوع الثاني : في حالة وضع الصور في مجلد منفصل او في اي مكان من الكمبيوتر . المميزات : 1. يعتبر هذا النوع من الانواع المفضلة لقواعد البيانات اكسيس نظرا لخفته وحجمة الصغير جدا . 2. الصور تكون على شكل مسار في جدول مثل C:\MyPhoto\za.jpg وهذا المسار لا يأخذ حيزا كبيرا من مساحة القاعدة فهو يشير فقط الى موقع الصوره 3. هذا النوع يقبل جميع صيغ الصور المعروفه مثل BMP و JPG و GIF و WMF و PSD 4. يتم التحكم بحجم الصوره من تكبير وتصغير تمدد او قطع . العيوب : 1. عند نقل القاعدة تفقد الارتباط بالصور المخزن مسارها في الجدول ولن تظهر الصور حتى يتم تعريف الارتباط مجددا . والان دعونا نقوم بعمل هذه القاعدة و ماذا نحتاج لذلك . كل ما نحتاجه هو جدول به حقلين وليكن اسمه مثلا Imagetable الحقل الاول : معرف او ImageID ..... ونوعه ترقيم تلقائي الحقل الثاني : مسار الصوره او ImagePath ونوعه تص وحجمه 255 حرف نموذج مبني على الجدول السابق وليكن اسم النموذج مثلا Imageform 1. نقوم بعرض النموذج في وضع التصميم ومن ثم نقوم بزيادة مساحته للاسفل بحيث يتسع لمكان صوره 2. نقوم بإدراج صوره في النموذج وذلك من خلال اشرطة الاداوت ومن ثم نختار ادراج ونختار صوره لتكون هي الاساس في حالة عدم وجود صورة او سجل جديد . وستكون هي بمثابة اطار وسوف نسمي هذا الاطار الخاص بالصوره ImageFrame 3. ننتقل الى مربع النص ImagePath ونختار خصائصه ومن ثم نضع هذا الكود في حدث الحالي وفي حدث بعد التحديث Private Sub Form_Current() On Error Resume Next Me![ImageFrame].Picture = Me![ImagePath] End Sub و Private Sub ImagePath_AfterUpdate() On Error Resume Next Me![ImageFrame].Picture = Me![ImagePath] End Sub من خلال الاحداث السابقه تم ربط الاطار ImageFrame الخاص بالصوره مع مربع النص ImagePath بحيث لو تغير مسار الصوره تتغير الصوره مع ما هو مكتوب في مربع النص . الى هنـــــــــــــــا كل الامور ماشيه تمام باقي علينا بعض التحسينات فليس من المعقول انه كلما اردنا ادراج صوره ان نكتب ذلك يدويا فالعملية متعبه لذا سنقوم بعمل التالي : بجانب مربع النص او قريب منه نقوم بوضع زر امر وليكن اسمه مثلا cmdAdd يعني زر امر اضافه صوره ونضع له في حدث عند النقر هذا الكود Private Sub cmdAdd_Click() Dim strFilter As String   Dim lngflags As Long   Dim varFileName As Variant   strFilter = "All Files (*.*)" & vbNullChar & "*.*" _    & vbNullChar & "All Files (*.*)" & vbNullChar & "*.*"       lngflags = tscFNPathMustExist Or tscFNFileMustExist _    Or tscFNHideReadOnly     varFileName = tsGetFileFromUser( _   fOpenFile:=True, _   strFilter:=strFilter, _   rlngflags:=lngflags, _   strDialogTitle:=" الرجاء اختيار ملف ")     If IsNull(varFileName) Then    Else      Me![ImagePath] = varFileName   End If cmdAdd_End:   On Error GoTo 0   Exit Sub cmdAdd_Err:   Beep   MsgBox Err.Description, , "Error: " & Err.Number _    & " in file"   Resume cmdAdd_End End Sub نلاحظ ان الحدث التالي يستدعى وحده نمطيه بها هذه الوظيفه tsGetFileFromUser اذن كل ما علينا هو نسخ هذا الكود ووضعه في وحدة نمطية جديده وليكن اسمها مثلا basBrowseFiles Option Compare Database Option Explicit Private Declare Function ts_apiGetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (tsFN As tsFileName) As Boolean Private Declare Function ts_apiGetSaveFileName Lib "comdlg32.dll" _ Alias "GetSaveFileNameA" (tsFN As tsFileName) As Boolean Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long Private Type tsFileName   lStructSize As Long   hwndOwner As Long   hInstance As Long   strFilter As String   strCustomFilter As String   nMaxCustFilter As Long   nFilterIndex As Long   strFile As String   nMaxFile As Long   strFileTitle As String   nMaxFileTitle As Long   strInitialDir As String   strTitle As String   flags As Long   nFileOffset As Integer   nFileExtension As Integer   strDefExt As String   lCustData As Long   lpfnHook As Long   lpTemplateName As String End Type ' Flag Constants Public Const tscFNAllowMultiSelect = &H200 Public Const tscFNCreatePrompt = &H2000 Public Const tscFNExplorer = &H80000 Public Const tscFNExtensionDifferent = &H400 Public Const tscFNFileMustExist = &H1000 Public Const tscFNPathMustExist = &H800 Public Const tscFNNoValidate = &H100 Public Const tscFNHelpButton = &H10 Public Const tscFNHideReadOnly = &H4 Public Const tscFNLongNames = &H200000 Public Const tscFNNoLongNames = &H40000 Public Const tscFNNoChangeDir = &H8 Public Const tscFNReadOnly = &H1 Public Const tscFNOverwritePrompt = &H2 Public Const tscFNShareAware = &H4000 Public Const tscFNNoReadOnlyReturn = &H8000 Public Const tscFNNoDereferenceLinks = &H100000 Public Function tsGetFileFromUser( _ Optional ByRef rlngflags As Long = 0&, _ Optional ByVal strInitialDir As String = "", _ Optional ByVal strFilter As String = "All Files (*.*)" & vbNullChar & "*.*", _ Optional ByVal lngFilterIndex As Long = 1, _ Optional ByVal strDefaultExt As String = "", _ Optional ByVal strFileName As String = "", _ Optional ByVal strDialogTitle As String = "", _ Optional ByVal fOpenFile As Boolean = True) As Variant     On Error GoTo tsGetFileFromUser_Err   Dim tsFN As tsFileName   Dim strFileTitle As String   Dim fResult As Boolean   ' Allocate string space for the returned strings.   strFileName = Left(strFileName & String(256, 0), 256)   strFileTitle = String(256, 0)   ' Set up the data structure before you call the function   With tsFN      .lStructSize = Len(tsFN)      .hwndOwner = Application.hWndAccessApp      .strFilter = strFilter      .nFilterIndex = lngFilterIndex      .strFile = strFileName      .nMaxFile = Len(strFileName)      .strFileTitle = strFileTitle      .nMaxFileTitle = Len(strFileTitle)      .strTitle = strDialogTitle      .flags = rlngflags      .strDefExt = strDefaultExt      .strInitialDir = strInitialDir      .hInstance = 0      .strCustomFilter = String(255, 0)      .nMaxCustFilter = 255      .lpfnHook = 0   End With     ' Call the function in the windows API   If fOpenFile Then      fResult = ts_apiGetOpenFileName(tsFN)   Else      fResult = ts_apiGetSaveFileName(tsFN)   End If   ' If the function call was successful, return the FileName chosen   ' by the user.  Otherwise return null.  Note, the CancelError property   ' used by the ActiveX Common Dialog control is not needed.  If the   ' user presses Cancel, this function will return Null.   If fResult Then      rlngflags = tsFN.flags      tsGetFileFromUser = tsTrimNull(tsFN.strFile)   Else      tsGetFileFromUser = Null   End If   tsGetFileFromUser_End:   On Error GoTo 0   Exit Function tsGetFileFromUser_Err:   Beep   MsgBox Err.Description, , "Error: " & Err.Number _    & " in function basBrowseFiles.tsGetFileFromUser"   Resume tsGetFileFromUser_End End Function ' Trim Nulls from a string returned by an API call. Private Function tsTrimNull(ByVal strItem As String) As String     On Error GoTo tsTrimNull_Err   Dim I As Integer     I = InStr(strItem, vbNullChar)   If I > 0 Then       tsTrimNull = Left(strItem, I - 1)   Else       tsTrimNull = strItem   End If     tsTrimNull_End:   On Error GoTo 0   Exit Function tsTrimNull_Err:   Beep   MsgBox Err.Description, , "Error: " & Err.Number _    & " in function basBrowseFiles.tsTrimNull"   Resume tsTrimNull_End End Function الان نقوم بحفظ ما قمنا بعمله ونختبر هذه القاعده وذلك بإدارج صور من خلال الزر الخاص بمربع حوار فتح الملفات الحمد لله القاعدة اجتازت الاختبار وتم ادارج اول صوره من صنع يدينا وبكل بساطه ولكن لحظه لم ننتهي بعد . طيب نريد نعمل شوية حركات فنيه ولمسات سحريه على البرنامج . مو مشكلة نعمل وفيها ايه طالما البرنامج حيكون ممتاز حسب المواصفات والمقاييس العالميه ISO2005 نرغب في عمل تقرير بحيث يعرض مره يعرض كل الصور دفعه وحده وعلى شكل صفحات ومره يعرض لنا صوره وحده فقط في السجل وكمان فيه شغله ثانيه ياريت تشيلون كل حاجة من التقرير وتتركوا بس الصوره في التقرير عشان احنا محتاجين هذا البرنامج لعرض صور المعاملات التي سحبناها بالاسكانر ووضعناها في مجلد خاص . ابشروا حاضرين كل حاجه حنعملها بس لا تعصبوا علينا . شوف ياعم نعمل تقرير مبني على الجدول ونسمي هذا التقرير مثلا rptImage سهله ولا اسهل منها وبعدين نروح لاشرطة الادوات ونختار ادراج صوره " فاكرين الحركه دي لما عملناها في النموذج " حركه حلوه والا ايه رأيكم . ونختار لها صوره عشان اذا ما فيه سجل او ان السجل جديد تعرض لنا هذه الصور " يوجد مع الملف المرفق صوره من صنع ايديه . وكمان نسمي اطار الصوره ImageFrame كما سميناه في النموذج . وبعدين ......... وبعدين انت معاك خلونا نكمل ... كل شويه وبعدين وبعدين :lol: :lol: الان نقوم بعرض التقرير في وضع تصميم ونذهب الى حدث تفصيل التقرير ونضع هذا الكود Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) Me![ImageFrame].Picture = Me![ImagePath] End Sub انتبه لكلمة " تفصيل " في النسخه العربيه من الاكسيس في الكود ممكن تكون تكون في النسخ الانجليزيه detail غيرها اذا عندك نسخة عنجليزيه ;) نقوم الان بالتجربه وهل الكلام ده صحيح والا لألألألأ الحمد لله البرنامج اجتاز الاختبار وكل ما اخترنا او غيرنا صوره في النموذج بتتغير كمان في التقرير ... احمدك يارب . فاضل شغله بسيطه نعرض التقرير في عرض التصميم ونختار مربع النص ImagePath والتسميه الخاصه به و ImageID والتسميه الخاصه به ونختار خصائص ثم نختار مرئي ( لا ) الان استطعنا اخفاء كل شيئ عدى فريم او اطار الصوره نقوم بسحب الاطراف وتكبير الاطار يمين ويسار وفوق وتحت حتى يأخذ مساحة التقرير ونحاسب لايزيد حجم التقرير عن الطول والعرض اللازم عشان ما تختفي الصور . راجع التقرير في المثال المرفق . طيب وبعدين ؟؟ لا حول ولا قوة الا بالله وبعدين معاك انت خلينا نكمل . " ما عليش ياجماعه اصل فيه حاجه في الماوس بتعلق بالكتابه عشان كذا دايم اكتب وبعدين :lol: :lol: الان سوف نعرض صفحه واحده فقط من التقرير والمسأله سهله نقوم بعمل زر امر وخلونا نسميه مثلا ViewOne ونقوم بإختيار حدث له عند النقر ونضع هذا الكود Private Sub ViewOne_Click() Dim strReportName As String    Dim strCriteria As String    If NewRecord Then        MsgBox "الرجاء ادراج صوره جديده" _             , vbInformation, "Invalid Action"        Exit Sub    Else        strReportName = "rptImage"        strCriteria = "[ImageID]= " & Me![ImageID]        DoCmd.OpenReport strReportName, acViewPreview, , strCriteria    End If End Sub وايضا نعمل زر للطباعه ونضع به هذا الكود في حدث عند النقر Private Sub ViewOne_Click() Dim strReportName As String    Dim strCriteria As String    If NewRecord Then        MsgBox "الرجاء ادراج صوره جديده" _             , vbInformation, "Invalid Action"        Exit Sub    Else        strReportName = "rptImage"        strCriteria = "[ImageID]= " & Me![ImageID]        DoCmd.OpenReport strReportName, acViewPreview, , strCriteria    End If End Sub طيب وبعدين ..... يووووووووووووه نقوم بعمل بقية الاوامر مثل اضافة وحذف وخروج وتحسين مظهر النموذج ..... وبعدين :lol: خلاص انتهينا وهذا ملف مرفق Photo2005.rar من خلال المشاركه احببت ان اضفي نوع من المرح لان الموضوع طويل وحتى لا يمل القارئ الكريم احببنا يفرفش ويتعلم ويستفيد مع احترامي وتقديري للجميع اختكم زهره
  13.     اخي الفاضل   وعليكم السلام ورحمة الله وبركاته   ما يتم حذفه من بيانات في اي جدول من جداول الأكسيس لا يمكن استعادته بأي حال من الأحوال   بالتوفيق
  14. اخي الكريم   السلام عليكم ورحمة الله وبركاته   بالنسبة لهذه النسخة فهي معمولة اساسا على اكسيس 2003 وكما تعلم ان مزايا اكسيس 2003 تختلف عن اكسيس 2010   وهذا ما يخص امر التكبير والتصغير فلو فتحت النسخة على اكسيس 2003 ستجدها تعمل بشكل صحيح اما على اكسيس 2010 قالوضع مختلف     اما ما يخص ازرار التنقل فتذكر بارك الله بك انك قمت بعملية الفلترة للسجل المعروض حاليا فقط اي انه لن يتم التنقل بين السجلات   لأن هناك فلتر على رقم الموظف فقط .   اما لو قمت بإستبعاد الفلتر فسيتم عرض جميع السجلات في التقرير ووقتها تستطيع استخدام ازارز التنقل في التقرير   بالتوفيق
  15. تفضل اخي الكريم         Report_options-As-Crystal Reports-UP.rar   بالتوفيق
  16. أرجو المساعدة

    تفضل اخي الكريم   ملفك بعد التعديل بناء على طلبك     za-Calendar-UP.rar   بالتوفيق
  17. اخي الفاضل : عزيز   السلام عليكم ورحمة الله وبركاته   خذها قاعدة دائما وابدا عندما تقوم بعمل اي قاعدة بيانات ثم تقوم بتشغيلها على نفس نسخة الأكسيس فإنها تعمل دائما بدون اي مشاكل   الأن انت ستقوم بإستيراد اي كائنات مثل الوحدات النمطية الى قاعدة بيانات اخرى مختلفه عن القاعدة الرئيسية التي بها اساس الوحده النمطية   لذا يجب عليك اولا معاينة المراجع والمكتبات في القاعدة الأساسية وجعل المراجع والمكتبات ايضا هي نفسها في القاعدة الثانية وبنفس الترتيب   لذا افتح القاعدة التي معموله بأكسيس 2010 واذهب الى المراجع والمكتبات ثم قم بإضافة المكتبات والمراجع الناقصة   بهذه الطريقة :           بالتوفيق
  18. اخي الفاضل   تم استخراج بيانات ملفك بواسطة برنامج خارجي مدفوع وليس مجاني فقد اشتريته منذ فتره   وهذا هو موقع البرنامج   http://www.rixler.com/access_password_recovery.htm   بالتوفيق
  19. تفضل اخي الكريم   الأسماء والأرقام السرية الموجوده في الملف     User Name.....................................Password admin...........................LmnKds31mAaMY immtasc..........................nowtouchthesky tasc................................tasc244708486              بالتوفيق
  20. اخي الفاضل : ابو عيسى   استخدم الأسطر الثلاثه التي عدلتها لك فقط ولا تغير اي شيء   بالتوفيق
  21. اخي الفاضل : ابو ماهر   وعليكم السلام ورحمة الله وبركاته   ضع ملف mdw هنا في المنتدى حتى نسنطيع مساعدتك   بالتوفيق
  22. تفضل اخي الكريم   ملفك بعد التعديل   حاول تضغط على زر امر استيراد البيانات من الأكسيل مليون مره فلن يتم التكرار ابدا في الجدول     za-aziz.rar   بالتوفيق
  23.     راجع المشاركة الخاصة بك فقط وضعنا لك الحل بها   http://arabteam2000-forum.com/index.php/topic/288430-%D9%87%D9%84-%D9%8A%D9%85%D9%83%D9%86-%D8%AC%D8%B9%D9%84-%D8%A7%D9%84%D9%88%D8%AD%D8%AF%D8%A7%D8%AA-%D8%A7%D9%84%D9%86%D9%85%D8%B7%D9%8A%D8%A9-%D8%A7%D9%88-%D8%A7%D9%84%D9%83%D9%88%D8%AF%D8%A7%D8%AA-%D8%AA%D8%B9%D9%85%D9%84-%D8%B9%D9%84%D9%89-%D8%A7/   بالتوفيق
  24. تفضل اخي الكريم   تم التعديل على جميع  الأكواد في الوحدات النمطية بحيث تعمل على نظام 64 بت  و  32 بت   za-Kamal_Db_32&64Bit.rar   بالتوفيق
  25.     اخي الفاضل : ابو عيسى   انت تستخدم نظام 64 بت لذا استبدل الأسطر الثلاثة الأولى بهذه الأسطر   Private Declare PtrSafe Function ts_apiGetOpenFileName Lib "comdlg32.dll"  Alias "GetOpenFileNameA" (tsFN As tsFileName) As Boolean Private Declare PtrSafe Function ts_apiGetSaveFileName Lib "comdlg32.dll"  Alias "GetSaveFileNameA" (tsFN As tsFileName) As Boolean Private Declare PtrSafe Function CommDlgExtendedError Lib "comdlg32.dll" () As Long الفرق بين الأسطر السابقة 32 بت  و  64 بت  هو اضافة كلمة PtrSafe  بعد كلمة  Declare  بمعنى اصبحت الأسطر بعد التعديل بهذه الطريقة  Private Declare PtrSafe Function  بالتوفيق