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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. تفضل لما شفت انك مستخدم الامر Dlookup في النموذج ونفسه في الكود ، يعني انك تطلب بيانات من الجدول 8 مرات * 2 = 16 مرة ، نظرت فيه ، . فجمعت بين الاستعلام مصدر بيانات النموذج ، والاستعلام QryRawBlnc اللى تحتاج منه نتيجة حقل Balance ، وربطت الجدولين بالحقل code . عليه ، اصبح هذا الاستعلام الجديد مصدر بيانات النموذج . وقيمة الحقل Balance اصبحت جاهزة . وعليه تم تعديل الكود ليشمل هذه التغييرات Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC ''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim con As Long con = Nz(rst!cons, 0) * Nz(Me.T3, 0) Debug.Print "con= " & con & " >> " & "Balance= " & rst!Balance 'If con > Bal Then If con > rst!Balance Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . ولكن خلينا نشوف الحساب والمقارنة اللي يشوفها الكود ، وبسبب استعمالك Long للمتغير con ، ترى قيمة معادلتك بدون كسور عشرية (Long معناه Integer طويل ، يعني رقم كامل بدون منازل عشرية) ، ولما غيرته الى Double ، اعطى القيمة حسب الظاهر في النموذج Dim con as Long con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0 >> Balance= 0.005 con= 0 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 -------------------------------- Dim con as Double con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0.00004 >> Balance= 0.005 con= 0.00004 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 جعفر 824.3.count.accdb.zip
  2. اللي تشوفه مناسب لعملك 824.count.accdb.zip
  3. استخدم هذا الكود Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If Nz(rst!cons, 0) * Nz(Me.T3, 0) > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub Private Sub T3_AfterUpdate() Call Coun_Count End Sub جعفر
  4. اخي عمرو لا يمكن عمل اي متغيرات للامر Count او Sum في ذيل النموذج ، غير اسم الحقل مثل (Count(myField او Count(*)p اما اذا اردنا الحساب بشروط ، فيجب ان نعمله في الكود ، وعملت هذه الوحدة Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If rst!cons > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . وتستطيع مناداتها من اي حدث من النموذج هكذا Call Coun_Count . مثلا ، في حدث النقر على اسم productcode في الحقل t0 : Private Sub t0_Click() Me.T216 = "" & Me.t0.Column(0) & "" Me.T216.Requery search_Products = "" Me.Requery Me.T3.SetFocus Call Coun_Count End Sub جعفر 824.count.accdb.zip
  5. مثال رائع ، من اخ رائع بارك الله فيك اخوي ابو خليل ، من ضمن تجاربي ، عملت مثل عملك ، ولكن ما كان راضي يضبط كان محتاج يد معلم جعفر
  6. وعليكم السلام جرب هذا =Count(IIf([text286]>0,1,0)) جعفر
  7. اخي الفاضل انت كنت تتكلم عن ولكنك ارفت
  8. وعليكم السلام ارسلت قيمة ID_Sanf من النموذج الفرعي frm_mr الى حقل جديد "ID_Sanf" في النموذج frmEdrajSenfm ، وبعدين اضفته في كود انزالك البيانات الى النموذج الفرعي frmSub_Recall_sales جعفر 822.اداج اسم الصنف .mdb.zip
  9. الحمدلله
  10. الله يرضى عليك يا سفيان ، لا تفتكر اني اعرف اللي انت تعرفه ، واعطني المعلومة كاملة !! ثم ان برنامجك بالفرنسي !!
  11. السلام عليكم اخي سفيان انزلت مرفقك واشتغل عندي مباشرة ، رجاء تشوف الرابط الذي ارفقته لك في مشاركتي السابقة حول اعدادات الوندوز ، فالظاهر مشكلتك من هناك. جعفر
  12. اخي كريمو انا توصلت الى كيفية جعل كل رقم في صفحة مستقلة (لأني اعتقد بأنه الطريق الصحيح) ، ولكني لم اصل الى الحل بعد جعفر 820.التقرير المقسم.mdb.zip
  13. نعم يمكن ، ولكني في كودك لا انصح ابداً ، لأنك ما محتاج ان تقوم بهذا الشيء ، ثم انه يكون من المستحيل تعديل الكود لاحقا ، وانا هنا اضع كود "داخل مربع النص" للدعابة فقط Me.Total_Time = Int(DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) & ":" & Round((DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) - Int(DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) * 60) Me.Avg_Time = Int(DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / DCount("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) & ":" & Round((DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / DCount("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) - Int(DSum("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / DCount("[Minutes]", "qry_CT", "[سرعة الخدمة]='" & Me.OpenArgs & "'") / 60) * 60) واعتذر عن رفع صوتي ، ولكني اردت ان اتأكد انه وصلك جعفر
  14. العفو اخي عوض الظاهر انك فهمت ملاحظتي بالخطأ !! انا مجرد اشرت لموضوع كسر كلمة السر وعدم تجاوزه ، وارحب بمشاركة الاعضاء في الاجابة على سؤالك بس للعلم ، التفاصيل اللي اعطيتها ليست كافية للرد على سؤالك ، فيجب ان تعطي تفاصيل اكثر ، وياريت اسم/صورة من البرنامج الاخر اللي تتكلم عنه جعفر
  15. السلام عليكم كود اخي ابو خليل شغّال تمام ، بشرط ان تكون اعدادات النموذج تسمح بإصطياد ازرار الكيبورد قبل الذهاب الى الكود ، هكذا: . جعفر
  16. شكرا أخوي أبو خليل
  17. وعليكم السلام متابع من الرابط السابق ، وارجو من الاعضاء ان يكونوا على قدر المسؤولية بإلتزامهم بقوانين المنتدى ، والمُثل الاخلاقية ، فلا يرىد احدنا كسر "قفل برنامجه" عن طريق اشخاص آخرين: . جعفر
  18. وعليكم السلام وبدلا عن أخوي أبو خليل ، تفضل: الوحدة النمطية: Option Compare Database Option Explicit 'رمهان 'اوفيسنا Public Function fn(fld) Dim y As String Dim i As Integer Dim xx As String y = "أبجدهوزحطيكلمنسعفصقرشتثخذضظغـ ىؤءئةاآإ()><.؟}{][1234567890:,/" For i = 1 To Len(fld) If InStr(1, y, Mid(fld, i, 1)) > 0 Then xx = xx & Mid(fld, i, 1) Next i fn = xx End Function . وهذا كود النقر على الزر Private Sub Command2_Click() Me.Text5 = fn(Me.Text3) End Sub . والنتيجة . جعفر 821.delete char.accdb.zip
  19. السلام عليكم اخوي ابو خليل توقيعي في آخر كل مشاركة هي: وقد اعجبتني عبارتك لدقّة معانيها ، فإذا تسمح لي بإستعمالها ودمجها في توقيعي ليصبح: جعفر
  20. وعليكم السلام اهلا وسهلا بك في المنتدى ، اخي احمد هذا القسم من المنتدى هو لطرح الاسئلة البرمجية ، وليس للبرامج الجاهزة ابدا العمل على برنامجك واطرح الاسئلة ، وان شاء الله تجد الجميع يساعدك ، وقبل ان تضع اي سؤال ، استخدم خاصية البحث في المنتدى ، فهو مليء بأسإلة المبرمجين ، وهناك احتمال كبير بأن يكون سؤالك قد تمت الاجابة عليه جعفر
  21. مثل ما يقول المثل: الميدان يا حميدان ارفق هالجزئية من اللي انت عملته وما صار ، الاستعلام والوحدة النمطية ، واحنا نساعدك في الحل ان شاء الله جعفر
×
×
  • اضف...

Important Information