-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
اشلون اخلي مربع الصورة يفتح ملف pdf (عنوان معدل)
jjafferr replied to m.r's topic in قسم الأكسيس Access
تفضل 🙂 وهنا وهنا جعفر -
اخوي خالد 🙂 لما تحط كود في مشاركة ، انتقر على هذا الزر : وبتنفتح لك نافذة ، ادخل فيها الكود ، علشان تحصل على الكود بطريقة صحيحة ، قارن كودك بالاعلى مع هذا الكود : =Nz(DMax("[id]";"monsrf";"Month([c_date])=Month(date())"))+1 جعفر
-
النموذج هو المكان الصحيح لعمل التسلسل ، فانت على الطريق الصحيح 🙂 ليش تريد تعمل التسلسل من الاستعلام؟ ورجاء ضع لنا الكود الشغال على النموذج 🙂 جعفر
-
علشان اخلص الشغل بسرعة ، انا عملت جميع النماذج ، فاحذف اللي ما تريده 🙂 وفيه تعديل بسيط على الوحدة النمطية لإصطياد خطأ عدم وجود الحقل في النموذج المفتوح : 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
-
اولا لا يوجد عندك جدول بهذا الاسم !! ثانيا ، حتى لو افترضنا ان قصدك "جدول الرصاص" ، فهو يحتوي على الكثير من الحقول ، فأي الحقول اللي تريد ان نطبق عليها المثال؟ . واي النماذج اللي تريد ان يكون فيها الكود؟ جعفر
-
رجاء اشرح المطلوب ، على اي جدول / نموذج / اسماء الحقول اللي يجب العمل عليها!! انا وقتي اصبح جدا ضيق ، و بسافر قريبا ان شاء الله ، فرجاء اعطني المعلومات بسرعة 🙂 حياك الله اخوي قاسم 🙂 جعفر
-
وعليكم السلام 🙂 في تصميم النموذج ، اهب الى الادوات ، واختار : . . وامشي مع التعليمات والخطوات اللي يعطيها البرنامج 🙂 جعفر
- 1 reply
-
- 1
-
-
اللغة العربية تظهر على شكل استفهامات في مربع الرسالة msgbox
jjafferr replied to alhoraibi_imad's topic in قسم الأكسيس Access
في هذه الحالة ، جرب هذا المرفق ، وبدون مكتبة MessageBoxW جعفر -
اخذا بالاعتبار مرفقك الاول ، الطريقة اللي تريدها تصير فقط عن طريق النموذج ، اعمل الكود التالي قبل حفظ النموذج: Private Sub Form_BeforeUpdate(Cancel As Integer) Me.مفتاح = Me.[م] & Me.[رقمها] & Me.[الآية] End Sub جعفر
-
الحمدلله انك حصلت على ما تريد 🙂 ولكن ، سؤالك هو بينما عمل لك اخوي مسفر ، حقل محسوب ، والذي لا يمكن عمل مفتاح اساس له !! جعفر
-
وعليكم السلام 🙂 سبحان الله ، قبل يومين كنت اتصفح احد المشاركات القديمة وشفت اسمك واسم واخوان آخرين غابوا عنا ، واليوم جمعنا الله سبحانه وتعالى مرة ثانية 🙂 اشتغلت على قاعدة بيانات القرآن الكريم من فترة ، فإستقطعت جدول الآيات لك وعملته كمثال ، اسم الجدول tbl_Ayah : 1. اضفت حقل sKey ، ونوعه رقم ، ولاحظ انه عندي سابقا حقل مفتاح اساس Auto_ID . استعلام تحديث ، وضم الحقل الثلاث الى الحقل الجديد . والنتيجة . ازيل مفتاح الاساس ، واحفظ الجدول . 1. انقر على حقل Auto_ID ثم خليك ضاغط على زر Ctrl على الكيبورد ، ثم انقر على الحقل sKey 2. انقر على ايقونة المفتاح . ونرى انه صار عندنا الحقلين ، بمفتاح الاساس (في الواقع الحقل الاول هو مفتاح الاساس ، والاكسس رابط الحقل الثاني بالمفتاح الاساس مال الحقل الاول 🙂 ) احفظ الجدول ، اذهب الى اعدادات الحقل sKey ، واجعله مفهرس وغير قابل للتكرار ، احفظ الجدول . وللعلم ، الجدول فيه حقلين للآيات ، حقل بالتشكيلة Ayah_Text2 (ونستعمل هذا الحقل للعرض) ، وحقل آخر بدون تشكيلة Ayah_Text_Simple (ونستعمل هذا الحقل للبحث عن الكلمات) 🙂 جعفر 1103.Database1.accdb.zip
-
اخي الفاضل ، جوابك لا يفيدك ولا يفيدنا في حل مشكلتك !! لازم تخبرنا اللي عملته ، واين صادفتك المشكلة ، وايش نوع المشكلة ، واذا في رسالة خطأ ، فنريد نعرف هذه الرسالة ، وعلى اي سطر ، ووووو جعفر
-
اصل الموضوع من هنا . اخي امير ، يجب ان تعطينا معلومات علشان نقدر نرد عليك بالطريقة الصحيحة !! 1. شو اسم النموذج الرئيسي ، 2. شم اسم حقل البحث ، 3. شو اسم النموذج الفرعي ، 4. شو مصدر بيانات النموذج الفرعي ، 5. شو المعيار اللي عندك للبحث ، 6. شو اسم الحقل اللي يقوم عليه البحث؟ جعفر
-
سؤال سؤال : بخصوص تمرير معيار الى الرسائل فى الجدول
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
نفس الطريقة اعلاه ، ولكن بتغيير في الوحدة النمطية التالية: Public Function MyMesg(Mesgtxt As String, _ Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, _ Optional ByVal Title As String = "Judy", _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant, _ Optional ByVal AdditionalInfo As String) As VbMsgBoxResult Mesgtxt = Replace(Mesgtxt, "& Strxx", AdditionalInfo) MyMesg = MsgBox(Mesgtxt, Buttons + vbMsgBoxRtlReading + vbMsgBoxRight + vbDefaultButton1, Title) End Function حعفر 1102.الرسائل من داخل V .01.mdb.zip -
المرفق فيه وحدة نمطية اخرى اسمها Update_Each تعمل للحقل الذي نغير فيه القيمة فقط 🙂 جعفر
-
هممم ، يعني في اعضاء آخرين ، غير صاحب الموضوع ، يقراؤن اجاباتي 🙂 جعفر
-
سؤال سؤال : بخصوص تمرير معيار الى الرسائل فى الجدول
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
بما انك ترسل مجموعة بيانات الى الوحدة النمطية MyMesg ، فتستطيع ارسال معلومة اخرى ، وهي بيانات الحقل المتغير يعني ، بدل: بدل MyMesg (txtOfMesg), vbOKOnly, strMsgTitle & strUserLogin استعمل MyMesg (txtOfMesg), vbOKOnly, strMsgTitle & strUserLogin,,, me.txtProfessor وبعدين في الوحدة النمطية تلعب فيها كما تشاء ، مثل: Public Function MyMesg(Mesgtxt As String, _ Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, _ Optional ByVal Title As String = "Judy", _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant, _ Optional ByVal AdditionalInfo As String) As VbMsgBoxResult Mesgtxt = "This text is additional:" & AdditionalInfo & vbCrLf & Mesgtxt MyMesg = MsgBox(Mesgtxt, Buttons + vbMsgBoxRtlReading + vbMsgBoxRight + vbDefaultButton1, Title) End Function جعفر -
اشلون افتح نموذج الكتاب ، عند النقر على سجل معلومة الكتاب (عنوان معدل))
jjafferr replied to m.r's topic in قسم الأكسيس Access
لوسمحت تفتح موضوع جديد بهذا السؤال ، فقوانين المنتدى تسمح بسؤال لكل موضوع 🙂 جعفر -
التقارير مشكلة في التقارير ,,, لا تظهر البيانات المطلوبة
jjafferr replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
-
التقارير مشكلة في التقارير ,,, لا تظهر البيانات المطلوبة
jjafferr replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
v[hx jvtr hglvtr hgwpdp ، يعني رجاء ترفق الملف الصحيح 🙂 جعفر -
وعليكم السلام 🙂 في الواقع في امور ما يحتاج ان نعطيها اكثر من حجمها ، وإلا ، فالإحتمالات لا تنتهي !! هذا الجدول مثله مثل اي جدول ، Users مثلا ، اذا تم حذف هذا الجدول فماذا سيحصل للبرنامج !! هناك طريقتين بسيطتين بأتون على بالي الآن: 1. اول ما تفتح البرنامج ، تأكد عن وجود الجدول (الجداول الاساسية) ، اذا ما موجود ، اخرج من البرنامج بعد اعطاء رسالة بعدم وجود الجدول الفلاني الذي يعتمد عليه البرنامج ، بس المستخدم المسكين شو ممكنه يعمل!! 2. وبما انني اعرف انك لن تقبل بالطريقة اعلاه ، فاليك طريقة ثانية ، وهي ان تجعل هذا الجدول كما هو ، وتستعمله كل مكان في البرنامج ، وتعمل منه نسخة اضافية يبدأ اسمه Msys حتى يكون مخفي ، ولما تفتح قاعدة البيانات ، تتأكد من وجود الجدول كما هو ، وإلا ، فتقوم بنسخه من الجدول الاحتياط 🙂 طبعا بدلا عن جدول الاحتياط ، تقدر يكون عندك ملف txt تحتفظ به في البرنامج بطريقة Blob او كمرفق ، ولما يفتح البرنامج ، تستخدمه للتأكد من بيانات الجدول ، او وجود الجدول. قد تكون هناك طرق اخرى ، ولكني دائما اميل الى البساطة 🙂 جعفر
-
للأسف لا يمكن جعل النموذج المنقسم ، نموذج فرعي !!
-
عملت نسخة من النموذج الفرعي veiw_buy_invoice_ditail subform ، واسميته veiw_buy_invoice_ditail subform_Split ، ثم : اختار نوع النموذج Split Form . . ثم نختار ان يكون DataSheet في الاسفل: . ثم النتيجة: . والآن ، افعل به ما شئت 🙂 جعفر 1099..accdb.zip
-
مشكلة مساعدة فى طريقة ضم مشروعين فى مشروع واحد
jjafferr replied to hassan omara's topic in قسم الأكسيس Access
هنا تجد شرح للبرنامج . هنا وضعت روابط اكثر لمثل هذه العملية . جعفر -
السلام عليكم 🙂 وبعد تحدي ، وصلنا للمطلوب ان شاء الله 🙂 اضفت الحقول البرتقالية لتحسب عدد المرات الموجود فيها الرقم (من او الى) ، ويمكن جعل هذا الحقل مخفي ، الحقول الخضراء هي حقل محسوب في الجدول (موجود سابقا في البرنامج) . وهذا هو التنسيق الشرطي للحقل بالسهم الاحمر: . هذه الوحدة النمطية التي تقوم بالعمل ، Function 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 End Function . ويتم مناداتها من حدث بعد التحديث لكل حقل ، مثلا : Private Sub الي__رقـم_الرمبة_AfterUpdate() Call Update_All End Sub . اسماء الحقول صارت مبرمجة في: الجدول ، النموذج ، الوحدة النمطية ، والتنسيق الشرطي ، لذا ، اذا فكرت بتغيير اسم الحقل في الجدول (او اضافة حقول جديدة) ، فيجب مراعاة تعديل الكائنات التي اشرت اليها اعلاه 🙂 جعفر 1095.مثال.accdb.zip