اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

    9952
  • تاريخ الانضمام

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

  • Days Won

    405

كل منشورات العضو jjafferr

  1. أخي علي ، خلينا نمشي على النقاط التالية: 1. اذا كان عندك الاكسس 2007 في اول اصداراته (يعني بدون تحديثات ، وللأسف هذه النسخة موجودة ورأيت الكثير منها ، والكثير من الناس يأخذوها من CD او DVD غير مشروع) ، ففي هذه النسخة ، اذا كنت طلبت من البرنامج: Compact on close ، فالفرصة كبيرة بأن يعمل Corruption لقاعدة البيانات في بعض الكمبيوترات. 2. لهذا السبب يجب عمل التحديثات (Service pack او SP) على الاكسس (لجميع الاصدارات ، لهذا السبب ولأسباب اخرى) ، وهذا الموقع يحتوي على رابط لآخر تحديثات الاوفيس: http://pcsupport.about.com/od/keepingupwithupdates/a/office-service-pack.htm وهناك العديد من الاشخاص الذين للاسف الشديد لا يقومون بتحديث الـ Windows ولا الاكسس ، لهذا السبب اسمح لي اخبرك ، بأن اول تحديث للاكسس 2000 تم فيه تصليح 200 عيب وثغرة من البرنامج الاصل 3. عند حذف السجلات في الاكسس ، فان الاكسس لا يقوم بحذفها نهائيا من البرنامج ، إلا عندما تقوم بعملية Compact and Repair. مثال: قم بعمل قاعدة بيانات بجدول واحد مثلا ، وادخل فيه آلآف السجلات ، اغلق البرنامج ، لاحظ حجم الملف ، افتح البرنامج ، احذف كم هائل من السجلات ، اغلق البرنامج ، لاحظ حجم الملف ، سترى انه تقريبا نفس الحجم الاصلي ، الآن افتح البرنامج ، اعمل Compact and Repair ، واغلق البرنامج ، لاحظ حجم الملف 4. بالنسبة لي انا ، فمعظم برامجي تحتوي على FE و BE الذي يحتوي على الجداول (في البداية ، البرنامج يكون غير مقسم ، الى ان يأخذ البرنامج شكله وعمله الصحيح ، فعندها اقسمه) ، في FE ، في النموذج الرئيسي ، فاستخدم مثل الكود التالي ، والذي يعمل لي نسخة من BE في مجلد خاص للـ Backup ، كلما يغلق المستخدم برنامجه ، ويكون اسم الملف مختوما باليوم والساعة والدقيقة والثانية ، وطبعا السؤال الذي يسأله الكثيرين هو ، سيصبح لدينا الكم الهائل من هذه الملفات ، وجوابي هو: أ. حجم الهارد ديسك هذه الايام مهول ، فلا مشكلة ، ب. معظم مشاركاتي في النتدى ، اضع بين ايديكم وقائع حصلت لي في العديد من برامجي ، وهذه الطريقة انقذت بعض المؤسسات من مشاكل عويصة ، نظرا لحذف سجلات بالخطأ او .... Private Sub Form_Close() On Error GoTo err_Form_Close 'make a backup of BE Call BE_or_FE Call Backup_Folder BE_Address = Replace(BE_Path, "\Personnel_Images", "") & "\Personnel_BE.accdb" BK_Address = Backup_Folder & "\Program\Personnel_BE_" & Format(Now(), "yyyy-mm-dd_-hh-mm-ss") & ".accdb*" Call Shell("xcopy " & BE_Address & " " & BK_Address, vbHide) Exit Sub err_Form_Close: If Err.Number = 2450 Then 'ignor Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
  2. السلام عليكم الاخ علي الاكسس 2007 في اول اصداراته ، كان يعمل Corruption لقاعدة البيانات في بعض الكمبيوترات ، وتحدث هذه الحالة اذا كنت طلبت من البرنامج: Compact on close. لهذا السبب يجب عمل التحديثات على الاكسس ، لهذا السبب ولأسباب اخرى. طريقة عمل Compact ، هو ان الاكسس يعمل قاعدة بيانات مؤقته باسم Database ، وينقل اليها جميع كائنات قاعدة البيانات التي نريد عمل Compact عليها ، وبعد اتمام العملية ، يحذف قاعدة البيانات الاصلية ويغير اسم الملف Database الى اسم قاعدة البيانات الاصلية. فربما تكون محظوظا وتكون بياناتك موجودة في الملف الذي ارفقته سابقا جعفر
  3. هلا والله بكريمو أ. قلت لك انك تريد طرف الخيط ، وبعدين تحلق في مقدمة السرب ب. لازم نرجع لإتفاقنا السابق ، بأنك تخبرنا عن كل الاشياء اللي تريدها من البداية ج. انا فهمي ضعيف لهذا ، رجاء انت ترفق قاعدة بياناتك المعدلة ، وتخبرنا بالتفصيل مع بعض الصور عن الشئ اللي تريد ان تعمله جعفر
  4. الملف اللي ارفقته لك فيه جداول ، وحجمه كبير ، انزله وافحصه لوسمحت. جعفر
  5. اخي كريمو يجب وضع هذه الشروط في الكود وفي الاستعلام ، حتى لا تظهر رتبتهم في الاستعلام اصلا جعفر
  6. الحمدلله تم اصلاح الملف Database ، اما الآخر فما استطعت عليه سبيل رجاء تغيير صيغة البرنامج المرفق الى 7z بدلا عن zip ، حيث الظاهر ان المنتدى لا يحب صيغة 7z سؤال ، هل الملف الثاني بصيغة accdb ، او بصيغة اخرى؟ جعفر Database_fixed.zip
  7. في الواقع انا افكر في النسخة التالية ، واللي ان شاء الله بيكون فيها مجموعة اضافات ، فخلي الموضوع هذا على ماهو عليه ، وان شاء الله لما اجهز النسخة التاليه نتواصل لأفضل عرض وتقديم جعفر
  8. يا سلام عليك أخي كريمو ، كنت اعرف انك تريد طرف الخيط ، وبعدها تنطلق ، هذا الكود مضبوط وحيا الله أخوي عبدالله جعفر
  9. وعليكم السلام اخي علي ارفع قاعدة البيانات ، وخلينا نشوف ايش ممكن نعمل علشان نسترجع البيانات (اذا كان هذا ممكن) ، واذا البيانات كانت حساسه ، ارفع البرنامج على اي موقع للرفع ، وارسل لي رساله على الخاص مع الرابط. انا افضل الطريقة الاولى ، لاعطاء المجال لكل من يريد المساعدة جعفر
  10. حياكم الله يا شباب شاكر كلماتكم اللطيفة بس وين الملاحظات ، وين الاسئلة!! يعني هل تم تجربة البرنامج؟ وما في استفسارات!! جعفر
  11. مادام البرنامج شغال تمام ، فلا تهتم في التفاصيل البسيطة جعفر
  12. السلام عليكم أخي الوئام هذه هي الطريقة الصحيحة لعمل البرنامج الصحيح بالاضافة الى تسمية الجداول وبقية الكائنات بمسميات لها معنى لكل من يقرأها جعفر
  13. حيا الله أخي رضوان انا مستخدم عنيد ، لا يقبل الـ لا من البرنامج ، واخلى راسي وراسه اشكرك على لطف حديثك جعفر
  14. السلام عليكم شباب انا اتبعت خطوات الاخ رضوان ، وكل شئ كان تمام ولكن لما اضفت حارسين زيادة الى الجدول ، صار عندن 3 حراس: وللاسف ، التقرير فرز 3 سجلات للحراس فعليه ، فكان لازم نعمل مجاميع للاستعلام ، علشان تكون عندنا قيمة واحدة للحراس: الآن الاستعلام تمام ولكن للاسف ، التقرير ما اعطاني النتائج الصحيحة لهذا شفت ان افضل طريقة للتعامل مع هذه المشكلة ، هي استعمال استعلام المجاميع ، وعمل وحدة نمطية تحلل وتفرز البيانات ، فهذا صار الكود: وهو محتاج 4 بيانات من الاستعلام فاصبح التقرير هكذا: والنتيجة: الوحدة النمطية: Function Count_MF(MinA As Integer, MaxA As Integer, MF As String, GR As String) 'MF = Male, Female 'GR = Grade_ar 'MinA = Age From 'MaxA = Age To 'Year_F = Year From 'Year_T = Year To Dim Year_F, Year_T As Integer Dim myCondition As String Year_F = Year(Date) - MinA Year_T = Year(Date) - MaxA myCondition = "val([txt4]) Between " & Year_F & " and " & Year_T myCondition = myCondition & " And [الجنس] ='" & MF & "'" myCondition = myCondition & " And [تاريخ نهاية العمل]='يومنا هذا'" myCondition = myCondition & " And [Grade_ar]='" & GR & "'" 'Debug.Print myCondition Count_MF = DCount("*", "EmpTB", myCondition) End Function جعفر 2..mdb.zip
  15. السلام عليكم أخي آخر الارض اذا تسمح لي اعدل في الكود ، وابين وين المشكلة في كودك: لما فتحت نموذج Main2 ، فاصبح هو الذي عليه التركيز ، فلما اصدرت الامر Docmd.close ، فانه يغلق النموذج الذي عليه التركيز وهو Main2 فالحل هو: Private Sub ÃãÑ2_Click() If Pas = 815 Then myForm= Me.Name DoCmd.OpenForm "Main2" docmd.Close acForm, myForm End If جعفر
  16. حياك الله اخي اسير الشروق بالنسبة لتجربتي على اكسس 2010 ، فكانت الشاشة الرماية تظهر لي عند تشغيل البرنامج ، والكود اللي انا اعطيته لأخي ابوعبير حل المشكلة ولكن ابوعبير لاحظ مشكلة اخرى ، وهي انك لما تفتح البرنامج ، يضع البرنامج ايقونة له على شريط المهام ، ولما تضغط على هذه الايقونة ، تظهر لك الخلفية الرمادية جعفر
  17. الاخ عبدالله صبحك الله بالخير انا اعتذر اني دخلت في موضوعك بدون ان اسلم عليك ، فأعتذر منك ، والعذر عند كرام الناس مقبول جعفر
  18. أخي أبوعبير بعد بحث دام وقت طويل ، توصلت إلى انك رابط ايقونة البرنامج بـ handle البرنامج ، وليس بـ handle النموذج ، لذلك عند ضغطك على الايقونة ترى خلفية البرنامج :( خبرتي قليلة في هذا المجال ، فالأفضل لو أن أحد الشباب اللي عنده طول في هذا المجال أن يساعدك :) جعفر
  19. أخي soft.sample الربط يعتمد على ما الذي تريد ربطه مثلا اذا عندك صور موظفين ، والصور محفوظة في مجلد Employee_Pictures ، والمجلد هذا وبرنامجك موجودين في مجلد واحد ، وانك حفظت الصور بالرقم الوظيفي Employee_ID لكل موظف ، وانت الآن تريد ان تعرض صورة الموظف في النموذج ، في السجل الخاص به ، واسم حقل/كائن الصورة في النموذج Employee_Pic مثلا ، فكود ربط الصورة مع النموذج سيكون في حدث الحالي: me.Employee_Pic.picture= application.currentproject.path & "\Employee_Pictures\" & me.Employee_ID & ".jpg" ونفس الشئ يمكن عمله اذا اردت ان تعرض ملفات pdf ، فبدل استخدام حقل/كائن الصور ، يمكنك استخدام كائن Browser وهو عبارة عن متصفح الانترنت ، ثم تستخدم كود شبيه بالكود اعلاه ، لتتم عملية الربط ميزة هذه الطريقة (اي استخدام الكود في الربط ولا ادراج الرابط في الاكسس) ، بانك تستطيع نقل مجلد برنامجك (والذي يحتوي على البرنامج ومجلد الصور) الى اي كمبيوتر ، وكل شئ يشتغل تمام في الحال ، بينما الرابط سيشير الى مجلد قد تم تغييره وانا متأكد بأن الاخ رمهان عنده تتمه للحديث معاك جعفر
  20. أخي رمهان انا كنت اظن اني بكتب كلمتين واشرد ، بس الظاهر انك صدتني انا اميل لإستخدام طرف ثالث ، وبحثت شوي زيادة ، وتوصلت الى برنامج آخر ، وجربته واشتغل تمام البرنامج اسمه NAPS2 من http://sourceforge.net/projects/naps2/ مفتوح المصدر http://sourceforge.net/p/naps2/code/ci/master/tree/ اوامر Commandline: http://sourceforge.net/p/naps2/wiki/Command%20Line%20Usage/ فيمكنك ان تتوصل الى طرف خيط اي api يستخدم (ما اعرف اي لغة مكتوب بها البرنامج)، فيه Commandline وجربته ، والنتيجة جميلة 1. نصب البرنامج ، 2. اعمل Profile لجميع اجهزة السكانر عندك ، بس اعطي كل جهاز اسم خاص بيه (انا سميت جهازي HP8500) ، 3. استخدم Commandline التالي: "C:\Program Files\NAPS2\naps2.console" -o "F:\scanned receipt.pdf" -p HP8500 وكله تمام ، وبهذه البساطة جعفر
  21. اما انا ، فاجعل البرنامج يقوم بالعمل قدر الامكان ، تفاديا لأخطاء المستخدمين ، ولا ادرج الرابط داخل السجلات في اكسس (طبعا هذا اذا في رابط) ، وانما اربط السجل بالكود ولكن اعتقد بأن سؤالك موجه للأخ عبدالله جعفر
  22. السلام عليكم ورحمة الله وبركاته اسمحوا لي ان اعرض فكرتي لكل جهاز طريقته الخاصة لمخاطبة الكمبيوتر بالكود ، وهذا يجعل العمل على كل الاجهزة عملية صعبة للغاية لذا ، اذا كان هناك برنامج محترف وسيط (مثل ما ذكراخي soft.Sample مثلا) ، فهو سيقوم بالعمل القذر (يعني ربط الجهاز بالكمبيوتر وDrivers و... ) ، والمطلوب من هذا البرنامج الوسيط ان يكون في امكانية التحكم به من برنامج الاكسس (وإلا فاننا نستطيع العمل مباشرة عن طريق برنامج الجهاز). برنامج IrfanView بالاضافة الى Plug-ins التابعة له: http://www.irfanview.com/ من البرامج التي لا استطيع ان استغنى عنها ، فاول ما يكون عندي كمبيوتر جديد ، فعلى طول انزل وانصب هذا البرنامج المجاني الأكثر من رائع احد الخصائص التي في البرنامج ، انك ممكن تتحكم فيه عن طريق CommandLine ، وفيه العديد من الاوامر ، وهذا الشئ مهم اذا كنا نريد استعماله مع الاكسس. البرنامج كذلك يستطيع التعرف على جميع اجهزة السكانر المرتبطة بالكمبيوتر: فلما تريد ان تقوم بعملية مسح مستندات من الاسكانر ، فما عليك إلا ان تقوم باختيار الماسح من القائمة (مرة واحدة فقط) ، وبعدها تستخدم هذا الامر من الكود في VBA عن طريق الامر Shell او ShellWait: "c:\program files\irfanview\i_view32.exe" /batchscan=(scanfile,1,1,2,0,c:\temp,tif,1) /scanhidden "c:\program files\irfanview\i_view32.exe" /multipdf=(c:\temp\test.pdf,c:\temp\scanfile01.tif) /killmesoftly والذي يقوم بمسح المستندات وحفظها بصيغة tif ، ويقوم السطر التالي بتحويل المستند الى pdf. وبما ان الكود في VBA ، فيمكنك التحكم في اسم المجلد اسم الملف وترقيمه و.... جعفر
  23. حياك الله أخي ابوخليل انا احاول ان تكون امثلتي بصيغة mdb قدر المستطاع ، حتى تكون في متناول الجميع ، كما تفضلت جعفر
×
×
  • اضف...

Important Information