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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. ارفق برنامجك للنظر فيه جعفر
  2. اعمل وحدة نمطية ، وناديها من الاستعلام ، بحيث ترسل لها الاستهلاك ، وفي الوحدة النمطية تقوم بالحساب (جميع معادلاتك تكون هناك) ، ومن هناك تقرر كيف تريد ان ترى النتائج جعفر
  3. وعليكم السلام عدة طرق تجي على بالي: 1. في النموذج الفرعي (اسمه مثلا s_Search_All) ، اعمل حقل لحساب عدد السجلات ولنسميه s_count ، ويمكنك عمله هكذا: =Count(*) وفي النموذج الرئيسي تعمل حقل يأخذ قيمة الحقل اعلاه ، هكذا: =IIf(IsError([s_Search_All]![s_count]),0,[s_Search_All]![s_count]) والشكرا لأخي رمهان على هذه المعادلة ، والتي فائدتها عندما لا تكون سجلات في النموذج الفرعي ، لا نحصل على خطأ 2. تستطيع ان تعمل تحسب عدد السجلات من الاستعلام مباشرة ، هكذا (ويعتمد على معايير الاستعلام ، فقد يجب عليك وضع المعيار في المعادله): =dcount("*","Name_All") 3. تستطيع ان تحسب عدد سجلات النموذج الفرعي هكذا ، بحيث يكون اسم الحقل في النموذج الرئيسي SubForm_Records: dim rst as dao.recordset set rst=me.[s_Search_All]![s_count].recordsetclone rst.movelast:rst.movefirst me.SubForm_Records=rst.recordcount rst.close: set rst=nothing جعفر
  4. وعليكم السلام الرسالة تقول بأنه لا يمكنك إضافة بيانات في حقل معين ، وهناك عدة اسباب لهذه الرسالة ، ولا يمكن حلها إلا برؤية البرنامج جعفر
  5. وعليكم السلام بما انك عملت البحث ليعطي نتائجه بعد ادخال المعلومة (على حدث عند التغيير On Change) وبدون وجود زر خاص ، لهذا السبب لن نعرف متى انتهيت من البحث لذلك ، وضعت لك الكود في حدث "عندما يفقد الحقل التركيز On Lost Focus" (وتستطيع وضعه على حدث عند الخروج من الحقل On Exit) ، يعني بعد ان تنتهي من البحث ، اضغط على Enter او Tab ، وستذهب الى الحقل الذي تريد ، وبما ان الحقل الذي تريد نقل التركيز اليه موجود في نموذج فرعي ، لذا يتوجب اولا نقل التركيز الى النموذج الفرعي ثم نقل التركيز الى الحقل: Private Sub n1_LostFocus() Me.تابع132.SetFocus Me.تابع132!rgmhsab.SetFocus End Sub جعفر 726.نقل موشر الماوس بعد التحديث.accdb.zip
  6. وعليكم السلام تم مناقشة الموضوع هنا والنتيجة كانت جعفر
  7. آسف ، ما اعرف!! عندك نسختي ونسختك ، واعمل مقارنه بينهما جعفر
  8. تفضل ، المرفق بطريقة اخي رمهان جعفر 724.1.55.accdb.zip
  9. تفضل تم الاستغناء عن كود xsql بالكامل ، واستخدام الاستعلام Qry_T1 بدلا عنه جعفر 722.1.up.accdb.zip
  10. وعليكم السلام الرابط التالي يوضح طريقة الحساب ، والتي توضح صورتك المرفقه: http://egyptera.org/ar/t3reefa.aspx جعفر
  11. شكرا اخي رمهان بالفعل ، يمكن الاستغناء عن الكود ، واستعمال المعادلة التاليه في الحقل مباشرة: =IIf(IsError([تابع15]![نص13]),0,[تابع15]![نص13]) جعفر
  12. السلام عليكم الطريقة التي اقترحتها لم تفلح ، لذا استخدمت الكود التالي لعمل اللازم Private Sub Sub_Values() On Error GoTo err_Sub_Valuest Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From [مساعد يوميه]") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'a pause is required PauseTime = 0.5 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop If RC > 0 Then Me.نص130 = Me.[تابع15]![نص13] Me.نص228 = Me.[تابع15]![نص23] Me.نص28 = Me.[تابع15]![نص17] Me.نص132 = Me.[تابع15]![نص29] End If rst.close: Set rst = Nothing Exit Sub err_Sub_Valuest: If Err.Number = 3021 Then 'No Records in SubForm Me.نص130 = 0 Me.نص228 = 0 Me.نص28 = 0 Me.نص132 = 0 ElseIf Err.Number = 3061 Then 'parameter required Set db = CurrentDb Set qdf = db.QueryDefs("[مساعد يوميه]") For Each prm In qdf.Parameters prm.Value = Eval(prm.name) Next prm Set rst = qdf.OpenRecordset(dbOpenDynaset) Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . ونناديها مرتين ، مرة في الحالي للنموذج الرئيسي ، ومرة عند تغيير التاريخ: Private Sub Form_Current() Me.[تابع15].Requery Call Sub_Values End Sub Private Sub n2_Exit(Cancel As Integer) Call cmd_Search2_Click Call Sub_Values End Sub . جعفر 724.55.accdb.zip
  13. السلام عليكم الظاهر انك ارفقت البرنامج الخطأ !! جعفر
  14. طيب لو تكمل جميلك وترد على باقي السؤال لوسمحت: جعفر
  15. وعليكم السلام أهلا بك في المنتدى سؤالك غير واضح ، فرجاء توضيحه اكثر بمرفق ، وتوضح لنا من المرفق ما تريده ، وياريت تعمل لنا الشكل الاخير لما تريده ، سواء في ملف وورد او حتى صورة جعفر
  16. أخي الفاضل 1. سؤالك غير واضح ، 2. الجدول sales لا يوجد به هذه الحقول !! لذا ، رجاء الاخذ من وقتك ، واعطنا شرح وافي ومثال واضح وارقام من برنامجك ، والنتيجة التي تريد الوصول اليها (ولو عن طريق برنامج الاكسل او وورد او صورة). جعفر
  17. وعليكم السلام اخي وضاح هذا الخطأ ينتج لما تكون عندك معادلة لحقل ومافيه بيانات ، لذا تقدر تستعمل iif الشرطية: اذا في بيانات ، فقم بالمعادلة ، واذا مافي بيانات فاعطنا "" ، مثلا من http://allenbrowne.com/RecordCountError.html : =IIf([Form].[Recordset].[RecordCount] > 0, Sum([Amount]), 0) وهناك شرح اكثر في الرابط اعلاه. جعفر
  18. وعليكم السلام انت تريد ان تفتح النموذج MONTH TARGET ، ولكن بتصفيته حسب التاريخ الذي في الحقل Text21 DoCmd.OpenForm "MONTH TARGET", , , "[ProdPlanDate]=#" & Me.Text21 & "#" جعفر
  19. السلام عليكم اخي bahnay انا اتفق مع اخي co2002co ، ولكن وكما قلت انت ، قد يكون برنامجك له خصوصية تتطلب هذا العمل!! اقتراحي: 1. العمل على جدول واحد فقط ، ويمكنك توضيح المعادلات والنسب التي تريد تنفيذها ، فقد نستطيع عملها عن طريق استعلام ، وحفظ البيانات على اساسها في الجدول ، 2. اذا اردت المُضي قُدما بطريقة الجدولين ، فكل اللي تجتاج له هو استعلام تحديث (لتحديث بيانات الجدول الآخر) ، حسب بيانات النموذج جعفر
  20. وعليكم السلام اخي شفان مبدئيا أقول لك لا اعرف، فالطريقة التي استعملتها من نافذة إعدادات الصفحة لا تعطينا هذا الخيار!! ولكن رجاء ان تجرب ان تعمل إعدادات التقرير الرئيسي والفرعي من اليمين إلى اليسار، ثم أخبرنا عن النتيجة ، لأني سأكون بعيدا عن الكمبيوتر لعدة أيام جعفر
  21. السلام عليكم هذا رابط جواب التسلسل جعفر
×
×
  • اضف...

Important Information