بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام أهلا بك في المنتدى سؤالك غير واضح ، فرجاء توضيحه اكثر بمرفق ، وتوضح لنا من المرفق ما تريده ، وياريت تعمل لنا الشكل الاخير لما تريده ، سواء في ملف وورد او حتى صورة جعفر
-
تعديل على كود xsql للبحث فى جدولين مختلفين
jjafferr replied to solventer's topic in قسم الأكسيس Access
أخي الفاضل 1. سؤالك غير واضح ، 2. الجدول sales لا يوجد به هذه الحقول !! لذا ، رجاء الاخذ من وقتك ، واعطنا شرح وافي ومثال واضح وارقام من برنامجك ، والنتيجة التي تريد الوصول اليها (ولو عن طريق برنامج الاكسل او وورد او صورة). جعفر -
وعليكم السلام اخي وضاح هذا الخطأ ينتج لما تكون عندك معادلة لحقل ومافيه بيانات ، لذا تقدر تستعمل iif الشرطية: اذا في بيانات ، فقم بالمعادلة ، واذا مافي بيانات فاعطنا "" ، مثلا من http://allenbrowne.com/RecordCountError.html : =IIf([Form].[Recordset].[RecordCount] > 0, Sum([Amount]), 0) وهناك شرح اكثر في الرابط اعلاه. جعفر
-
وعليكم السلام انت تريد ان تفتح النموذج MONTH TARGET ، ولكن بتصفيته حسب التاريخ الذي في الحقل Text21 DoCmd.OpenForm "MONTH TARGET", , , "[ProdPlanDate]=#" & Me.Text21 & "#" جعفر
-
السلام عليكم اخي bahnay انا اتفق مع اخي co2002co ، ولكن وكما قلت انت ، قد يكون برنامجك له خصوصية تتطلب هذا العمل!! اقتراحي: 1. العمل على جدول واحد فقط ، ويمكنك توضيح المعادلات والنسب التي تريد تنفيذها ، فقد نستطيع عملها عن طريق استعلام ، وحفظ البيانات على اساسها في الجدول ، 2. اذا اردت المُضي قُدما بطريقة الجدولين ، فكل اللي تجتاج له هو استعلام تحديث (لتحديث بيانات الجدول الآخر) ، حسب بيانات النموذج جعفر
-
تقرير بأكثر من عمود ، وتسلسل من اليمين الى اسفل ، ثم عمود جديد
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
وعليكم السلام اخي شفان مبدئيا أقول لك لا اعرف، فالطريقة التي استعملتها من نافذة إعدادات الصفحة لا تعطينا هذا الخيار!! ولكن رجاء ان تجرب ان تعمل إعدادات التقرير الرئيسي والفرعي من اليمين إلى اليسار، ثم أخبرنا عن النتيجة ، لأني سأكون بعيدا عن الكمبيوتر لعدة أيام جعفر -
السلام عليكم هذا رابط جواب التسلسل جعفر
-
السلام عليكم كان المفروض ان يكون هذا الموضوع كجواب للموضوع والمشكلة هي ان ارقام التسلسل بالعربي ، في كل من التقارير الفرعية ليست بالتسلسل المطلوب ، ولا السنه بالتسلسل الصحيح . نعرف اذا اردنا ان نعمل اكثر من عمود في التقرير ، فاننا نستعمل اعدادات الصفحة في التقرير . اذا التقرير بالانجليزي ، فكل شيء تمام وبالترتيب/التسلسل المطلوب ، ولكن للأسف لما نريد الاعمدة بالتسلسل العربي ، من اليمين الى اسفل ، ثم يُكمّل العمود الثاني من حيث انتهى الاول ، هكذا . فهنا يجب ان نقوم بمعالجة الموضوع بطريقتنا الخاصة استعنت بالبرنامج من الروابط اعلاه ، وعملت تجارب على عدة اعمدة: 2 الى 6 اعمدة ، وكتبت نتائجها في الاكسل ، لأرى النتائج بصورة مباشرة ، الحالي معناه ما يعطينا الاكسس ، والمفروض هو التسلسل الذي نسعى لعمله . وبعد التمعن في الارقام لعدة ايام ، توصلت الى ان هناك لوغاريثم معين يتماشى مع ارقام الاعمدة وتسلسلها ، وبعد تجربة عدة طرق توصلت لطريقة تعرض هذه الاعمدة بالطريقة التي نريدها 1. سنحتاج الى حقلين اضافيين في الجدول (لكل تقرير فرعي) ، حقل تسلسل الاعمدة (وسيكون مخفي ، باللون البرتقالي في الصورة ادناه) والذي سيعتمد عليه التقرير في فرز البيانات ، rpt2_Seq مثلا، وحقل للتسلسل الذي سنراه في التقرير ، Seq2 مثلا (الحقل الآخر في التقرير) ، 2. في التقرير ، هكذا نجعل فرز البيانات ، على اساس الحقل rpt2_Seq . وبما ان التقرير الرئيسي يحتوي على 3 تقارير فرعية (في برنامج الرابط اعلاه) ، . فوضعت الكود على حدث "التنسيق" لرأس التقرير Page Header ، وهذا هو الكود ، والذي نراه انه ينادي الدالة ("Call Seq_Records(2, "rpt2_Seq", "Seq2") ، لكل تقرير فرعي ، ويرسل عدد الاعمدة المطلوبة ، واسم حقلي التسلسل في الجدول للتقرير الفرعي: Option Compare Database Dim rst As DAO.Recordset Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) 'Seq the subform Records 'rpt2 Set rst = CurrentDb.OpenRecordset("Select * From qry_2 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt2_Seq", "Seq2") 'rpt3 Set rst = CurrentDb.OpenRecordset("Select * From qry_3 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt3_Seq", "Seq3") 'rpt4 Set rst = CurrentDb.OpenRecordset("Select * From qry_4 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt4_Seq", "Seq4") End Sub . وهذا كود الدالة ، والتي يمكن إخراجها من التقرير وجعلها وحدة نمطية مستقلة) : Function Seq_Records(N As Integer, Seq_fName As String, Seq_n As String) On Error GoTo err_Seq_Records 'N = Number of columns 'Seq_fName = Seq Field Name 'Seq_n = Seq rst.MoveLast: rst.MoveFirst RC = rst.RecordCount c_Columns = N 'Number of columns in the report r_Records = RC 'Number of Records in the report j_First = c_Columns 'Start rtp_Seq with this number Counter = 0 'each time reduce c_Columns by this Counter For i = 1 To RC rst.Edit rst(Seq_fName) = j_First rst(Seq_n) = i 'Debug.Print "rtp_Seq=" & j_First & vbTab & "Seq=" & i rst.Update 'rtp_Seq j_First = j_First + c_Columns 'rpt_Seq cannot be > RC If j_First > RC Then 'start Counter Counter = Counter + 1 'rpt_Seq re-calculate j_First = c_Columns - Counter End If rst.MoveNext Next i Exit_Seq_Records: rst.Close: Set rst = Nothing Exit Function err_Seq_Records: If Err.Number = 3021 Then Resume Exit_Seq_Records Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . والنتيجة: . كما عملت تقرير للتجربة وبه 4 اعمدة ، والذي ينادي الدالة هكذا ("Call Seq_Records(4, "rpt2_Seq", "Seq2") ، والنتيجة . جعفر 680.4.الاجازات.accdb.zip
-
وعليكم السلام نصيحة: الطريقة التي تقوم بها بكتاية الكود ، هي احد اسباب حصول خلل في برنامج الاكسس ابدا لا تكتب الكود او تغير فيه والنموذج ليس في وضع التصميم او وضع LayOut اما سبب مشكلتك: فعندك حدث على Timer التوقيت او ساعة او شيء من هذا القبيل ، والكود كلما اراد ان يشتغل بالطريقة الطبيعية ، واذا بالـ Timer يريد ان يقرأ الكود ، فيتلخبط الكود الذي تكتبه وما يلحق يأخذ نفس جعفر
-
وانا ارحب بأخي رمهان ، واشاركه الرأي بطلب الكود ، للفائدة جعفر
-
هل التعليمات البرمجية في الاكسس هي نفسها في البيسك ام هناك اختلاف
jjafferr replied to f16's topic in قسم الأكسيس Access
هذا نقلا عن الرابط https://www.pcreview.co.uk/threads/basic-difference-between-visual-basic-6-and-microsoft-access-vba.3034726/ 1. طريقة المعادلات والوحدات النمطية هي نفسها ، وبسبب ظهور vb للعالم قبل الاكسس ، فهناك الكثير من حلول vb والتي نستفيد منها في الاكسس ، 2. طريقة التعامل مع كائنات النموذج تقريبا نفسها ، ولكن الحدث يوجد فيه فرق ، وطريقة قراءة اعدادات كائنات النموذج تختلف قليلا ، وvb لا يملك نماذج فرعية كما في الاكسس ، والتعامل مع هذه البيانات الفرعية ليست بسهولة الاكسس ، 3. لا توجد تقارير في vb ، 4. لا تحتوي على وضع التصميم للجدول والاستعلام كما في الاكسس ، 5. الاكسس مهيأ ليتعامل مع البيانات ، ولكني الذي فهمته من سؤالك والذي جوابه النقطة 1 من جوابي اعلاه جعفر -
وعليكم السلام تم تغيير اعدادات الحقل ID الى السماح بالتكرار ، وتفضل الكود ، والذي يشتغل بعد ان تُدخل قيمة الحقل Type في النموذج: Private Sub Type_AfterUpdate() Me.ID = Nz(DMax("[ID]", "Table1", "[Type]='" & Me.Type & "'"), 0) + 1 End Sub بس ملاحظة ، الموضوع غير متوقف على المادتين اللي ذكرتهم ، بل اذا اضفت اي مادة جديدة ، سوف يكون لها تسلسل مستقل. جعفر 718.db1.accdb.zip
-
-
التعديل على كود يسمح باضافة ملفات غير الصور
jjafferr replied to ًعبد من عباد الله's topic in قسم الأكسيس Access
أخي وائل رجاء الالتزام بقوانين المنتدى ، كما نحن نلتزم به ، وقد كتبت لي على الخاص بأني حذفت احد مشاركاتك ، ولكني لم افعل ، والمشرفون الآخرون تصرفوا بها لأنها مشاركة في غير محلها ، عيناً كما هي مشاركتك هذه ، اما الآن ، فانا الذي تصرفت مع مشاركتك الاخير ، والخارجة عن اطار هذا الموضوع ، مشاركة في غير محلها. . جعفر -
وعليكم السلام انا لم اتدخّل في البرنامج/الكود ، ولا في تقريب الارقام ، إلا في التالي: . وهذا هو الكود Private Sub أمر8_Click() Dim strSQL As String Dim Add_it As Double strSQL = "DELETE G2.[رقم القسط], G2.رقم, G2.التاريخ, G2.المبلغ, G2.[المبلغ كتابه] FROM G2 WHERE (((G2.رقم)=[FORMS]![f1]![رقم]));" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings False Me.Requery DoCmd.GoToRecord , , acFirst For i = 0 To Forms![f1]![qastno] - 1 Me.رقم = Forms![f1]![رقم] Me.التاريخ = DateAdd("m", i, Forms![f1]![Date]) Me.المبلغ = Round(Forms![f1]![المبلغ] / Forms![f1]![qastno], 2) Add_it = Add_it + Nz(Me.المبلغ, 0) Me.المبلغ_كتابه = NoToTxt(Me.المبلغ, "ريال سعودي", "سنتيم") DoCmd.GoToRecord , , acNext Next 'Debug.Print Forms![f1]![المبلغ] & " >> " & Add_it If Add_it <> Forms![f1]![المبلغ] Then DoCmd.GoToRecord , , acNewRec Me.رقم = Forms![f1]![رقم] Me.التاريخ = DateAdd("m", i, Forms![f1]![Date]) Me.المبلغ = Forms![f1]![المبلغ] - Add_it Me.المبلغ_كتابه = NoToTxt(Me.المبلغ, "ريال سعودي", "سنتيم") End If DoCmd.Requery End Sub . جعفر
-
وعليكم السلام تفضل . وهذا هو الكود Private Sub cmd_Next_Page_Click() On Error Resume Next Me.TabCtl0.Value = Me.TabCtl0.Value + 1 End Sub Private Sub cmd_Previous_Page_Click() On Error Resume Next Me.TabCtl0.Value = Me.TabCtl0.Value - 1 End Sub Private Sub cmd_lock_bbb_Click() Me.TabCtl0.Pages("bbb").Enabled = False End Sub Private Sub cmd_unlock_bbb_Click() Me.TabCtl0.Pages("bbb").Enabled = True End Sub جعفر 716.Tapages.accdb.zip
-
هل التعليمات البرمجية في الاكسس هي نفسها في البيسك ام هناك اختلاف
jjafferr replied to f16's topic in قسم الأكسيس Access
وعليكم السلام 1. نعم تتشابه ، ولكن ليس 100% ، وهناك اوامر خاصة بالاكسس والتي لا توجد في VB ، 2. استعمل خاصية البحث لتجد بعض المواضيع التي تناقش طلبك جعفر -
طلب مساعدة في طباعة الفاتورة الحالية في النموذج والتقرير فقط
jjafferr replied to الهمة's topic in قسم الأكسيس Access
السلام عليكم انا عملت بعض التعديلات ، وحذفت التاريخ من الربط بين النموذج الرئيسي والفرعي ، فرجاء تشوف اذا هذه النتيجة اللي تريدها جعفر 696.1.المستخدمين.accdb.zip -
وعليكم السلام هناك طريقة سهلة لهذا العمل واسمها "التنسيق الشرطي Condtional Formating" ، ولكنها لا تعمل الزر ، وانما على الحقول ، وهذه الروابط تشرح لك الطريقة جعفر
-
رجاء توضع المرفق اللي انت اشتغلت عليه ، علشان نعمل التغيير عليه ، فالمرفق اعلاه مافيه تقرير. جعفر
-
وعليكم السلام جرب هذا الكود Function Add_Sum() Me.sumation = Nz(Me.arab, 0) + Nz(Me.forgen, 0) End Function Private Sub arab_AfterUpdate() Call Add_Sum End Sub Private Sub forgen_AfterUpdate() Call Add_Sum End Sub Private Sub year_AfterUpdate() Me.id = Nz(DMax("[id]", "id", "[Glose]=" & [Forms]![main]![Glose]), 0) + 1 End Sub جعفر