-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
مشكلة ال Security warning االلي بيظهر في تشغيل البرنامج
jjafferr replied to shod90's topic in قسم الأكسيس Access
من يركب البحر ، لا يخشى من الغرق ولكن الجواب على سؤالك الاصل لا علاقة له بـ "التعقيد" وهنا اخونا العود ابو خليل يتكلم عن التحزيم (انا لم استعمل اي برامج تحزيم ، لذا فلا افهم فيها) ، في موضوع يخص سؤالك كذلك: جعفر -
استدعاء وظيفة في نموذج رئيسي من نموذج فرعي
jjafferr replied to kaser906's topic in قسم الأكسيس Access
خليني ما اتفاعل ولا اجر نفسي في سؤال جديد المهم ان طلبك تم تنفيذه والحمدلله جعفر -
مشكلة ال Security warning االلي بيظهر في تشغيل البرنامج
jjafferr replied to shod90's topic in قسم الأكسيس Access
ملف الـ vbs يمكنك عمله برمجيا ، وكذلك يمكنك التحكم برمجيا (commad line) في برنامج تحويل vbs الى exe ، وكلاهما تستطيع عمله بواسطة برنامج اكسس وسيط ، يعني اول ما تفتح برنامج التحزيم ، اجعل برنامج الاكسس الوسيط ينفتح ، ويطلب منك مسار التنصيب ، ومنها يقوم الاكسس بعمل الخطوات اعلاه برمجيا وعند انتهاء هذا البرنامج الوسيط من عمله ، اجعله يحذف نفسه ، او اجعل البرنامج الجديد عندما يفتح ، يحذف البرنامج الوسيط جعفر -
مشكلة ال Security warning االلي بيظهر في تشغيل البرنامج
jjafferr replied to shod90's topic in قسم الأكسيس Access
تستطيع ان تغير المسار كما تشاء ، هذا مجرد سطر ، وتقدر تكتبه بأي برنامج ، يعني تقدر تعمل هذه الاسطر جميعها برمجيا ، حسب المسار الذي يريده المستخدم جعفر -
استدعاء وظيفة في نموذج رئيسي من نموذج فرعي
jjafferr replied to kaser906's topic in قسم الأكسيس Access
حياك الله شو قصدك انعاش النموذج؟ جعفر -
مشكلة ال Security warning االلي بيظهر في تشغيل البرنامج
jjafferr replied to shod90's topic in قسم الأكسيس Access
تفضل جعفر -
وعليكم السلام اخي حسين ، انت تعرف جيدا ان المنتدى مفتوح لجميع الاعضاء ، فأي مرفق يوضع فيه ، يستطيع الاعضاء انزاله ، وهو لا يخالف قوانين المنتدى (وقد لا يعرف الاعضاء انك لا ترضى بإستعماله بدون إذنك ، لأنك لم تذكر ذلك في مشاركتك) ، والواجب عمله في اي مشاركة ، هي ارفاق عيّنة من قاعدة بياناتك ، وفيها فقط الجزئية التي تحتاج النظر فيها ، وبأقل قدر من البيانات. والآن الى حل موضوعك: رجاء اعطائي الروابط التي بها مرفقاتك (التي ارفقتها انت في الموضوع) والتي تريد حذفها. جعفر
-
استدعاء وظيفة في نموذج رئيسي من نموذج فرعي
jjafferr replied to kaser906's topic in قسم الأكسيس Access
جيد في الحدث Current ، اوقف كل الحدث ، ومجرد جرب msgbox "OK" -
بدل الفاصلة ، استخدم الفاصلة المنقوطة نظام الكمبيوتر عندي انجليزي فيستخدم الفاصلة ، بينما النظم العربية تحتاج الفاصلة المنقوطة جعفر
-
استدعاء وظيفة في نموذج رئيسي من نموذج فرعي
jjafferr replied to kaser906's topic in قسم الأكسيس Access
عليكم السلام اولا تغير Private الى Public حتى تستطيع بقية كائنات الاكسس رؤيتها ، public Sub Form_Current() ثم تستعمل الكود التالي عند مناداة ذلك الحدث: Form_Forme_Fatora. وسيعطيك الاكسس جميع الخيارات التي تستطيع التحكم فيها لذلك النموذج ثم سترى Form_Current() ليصبح الكود عندك Form_Forme_Fatora.Form_Current() . جعفر -
وعليكم السلام الكود يجب ان يكون <> Date() - 1 او <>DateDiff("d",-1,Date()) جعفر
-
وتغيير اخير ، إضافة عرض الحقول بغير بيانات ، الى الحقول التي بها بيانات ، وبهذه الطريقة الحقول دائما تملئ عرض التقرير عمل التجربة في تقرير جديد: . . جعفر 783.عرض تقرير.zip
-
حفظ اسم الUserEdit فى الجدول و ظهور فى التقرير
jjafferr replied to REDA.M.A's topic in قسم الأكسيس Access
وعليكم السلام قام اخي @Shivan Rekany بالرد على نفس السؤال هنا: جعفر -
السلام عليكم رجاء متابعة عمل الاستعلام CrossTab في اول مشاركة اعلاه، الان نريد التقرير ان يكون الى سنة 2020 مثلا ، فلاحظ اننا اضفنا هذه السنوات في عمود السنوات Yeaa ، والذي هو "مسمى للعمود" Column Heading : . على اساسه ، نرى ان الاستعلام اعطانا اعمدة للسنوات التي اردناها ، والسنه اللي ما فيها قيمة ، تركها فاضية (وهو المطلوب): . طلبت من الاكسس يعمل تقرير من الاستعلام ، ونرى ان الاستعلام هو مصدر بيانات التقرير: . لاحظ طريقة تسميتنا لكائن التسمية ، وقمنا بهذا العمل لتسهيل عمل الكود: . ثم استعملنا هذا الكود ، ليجعل عرض الحقول = 0 ، للسنوات التي لا يوجد بها قيمة ، ويخفيها كذلك: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Dim ctrl As Control Dim A As Integer For Each ctrl In Me.Controls If ctrl.ControlType = acTextBox And IsNumeric(ctrl.Name) Then A = DCount("*", "Table1", "[Yeaa]=" & Val(ctrl.Name)) 'Debug.Print "A " & A & "-" & ctrl.Name If A = 0 Then ctrl.Width = 0 ctrl.Visible = False Me("Label_" & ctrl.Name).Width = 0 Me("Label_" & ctrl.Name).Visible = False Else ctrl.Width = 1 * 1440 ctrl.Visible = True Me("Label_" & ctrl.Name).Width = 1 * 1440 Me("Label_" & ctrl.Name).Visible = True End If End If Next End Sub . وهذه هي النتيجة ، اعطانا التقرير السنوات التي بها قيمة فقط: . وللتجربة ، اضفنا قيمة لسنة 2018 . فكانت نتيجة التقرير ، وهو المطلوب: . ولكن لم يعجبني تنسيق التقرير المائل لليسار ، فأردت ان اجعله في وسط الصفحة ، بغض النظر عن بيانات السنوات ، فأضفت حقل فاضي وكائن تسمية ، شفافي الخلفية والاطراف ، وغير مضمن: . وعليه ، تغير الكود ليقوم بتوسعة هذين الحقلين المطاطين ، فاصبح: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Dim ctrl As Control Dim A As Integer Dim Empty_Cells As Integer Empty_Cells = 0 For Each ctrl In Me.Controls If ctrl.ControlType = acTextBox And IsNumeric(ctrl.Name) Then A = DCount("*", "Table1", "[Yeaa]=" & Val(ctrl.Name)) 'Debug.Print "A " & A & "-" & ctrl.Name If A = 0 Then ctrl.Width = 0 ctrl.Visible = False Me("Label_" & ctrl.Name).Width = 0 Me("Label_" & ctrl.Name).Visible = False Empty_Cells = Empty_Cells + 1 Else ctrl.Width = 1 * 1440 ctrl.Visible = True Me("Label_" & ctrl.Name).Width = 1 * 1440 Me("Label_" & ctrl.Name).Visible = True End If End If Next Me.Empty_Space.Width = (1 * 1440 * Empty_Cells) / 2 Me.Label_Empty_Space.Width = Me.Empty_Space.Width End Sub . وهذا التقرير بالتنسيق الجديد ، وبدون 2018 . وعند اضافة 2018 في بيانات الجدول ، نلاحظ ان التقرير اخذ تنسيقه الصحيح في وسط الصفحة كذلك: . فإقتراحي ان تجرب احجام الحقول (العرض المستخدم في هذا البرنامج هو 1 بوصة) والخط بما يتناسب في التقرير ، ثم تدخل في الاستعلام السنوات المستقبلية ، ويكون التقرير جاهز لكذا سنة في المستقبل ، الى ان تقوم بعمل تحديث للبرنامج ، وتحذف السنوات القديمة ، وتستبدلها بسنوات مستقبلية جديدة جعفر 783.عرض تقرير.accdb.zip
-
حياك الله
-
زر الصفحة لأعلى وزر الصفحة لأسفل ، هذه الازرار محجوزة للأكسس ، فأنا غيرت لك الكود علشان تستعمل السهم الاعلى والسهم الاسفل ، بدل الازرار اعلاه: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'KeyCode = 33 vbKeyPageUp PAGE UP key 'KeyCode = 34 vbKeyPageDown PAGE DOWN key 'KeyCode = 107 vbKeyAdd PLUS SIGN (+) key 'KeyCode = 109 vbKeySubtract MINUS SIGN (-) key 'KeyCode = 38 vbKeyUp UP ARROW key 'KeyCode = 40 vbKeyDown DOWN ARROW key If KeyCode = 107 Then tim = tim + 0.041666 ElseIf KeyCode = 109 Then tim = tim - 0.041666 'ElseIf KeyCode = 33 Then ElseIf KeyCode = 38 Then tim = tim + 1 'ElseIf KeyCode = 34 Then ElseIf KeyCode = 40 Then tim = tim - 1 End If End Sub
-
وعليكم السلام بدل tim_KeyDown ، استعمل Form_KeyDown Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 107 Then tim = tim + 0.041666 ElseIf KeyCode = 109 Then tim = tim - 0.041666 ElseIf KeyCode = 33 Then tim = tim + 1 ElseIf KeyCode = 34 Then tim = tim - 1 End If End Sub جعفر
-
السلام عليكم انا قلت "المفروض" ، وما قلت ما يصير !! الاستعلام اصبح: SELECT Tabil_Visitors.id_visitors, Tabil_Visitors.Num_brnamge, Tabil_Visitors.service, Tabil_Visitors.Travel2, Nz(DCount("[Travel2]","Tabil_Visitors","[Num_brnamge]=" & [Num_brnamge] & " and [Travel2]=" & 1),0) AS Expr1, Nz(DCount("[Travel2]","Tabil_Visitors","[Num_brnamge]=" & [Num_brnamge] & " and [Travel2]=" & 2),0) AS Expr2, IIf([Travel2]=1 Or [Travel2]=2 Or [Travel2]=3 Or [Travel2]=6 Or [Travel2]=7 Or [Travel2]=8,Nz(DCount("[Travel2]","Tabil_Visitors","[Num_brnamge]=" & [Num_brnamge] & " And [Travel2]=" & [Travel2]),0),0) AS Expr3, IIf([service]=1 Or [service]=2 Or [service]=3 Or [service]=6 Or [service]=7 Or [service]=8,(SELECT TOP 1 Sum(1) AS Total_Beds_Flight FROM Tabil_Visitors WHERE (((Tabil_Visitors.service) In (1,2,3,6,7,8))) GROUP BY Tabil_Visitors.Num_brnamge HAVING (((Tabil_Visitors.Num_brnamge)=[forme_Fatora]![num_brnamge]));),0) AS TT FROM Tabil_Visitors WHERE (((Tabil_Visitors.Num_brnamge)=[forme_Fatora]![num_brnamge])); . والنتيجة: . جعفر
-
السلام عليكم استعمل الاداة: . لكي تعرض الكود في المشاركة بطريقة صحيحة ، ليسهل علينا قراءة الكود : Private Sub p1_Click() If Now() - [time] > 0.01041667 And [error_level] = 3 Then [error_level] = 0 End If If IsNull([n3]) Then DoCmd.OpenForm "user1", acNormal Else If [error_level] = 3 Then Ms$ = "تم ايقاف المستخدم 15 دقيقة " Ti$ = "و" RE = MsgBox(Ms$, 0, Ti$) Else If IsNull([user_name]) Or IsNull([password]) Then Ms$ = "اضف اسم المستخدم وكلمة المرور" Ti$ = "و" RE = MsgBox(Ms$, 0, Ti$) Else If [user_name] = [n1] And [password] = [n2] Then DoCmd.OpenForm "user3", acNormal [error_level] = 0 DoCmd.Close acForm, "user2" Else [error_level] = [error_level] + 1 [time] = Now() Ms$ = "كلمة المرور خطأ للمرة" & [error_level] n2.SetFocus Ti$ = "و" RE = MsgBox(Ms$, 0, Ti$) End If End If End If End If End Sub وما فيه اي مشكلة وعند فتح احد النماذج مثلا CC نفتحه بهذا الكود If [CC] = 0 Then DoCmd.OpenForm "CCC" Else DoCmd.OpenForm "CC", acNormal, , , , acDialog End If . جعفر
-
السلام عليكم تستطيع عمل استعلام CrossTab ، والذي سيعطيك نتائج صحيحة ، . . ولكن في التقرير يمكنك مسبقا ان تضيف كم سنه للمستقبل ، وبرمجيا تخبئ العمود اذا مافي بيانات لتلك السنه ، وهذه طريقة عمل الاعمدة في استعلام CrossTab واللي على اساسه تعمل التقرير: . وهناك طريقة اخرى لعمل التقرير: . وهنا سؤال آخر عن نفس الموضوع: جعفر 783.عرض تقرير.accdb.zip