اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

    9,871
  • تاريخ الانضمام

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

  • Days Won

    403

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

  1. السلام عليكم أخي كريمو أعتذر عن التأخر في الرد ، كان عندنا فرح وضيوف ، وبعيد عن الانترنت إلا قبل النوم إن شاء الله اواصل الموضوع معاك ، ولكن بطريقة الجدول التي اقترحتها عليك ، لأني اعتقد بأنه أفضل حل جعفر
  2. حيا الله أخوي أبوآلآء بالنسبة لي انا شخصيا ، انت عضو شرف وعلى راسي من زمان بالبركة إن شاء الله جعفر
  3. حياك الله أخوي السالم بعض الكود يكتب كما هو وبدون النظر الى تفاصيله ، ومن ضمنها هذا الكود وخصوصا الكود الذي له علاقة بـ Windows API فلا تدوخ راسك فيها ، سوي مثلي وانسخ والصق جعفر
  4. السلام عليكم انا كذلك جربت مرفق الاخ السيد الجوهري وكله تمام انا عملت كود ثاني اللي ممكن نجربه وهو: Set rst = Forms!Form1![Table1 subform].Form.Recordset rst.FindFirst "[id]=" & Me.Text0 DoCmd.Close acForm, "Form2" جعفر
  5. احذف مسار الملف من الجدول (يعني لا تحفظ مسار الصورة في الجدول) ، واربط الصورة برقم الموظف باسم المجلد انا اتعامل مع جميع برامجي بهذه الطريقة جعفر
  6. أختي ، استعملي برنامجي ، ولكل نموذج ، على حدث التحميل ، استعملي هذا الامر (رجاء القراءة عنه في للفائدة وطريقة الاستعمال): docmd.MoveSize (right,down,width,height) مثلا DoCmd.MoveSize 1440, 2400, , 2000 وهذه معلومة من الاكسس عن الامر: جعفر
  7. الشكر لك انتي أختي ، نفسك كان طويل ، وكنتي حابه تتعلمين ، وكل اللي كان ينقصك ، المعلومة وطرف الخيط , ومنها انطلقتي بتجربتك وبنجاحك جعفر
  8. حيا الله اولاد عمي الشباب هاي النتائج: وهاي الكود: Private Sub Civil_Status_AfterUpdate() Call calc_Benefits End Sub Private Sub Working_Retired_AfterUpdate() Call calc_Benefits End Sub Function calc_Benefits() 's = الراتب 'M = المكافأة '"موظف";"متقاعد" 'check if salary is inserted If Len(Me.s & "") = 0 Then MsgBox "Please insert the Salary" Me.s.SetFocus Exit Function End If 'do the calculations Select Case Me.Civil_Status Case 1 'مدني If Me.Working_Retired = "موظف" Then Me.M = Me.s Else Me.M = Me.s * 0.75 End If Case 2 'عسكري If Me.Working_Retired = "موظف" Then Me.M = Me.s * 2 Else Me.M = Me.s * 0.8 End If End Select End Function 51.Database3.accdb.zip
  9. حيا الله أنس ربي يوفقك ومن احببت ، دنيا وآخره إن شاء الله جعفر
  10. لا تطبعين النموذج ، حولي النموذج الى تقرير (لاحظي الخطوات في الاسفل) ، واطبعيه جعفر
  11. وعليكم السلام أخي وائل لوسمحت تعطي توضيح بمثال اول مثالين ، وياريت بالصور او بالاكسل (لأني بصراحة ما فهمت المطلوب حسب شرحك ) جعفر
  12. وعليكم السلام انتي تتحكيمن في عرض التقرير زيدي في عرضه ، فيصبح افقي واذا ما عندك حقول تملئين فيها التقرير بالعرض ، زحفي الحقل الى منتصف التقرير جعفر
  13. هنا مثال كذلك ، بس بطريقة اخرى http://www.officena.net/ib/index.php?showtopic=60630 جعفر
  14. طيب ممكن ننسى المرفق السابق الرابط التالي فيه نفس المثال ، ولكن بإضافات اخرى (ليس على طلب البرنامج ، ولكن .. ) http://www.officena.net/ib/index.php?showtopic=60630&p=390062 جعفر
  15. تفضل هذه مجموعة مستقطعة من برامجي السابقة ، ومن برامجي الرئيسية والنتيجة والبرنامج عبارة عن متصفح كذلك ، راجع الرابط: http://www.officena.net/ib/index.php?showtopic=60659 جعفر تعديل 1: عفوا ، عملت إضافة اخرى ، ليكتمل البرنامج ، فالواجهة اصبحت: تعديل2: امسك زر الشفت اثناء تشغيل البرنامج علشان تقدر تغير اللي تريده . 49.View_Internet.mdb.zip
  16. وعليكم السلام ورحمة الله تعالى وبركاته انا استقطعت هذا النموذج (وطبعا عدلت عليه) من احد برامجي القديمة البرنامج عبارة عن متصفح انترنت IE Explorer مضمن في النموذج (ويكون حسب الاصدار المنصوب على الكمبيوتر) ، وكل اللي تعمله هو انك تدخل عنوان الصفحة في خانة العنوان ، ثم تضغط على زر افتح الصفحة: تصفح الصور: تصفح الانترنت: الكود الذي يقوم بالعمل هو: Option Compare Database Private web As WebBrowser 'set Reference to: 'Browse Windows\system32\ieFrame.dll 'Microsoft Internet Controls ' Private Sub cmdSiteName_Click() 'specify that the browser is an object in the Form Set web = Me.objIE.Object 'give the initial web page name ' Me.cboSite = "http://www.officena.net/ib/uploads/profile/photo-142414.jpg?_r=1425109766" ' Me.cboSite = "http://www.officena.net/ib/index.php?showuser=111758" 'update the status bar Call SysCmd(acSysCmdSetStatus, "Opening Page " & Me.cboSite) 'Open/Navigate the page web.Navigate Me.cboSite While web.Busy 'wait until the site fully loads DoEvents Wend While web.ReadyState <> 4 'wait until the site fully loads DoEvents Wend 'update the status bar Call SysCmd(acSysCmdSetStatus, "Ready") 'waituntilpageonefinishesloading While web.Busy DoEvents Wend Do While web.Document.all.length = 0 DoEvents Loop End Sub Public Sub Form_Load() On Error GoTo Err_Form_Load 'specify that the browser is an object in the Form Set web = Me.objIE.Object 'give the initial web page name Me.cboSite = "about:blank" 'Open/Navigate the page web.Navigate Me.cboSite Exit Sub Err_Form_Load: If Err.Number = 2447 Then MsgBox "Please Enter a Site Name for starting this Page" Exit Sub End If Resume Next End Sub Private Sub cmd_close_Click() On Error GoTo Err_cmd_close_Click DoCmd.Close Exit_cmd_close_Click: Exit Sub Err_cmd_close_Click: MsgBox Err.Description Resume Exit_cmd_close_Click End Sub جعفر 49.View_Internet.mdb.zip
  17. أنت الان ارجعتنا الى مشاركتي رقم 25 ، والتي طلبت منك فك جزيئيات الاستعلام ، فلا فائدة لي من هذا الاستعلام سؤالي هو ، قيمة الحقل Remaining ماهو (اترك الاستعلام جانب ، واخبرني عن الحقول اللي يجمهعا ومن اي جداول) ، وسؤال آخر ، هل هناك جدول تسجل فيه الدفوعات؟ لأن هذا المفروض ان يسهل العملية كلها ، يعني: على اساس اختيارك من النموذج Cridi_sub ، تعمل (في جدول خاص بدفوعات القروض) سجلات بعدد الاشهر المراد سدادها ، والشهر وقيمة السداد الشهري ، وعلى اساس هذا الجدول ، يكون عندك التقرير. والتلاعب بالجدول بتأخير الدفوعات ، او حتى دفع جزء من الدفوعات سيكون اسهل بكثير ، وذلك ، لأن الجدول به ارقام واشهر يمكننا قرأتها ، بينما وضعك الان هو التلاعب بالكود في جمع Remainings . مجرد فكرة جعفر
  18. وعليكم السلام مافي داعي لإستخدام Dlookup في الاستعلام اللي تطلبه ، فربط الجدولين يحقق المطلوب ولكني وضعت لك الطريقتين: طريقة Dlookup (الاستعلام في اعلى الصورة): 1. سيكون بطيئ اذا عندك آلآف السجلات ، 2. لاحظ حقل الارقام ، فإنه يعامله كنص ، وذلك لأن نتيجة Dlookup لا تعتمد على نوعية الحقل 3. وهذا حقل المدينة حتى ترى الاشارات بطريقة صحيحة: City: DLookUp("[cc]","tab1","[aa]= '" & [aa] & "'") جعفر 48.دالة dlookup.mdb.zip
  19. أخي كريمو حاليا الموضوع متمركز على الحقل Remaining ، رجاء تخبرني كيف تجمع قيمه (ولا اقصد من الاستعلام) ، حتى نعيد حسابه بطريقة اخرى ان شاء الله جعفر
  20. السلام عليكم أخي رمهان فكرة جميلة في ضم "الجمل بما حمل" في سطر واحد والعقل المدبر للعملية كلها هو هذا السطر: CStr((DateDiff("n",([Sdate] & Chr(32) & [Stime]),([Edate] & Chr(32) & [Etime]))\60)\24) & " days;" & CStr((DateDiff("n",([Sdate] & Chr(32) & [Stime]),([Edate] & Chr(32) & [Etime]))/60) Mod 24) & " hours and " & CStr(DateDiff("n",([Sdate] & Chr(32) & [Stime]),([Edate] & Chr(32) & [Etime])) Mod 60) & " minutes" AS Ramhan ولكن من الصعب معرفة ما يدور في هذا السطر الواحد ، ومن الاصعب (ان لم يكن مستحيلا) اجراء تعديل عليه ، لذلك ، فانا في معظم الاحيان استعين بالوحدة النمطية ، واضع فيها الكود (نفس الكود اعلاه) ، ولكنه مقسم الى اسطر متعددة (وانا على يقين بأنك بدأت هكذا ، ثم جمعته في سطر واحد) ، حتى يسهل علي عمل اي تغيير او اضافات لاحقا وفي حال الكود اعلاه ، فان الوحدة النمطية ستكون: Function Calc_Diff(Sd As Date, Ed As Date, St As Date, Et As Date) 'Sd = Start date 'Ed = End date 'St = Start time 'Et = End time 's_Date_time = Start date and time 'e_Date_time = End date and time 'r_Days = Remaining Days 'r_Hours = Remaining Hours 'r_Minutes = Remaining Minutes Dim s_Date_time, e_Date_time Dim r_Days, r_Hours, r_Minutes s_Date_time = Sd & Chr(32) & St e_Date_time = Ed & Chr(32) & Et r_Days = DateDiff("n", s_Date_time, e_Date_time) r_Hours = DateDiff("n", s_Date_time, e_Date_time) r_Minutes = DateDiff("n", s_Date_time, e_Date_time) r_Days = (r_Days \ 60) \ 24 r_Hours = (r_Hours / 60) Mod 24 r_Minutes = r_Minutes Mod 60 Calc_Diff = CStr(r_Days) & " days;" & _ CStr(r_Hours) & " hours and " & _ CStr(r_Minutes) & " minutes" End Function ونستدعيها من الاستعلام او من اي حقل في النموذج او التقرير هكذا: Calc_Diff([Sdate],[Edate],[Stime],[Etime]) جعفر
  21. وعليكم السلام أخوي السالم 1. اذا كان قصدك تشغل برنامجك الاكسس ، من نماذج وتقارير ، وما تريد الجداول واي شئ آخر يظهر ، فيمكن عمل المتعارف عليه في برامجنا اللي نعطيها للزبائن: بأنك تجعل نموذج الواجهة يفتح اول ما يشتغل البرنامج (محل السهم الاحمر) ، ولا تختار المربعين (كما موضح بالدوائر الحمراء): 2. واذا قصدك تريد ان تشغل نموذج معين (البرنامج يشتغل مخفي ، والنموذج يشتغل كذلك مخفي) ، ويقوم النموذج بعمل المطلوب (مثل ارسال تقارير الى ايميل معين) عن طريق "حدث التحميل" ، ولما يخلص الكود ، يغلق الكود البرنامج ، فيمكن عمل هذا عن طريق أمر للماكرو (ولنسميه Run_Frm_Email) ، والماكرو يقوم بفتح هذا النموذج ، وطريقة العمل هكذا (يجب تغيير اسم ومسار المايكروسوف اكسس): "C:\Program Files\Microsoft Office\Office15\msaccess.exe" "D:\myDB.mdb" /X Run_Frm_Email جعفر
  22. أضف حقل واحد للشهر والسنة انا اقترح انك تبدأ بالعمل ، وتتوسع شيئا شيئا جعفر
  23. وعليكم السلام ورحمة الله وبركاته نعم يمكن اعمل جدول بأسماء الموظفين (ويفضل ان تعطي لكل موظف رقم وظيفي) ، إعمل جدول الرواتب ، ويكون فيه اسم الموظف (ويفضل ان يكون رقمه الوظيفي) ، وراتبه ، واي حقول اخرى ، اعمل علاقة بين الجدوليعلى اسا اسم الموظف (ويفضل الرقم الوظيفي) ، وعلى هذا الاساس ، تقدر تعمل نموذج رئيسي لجدول الموظفين ، ويكون فيه نموذج فرعي ، لراتب الموظف . جعفر
  24. أختي بالنسبة لي ، شرحك غير مفهوم لذا ، لوسمحتي تأخذين البيانات من قاعدة بياناتك ، ثم تعملين التقرير اللي تريديه في الوورد او الاكسل ، وعلى اساسه نحاول نساعدك . ورجاء ، في شرحك ، استخدمي اسناء الحقل اللي في قاعدة بياناتك بالضبط ، ولا تستخدمي مسميات اخرى ، رجاءً. جعفر
×
×
  • اضف...

Important Information