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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. السلام عليكم 🙂 اتفق مع اخوي ابو ابراهيم 100% 🙂 ممكن عمل جدول خاص ، به حقل واحد فقط ، لهذه القيمة فقط ، وتنادي هذه القيمة كلما احتجت لها. وهذه هي الطريقة ، فموقع الصور متغير من كمبيوتر الى آخر ، واللابتوبات مافيها إلا \:C ، فكيف يمكن ان يعمل برنامجك عليه !! بينما لو كان عندك الجدول ذو الحقل الواحد ، فتستطيع لما تفتح البرنامج ، ان يفحص وجود هذا المسار ، فإذا ما موجود المسار ، فتفتح له نافذة يختار مكان وجود المسار الجديد ، ويتم حفظ هذا المسار الجديد في هذا الحقل. المكان الآخر الذي تقدر تخلي فيها القيمة ، وتقدر تتحكم فيها برمجيا ، هو في اعدادات الحقل في tag . جعفر
  2. وعليكم السلام 🙂 هذا لأن النموذج الجدولي لا تستطيع عمل رأس ولا ذيل له ، ولا تستطيع اضافة زر او اي كائن آخر فيه ، هذه امكانياته 🙂 في حين ، انت تضع امر الجمع في ذيل النموذج: =sum([myCash]) جعفر
  3. شوف اذا هذا صحيح 🙂 للأسف ، الكلمات العربية قلبت الكود ، فما ممكن نقرأه بالطريقة الصحيحة !! . . جعفر 1105.Database2 - Copy.accdb.zip
  4. وعليكم السلام 🙂 يا ريت تخبرنا كيف تم الحل ، علشان يستفيد منها بقية الاعضاء 🙂 جعفر
  5. اخوي خالد اعطاك كود طويل ، خليني اعطيك كود اقصر 🙂 =[n1] & [n2] & [n3] & [n4] & [n5] & [n6] اذن يصبح الكود اعلاه: ="0" & [n1] & [n2] & [n3] & [n4] & [n5] & [n6] & "0" جعفر
  6. اذا تم الحصول على رقم تسلسل ، ثم بعدها تم الانتقال الى سجل جديد (يعني الامرين بعد بعض) ، فهذا يحفظ السجل السابق ، ولا يتحقق التكرار 🙂
  7. نعم ، الكل سيحصل على نفس الرقم المكرر ، ولتلافي هذا ، يجب حفظ السجل بعد عملية اخذ الرقم التالي مباشرة ، مثلا: me.ID=Nz(DMax("[id]";"monsrf";"Month([c_date])=Month(date())"))+1 docmd.runcommand accmdsaverecord . بهذه الطريقة ، سيكون هناك فاصل زمني بين نقر زر كل مستخدم ، حتى ولو بجزء من الثانية ، والبرنامج تلقائيا سيعطي الارقام بدون تكرار 🙂 جعفر
  8. يمكن عمل Recordset بإستعمال اي من المكتبتين ADO او DAO ، ولكنك هنا استعملت مكتبة DAO 🙂 جعفر
  9. رجاء تنقر على كلمة "قام jjafferr بالرد علي هذا الموضوع"
  10. السلام عليكم 🙂 الطريقة الوحيدة اللي اعرفها هي عمل نموذج غير منظم ، وجميع الحقول في النموذج تكون غير منظمة ، اليك هذا الرابط الذي مفروض ان يفيدك ، وبه رابط لمرفق تستطيع انزاله . بس يحتاج تشرب قهوة ثقيلة تعدل مزاجك قبل ان تقرأ الرابط 🙂 جعفر
  11. اخي أمير ، ما دخل هذا الموضوع في سؤالك؟ رجاء عدم خلط المواضيع. انت فتحت موضوع لهذا السؤال ، وانا تركت لك جواب هناك جعفر
  12. شوف هذا المرفق جعفر 1104.jo.accdb.zip
  13. شو المشكلة ، حقل الترقيم مثله مثل اي حقل آخر تبحث فيه؟
  14. حياك الله ، وشكرا على المرفق النهائي 🙂 جعفر
  15. اخوي خالد 🙂 لما تحط كود في مشاركة ، انتقر على هذا الزر : وبتنفتح لك نافذة ، ادخل فيها الكود ، علشان تحصل على الكود بطريقة صحيحة ، قارن كودك بالاعلى مع هذا الكود : =Nz(DMax("[id]";"monsrf";"Month([c_date])=Month(date())"))+1 جعفر
  16. النموذج هو المكان الصحيح لعمل التسلسل ، فانت على الطريق الصحيح 🙂 ليش تريد تعمل التسلسل من الاستعلام؟ ورجاء ضع لنا الكود الشغال على النموذج 🙂 جعفر
  17. علشان اخلص الشغل بسرعة ، انا عملت جميع النماذج ، فاحذف اللي ما تريده 🙂 وفيه تعديل بسيط على الوحدة النمطية لإصطياد خطأ عدم وجود الحقل في النموذج المفتوح : Function Update_All() On Error GoTo err_Update_All Dim mySQL As String Dim arr_Fields() As Variant Dim New_value As Long Dim Old_value As Long Dim Number_Field As String Dim tbl_Name As String Dim This_Count As Integer Dim Prev_Count As Integer Dim ctrlN As String Dim frmN As String Dim i As Integer Dim j As Integer Dim This_CountF As Integer Dim Prev_CountF As Integer frmN = Screen.ActiveForm.Name ctrlN = Screen.ActiveControl.Name arr_Fields = Array("من رقم الوارد", "الي رقم الوارد", "من رقـم الرمبة", "الي رقـم الرمبة", "من رقم التخليص", "الي رقـم النخليص") New_value = Forms(frmN)(ctrlN) If Len(Forms(frmN)(ctrlN).OldValue & "") <> 0 Then Old_value = Forms(frmN)(ctrlN).OldValue End If tbl_Name = "جدول الرصاص" 'save Form values If Forms(frmN).Dirty Then Forms(frmN).Dirty = False '1 'get the hieghst value of all fields For i = LBound(arr_Fields) To UBound(arr_Fields) ctrlN = arr_Fields(i) Number_Field = ctrlN & "_2" 'New value This_CountF = DCount("*", tbl_Name, "[" & ctrlN & "]=" & New_value) If This_CountF > 0 Then This_Count = This_Count + This_CountF End If 'Old value If Len(Old_value & "") <> 0 Then Prev_CountF = DCount("*", tbl_Name, "[" & ctrlN & "]=" & Old_value) If Prev_CountF > 0 Then Prev_Count = Prev_Count + Prev_CountF End If End If Next i 'save Form values If Forms(frmN).Dirty Then Forms(frmN).Dirty = False '2 'change the values in the Fields For i = LBound(arr_Fields) To UBound(arr_Fields) ctrlN = arr_Fields(i) Number_Field = ctrlN & "_2" 'New value mySQL = "UPDATE [" & tbl_Name & "] SET [" & Number_Field & "] = " & This_Count mySQL = mySQL & " WHERE [" & ctrlN & "]=" & New_value 'Debug.Print i & "N > " & mySQL; "" DoCmd.RunSQL mySQL 'Old value If Len(Old_value & "") <> 0 Then mySQL = "UPDATE [" & tbl_Name & "] SET [" & Number_Field & "] = " & Prev_Count mySQL = mySQL & " WHERE [" & ctrlN & "]=" & Old_value 'Debug.Print i & "O > " & mySQL DoCmd.RunSQL mySQL End If 'force the field in the Form to take the new value Forms(frmN)(Number_Field).Requery Next i Exit_Update_All: Exit Function err_Update_All: If Err.Number = 438 Then 'field not in the Form Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر 1095.رصاص رقم.accdb.zip
  18. اولا لا يوجد عندك جدول بهذا الاسم !! ثانيا ، حتى لو افترضنا ان قصدك "جدول الرصاص" ، فهو يحتوي على الكثير من الحقول ، فأي الحقول اللي تريد ان نطبق عليها المثال؟ . واي النماذج اللي تريد ان يكون فيها الكود؟ جعفر
  19. رجاء اشرح المطلوب ، على اي جدول / نموذج / اسماء الحقول اللي يجب العمل عليها!! انا وقتي اصبح جدا ضيق ، و بسافر قريبا ان شاء الله ، فرجاء اعطني المعلومات بسرعة 🙂 حياك الله اخوي قاسم 🙂 جعفر
  20. وعليكم السلام 🙂 في تصميم النموذج ، اهب الى الادوات ، واختار : . . وامشي مع التعليمات والخطوات اللي يعطيها البرنامج 🙂 جعفر
  21. في هذه الحالة ، جرب هذا المرفق ، وبدون مكتبة MessageBoxW جعفر
  22. اخذا بالاعتبار مرفقك الاول ، الطريقة اللي تريدها تصير فقط عن طريق النموذج ، اعمل الكود التالي قبل حفظ النموذج: Private Sub Form_BeforeUpdate(Cancel As Integer) Me.مفتاح = Me.[م] & Me.[رقمها] & Me.[الآية] End Sub جعفر
  23. الحمدلله انك حصلت على ما تريد 🙂 ولكن ، سؤالك هو بينما عمل لك اخوي مسفر ، حقل محسوب ، والذي لا يمكن عمل مفتاح اساس له !! جعفر
  24. وعليكم السلام 🙂 سبحان الله ، قبل يومين كنت اتصفح احد المشاركات القديمة وشفت اسمك واسم واخوان آخرين غابوا عنا ، واليوم جمعنا الله سبحانه وتعالى مرة ثانية 🙂 اشتغلت على قاعدة بيانات القرآن الكريم من فترة ، فإستقطعت جدول الآيات لك وعملته كمثال ، اسم الجدول tbl_Ayah : 1. اضفت حقل sKey ، ونوعه رقم ، ولاحظ انه عندي سابقا حقل مفتاح اساس Auto_ID . استعلام تحديث ، وضم الحقل الثلاث الى الحقل الجديد . والنتيجة . ازيل مفتاح الاساس ، واحفظ الجدول . 1. انقر على حقل Auto_ID ثم خليك ضاغط على زر Ctrl على الكيبورد ، ثم انقر على الحقل sKey 2. انقر على ايقونة المفتاح . ونرى انه صار عندنا الحقلين ، بمفتاح الاساس (في الواقع الحقل الاول هو مفتاح الاساس ، والاكسس رابط الحقل الثاني بالمفتاح الاساس مال الحقل الاول 🙂 ) احفظ الجدول ، اذهب الى اعدادات الحقل sKey ، واجعله مفهرس وغير قابل للتكرار ، احفظ الجدول . وللعلم ، الجدول فيه حقلين للآيات ، حقل بالتشكيلة Ayah_Text2 (ونستعمل هذا الحقل للعرض) ، وحقل آخر بدون تشكيلة Ayah_Text_Simple (ونستعمل هذا الحقل للبحث عن الكلمات) 🙂 جعفر 1103.Database1.accdb.zip
×
×
  • اضف...

Important Information