-
Posts
4199 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
180
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
اعتقد يمكن تحقيق ذلك من خلال استخدام OpenArgs كمتغير لعدد النسخ المستهدف طباعتها . وبالتالي نطبق فكرة الطباعة عند فتح التقرير بحيث يتم الطباعة مباشرةً بحلقة تكرارية لعدد مرات الطباعة عند فتح التقرير . بحيث أولا نفتح التقرير من خلال زر ، مع تمرير قيمة المعامل OpenArgs وهنا سيكون 3 كمثال :- DoCmd.OpenReport "اسم تقريرك", acViewNormal, , , , "3" وداخل حدث عند فتح التقرير ، نحدد عدد الصفحات ( كما في المثال السابق ) الصفحة الأولى أو الحالية ، نستخدم الفكرة التالية :- Private Sub Report_Open(Cancel As Integer) Dim c As Integer If Not IsNull(Me.OpenArgs) Then For c = 1 To Val(Me.OpenArgs) - 1 DoCmd.PrintOut acPages, 1, 1 Next c End If End Sub جرب وأخبرنا بالنتيجة
-
وعليكم السلام ورحمة الله وبركاته .. بعد الإطلاع مرتين على الملف المرفق وطريقة عملك عليه ، جرب الحدثين التاليين في الأزرار .. Private Sub a1_Click() Dim curID As Long Dim nxt As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece + 1 Else curID = CLng(Me.ek) End If nxt = DMin("no_rece", "enar_dman", "no_rece > " & curID) If Not IsNull(nxt) Then Me.ek = nxt Me.Requery Else MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" End If End Sub Private Sub a2_Click() Dim curID As Long Dim prv As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece - 1 Else curID = CLng(Me.ek) End If prv = DMax("no_rece", "enar_dman", "no_rece < " & curID) If Not IsNull(prv) Then Me.ek = prv Me.Requery Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End Sub طبعاً قد تحتاج لزر "سجل جديد" إذا كان النموذج الحالي إدخال البيانات . وهذه الفكرة بدلاً من التكرار للحدثين في الزرين ،يمكن دمجهم في دالة واحدة والإستدعاء فقط من خلال الزرين يميز السابق والتالي :- Private Sub a1_Click() GoToRecord True End Sub Private Sub a2_Click() GoToRecord False End Sub Private Sub GoToRecord(isNext As Boolean) Dim curID As Long Dim newID As Variant Dim fld As String: fld = "no_rece" If Nz(Me.ek, "") = "" Then If isNext Then curID = Me(fld) + 1 Else curID = Me(fld) - 1 End If Else curID = CLng(Me.ek) End If If isNext Then newID = DMin(fld, "enar_dman", fld & " > " & curID) Else newID = DMax(fld, "enar_dman", fld & " < " & curID) End If If Not IsNull(newID) Then Me.ek = newID Me.Requery Else If isNext Then MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End If End Sub test.zip
-
مطلوب معادلة لضرب مجموعة من الارقام في رقم معين واعطاء نتائج
Foksh replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. جرب في حدث بعد التحديث لمربع النص الغير منضم الفكرة التالية .. Private Sub AMOUNT_AfterUpdate() Dim vAmount As Double vAmount = Nz(Me.AMOUNT, 0) DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE Table1 SET JOR = Nz(US,0) * " & vAmount DoCmd.SetWarnings True DoCmd.Requery End Sub -
تصميم قاعدة بيانات حضور وانصراف من الصفر
Foksh replied to shaban hassan's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته ، بما أنك لم تحصل على طلبك ، فدعني أوجهك إلى بعض التعديلات التي تجعل من مشروعك سليماً من ناحية التأسيس .. أولاً لاحظت أنك وللأسف تستعمل مسميات عربية للحقول واسماء الجداول . وهذه نقطة ضعف ومشكلة كبيرة . أيضاً تستعمل الأسماء من مقطعين بفاصل = مسافة مثل :- "الاسم رباعى" . وهنا الأصح هو استعمالك لمسميات انجليزية كمثال "FullName" أو "Full_Name" أو أي أسماء تدل على الحقل و وظيفته . ثانياً أيضاً يوجد لديك مشكلة في تسمية الحقول الموجودة في جدول الحضور .. انظر الصورة :- 🚫 أسماء حقول = أرقام هذا خاطئ وبشكل كبير كتسمية للحقول .. لذا وكي تحصل على إجابات لطلبك ، عليك أن تقوم بتصويب الملف المرفق وتصحيح أخطائك ؛ وحتماً ستجد العديد من الحلول الأخرى . -
قريباً .. التحدي الصعب بتطبيق لعبة الدومينو بواسطة آكسيس بأسلوب السحب والإفلات وتطبيق اللعبة الحقيقية على أرض آكسيس 😅 لمحة مصورة من اللعبة :-
- 1 reply
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته .. أختنا الكريمة أهلاً وسهلاً بك في أول مشاركة لك ونتمنى أن تجدي إجابة لمواضيعك مستقبلاً .. ولكن نرجو منك مستقبلاً الإلتزام لقوانين المنتدى بحيث :- فتح الموضوع في قسمه المناسب ، فموضوعك هذا في قسم اكسل وطلبك يختص بآكسيس . إن يكون العنوان ذا وضوح وعلاقة بالمشكلة وأن يصف المشكلة بوضوح . شرح وتوضيح المشكلة بشكل مفصل داخل موضوع المشاركة . ففي موضوعك الأول لم توضحي ما المشكلة التي تعانين منها . إرفاق ملف ليتم التعديل عليه وعلاج المشكلة التي تحتاجيتها . ففي مرفقك ملف نصي طويل يحتوي شرح المطلوب ، ولكن هنا توضح لي إنك بحاجة لمشروع كامل وليس طلب لمشكلة محددة . لذا سيتم نقل طلبك إلى قسم :- إعلانات شخصية للأعضاء
-
وعليكم السلام ورحمة الله وبركاته .. راجع هذا الفيديو للأستاذ أحمد عبد المنعم :-
-
وعليكم السلام ورحمة الله وبركاته .. استخدم خاصية البحص أخي الكريم في المنتدى ، وستجد بعض المواضيع التي تحدثت عن طلبك . أذكر منها موضوع للأستاذ موسى الكلباني @Moosak في هذا الموضوع . أو هذه الفكرة للأستاذ محمد عصام @ابو جودي في هذا الموضوع .. وهذه المشاركة فيها الكثير من الإجابات الجميلة ..
-
وعليكم السلام ورحمة الله وبركاته .. أخي الكريم 🤗، طلبك تكرر عدة مرات لهذا الموضوع ، وفي آخرها كان في الموضوع التالي :- راجع وتابع مواضيعك وقم بإغلاق ما تم حله .. شكراً لك 💐
-
مشاركة مع الأخوة .. جرب المرفق التالي بعد تعديل مصدر بيانات التقرير للسجل الحالي وطباعته .. Private Sub أمر25_Click() On Error Resume Next Dim ID As Long ID = Me.رقم_الهوية DoCmd.OpenReport "T1", acViewNormal, , "[رقم الهوية]=" & ID On Error GoTo 0 End Sub ملفك بعد التعديل :- الطالب.zip
-
تصميم قاعدة بيانات حضور وانصراف من الصفر
Foksh replied to shaban hassan's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. بدايةً أهلا وسهلاً بك في هذا الصرح الكبير بأهله ومنتسبيه كي تتوضح لك بعض الأمور أنصحك بقراءة ارشادات وقواعد المنتدى كي تحصل على إجابة لجميع تساؤلاتك وطلباتك لاحقاً . بخصوص موضوعك الذي طرحته ( ولا اعلم عن الملفات لأنني لم أقم بتحميلها حيث أنني أتابع من الجوال ) ، إذا كنت تبحث عن فكرة لتسجيل الحضور والانصراف للموظفين ، فأنصحك بقراءة هذا الموضوع لأستاذنا ومعلمنا الفاضل أبو خليل :- -
وعليكم السلام ورحمة الله وبركاته .. جرب هذا التعديل الذي استعملت فيه الجملة :- Private Sub أمر55_Click() DoCmd.OpenForm "36", , , "[الرقم]=" & Me.الرقم End Sub بدلاً من الماكرو الذي كنت تستعمله . وأيضاً قمت بحذف الشرط من استعلام النموذج "36" . ملفك بعد التعديل :- برنامج م.zip
-
مشاركةً مع أساتذتي ، رغم أن صاحب الموضوع لا يأبه للملاحظات التي نطرحها وأرجو أن يكتشف أنها لصالحه لاحقاً .. جرب هذا الإستعلام أخي الكريم واستبدله باستعلامك السابق :- SELECT (SELECT Count(*) FROM [ادوات التقييم] AS T WHERE (((T.[اسم الشركة]) Like [ادخل الفيندور الاول] Or (T.[اسم الشركة])=[الثانى]) OR ((T.[اسم الشركة])=[الثالث] And (T.[اسم الشركة]) Is Not Null)) AND T.[اسم الشركة] <= Q.[اسم الشركة] ) AS رقم_تسلسلي, Q.[اسم الشركة], Q.guarantee_value, Q.response_po, Q.cod_supply, Q.cod_cut, Q.Safety, Q.administrative, Q.Warning, Q.Quality FROM [ادوات التقييم] AS Q WHERE (((Q.[اسم الشركة]) Like [ادخل الفيندور الاول] Or (Q.[اسم الشركة])=[الثانى]) OR ((Q.[اسم الشركة])=[الثالث] And (Q.[اسم الشركة]) Is Not Null)) ORDER BY Q.[اسم الشركة]; صورة توضيحية للنتيجة :- ملفك بعد التعديل :- q serial.zip
-
ارجو المساعدة مطلوب تقارير بناء على بيانات جدول
Foksh replied to mostafa_27's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته , بداية ولتتمكن من الحصول على طلبك بكل سهولة ، عليك أولاً ان تجعل لكل قسم أو إدارة رقم فريد يميز الإدارات والأقسام . فعلى فرض ، الإدارة أكبر من القسم أم العكس ( بالنسبة لحاجتك ) ؟؟؟ يعني هل لكل إدارة أقسام خاصة بها ، أم لكل قسم إدارات خاصة به ؟؟؟ وموضوع التاريخ الذي ذكرته ، في أي جزء ؟؟؟؟؟؟ إذا كنت تقصد عن جدول التحصيل "ELTAHSEEL" فالأصل على الأقل أن تضع لنا بعض البيانات ( الغير حقيقية ) على الأقل 5 سجلات أخي الكريم . ثم أود من الأساس لفت انتباهك إلى أن التسمية العربية لأسماء الحقول ، ستجعل الكثير من العقبات والمصاعب أثناء بناء مشروعك وخصوصاً في الأكواد والإستعلامات . قم بإعادة تصويب ملفك ، وستجد الكثير من الحلول ، ما لم تحصل حل لطلبك من الأخوة المثابرين . -
وعليكم السلام ورحمة الله وبركاته .. بدايةً اسم الحقل = "id_pers" وليس "رقم التسجيل" صحيح ؟؟ اعتقد انك تستطيع استعمال الدالة DMAX كقيمة افتراضية لمربع النص داخل النموذج . كمثال ، اجعل القيمة الإفتراضية لمربع النص id_pers تساوي الجملة التالية وجرب بعد أن تقوم بحذف السجل الموجود في جدولك :- =Nz(DMax("id_pers","tbl_personne1"),19020999)+1 ملفك بعد التعديل :- IsertImages.zip
-
وعليكم السلام ورحمة الله وبركاته .. أهلاً بك بدايةً كعضو ومنتسب جديد إلى المنتدى . ونتمنى أن تجد ما تبحث عنه هنا وتحقيقاً للهدف الذي تريده ، لا بد من أن تقوم بإرفاق ملف كي يتم رؤية فكرة بناءك للنموذج . وإن شاء الله تجد الحل والإجابات من الإخوة .
-
الحمد لله انك وجدت الحل ، شاركنا به كي يستفيد منه من يمر بهذا الموضوع
-
مشاركة من الأستاذ أحمد يوسف في جروب الواتس أب ، حيث قام بإضافة الكتب التي يحوزته على مجلد جوجل درايف ومشاركته مشكوراً على جهده . في الرابط التالي https://drive.google.com/drive/folders/1ynPi8W3gZY3n7TjIz-GnJiRQ5OXe34iO
-
منع المستخدم الوصول الى جدول الارتباط
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. اجعل الجداول الخلفية محمية بكلمة مرور . -
تعقيباً مع أستاذي ومعلمي @ابوخليل ، لفت انتباهي كلمة :- وبناءً عليه فإذا كان الزر المخصص لإنشاء سجل جديد في النموذج الرئيسي ، فيكون مقترح معلمي الفاضل كالآتي :- Me.Sub_Form.Form.AllowAdditions = True DoCmd.GoToRecord , , acNewRec Me.Sub_Form.Form.AllowAdditions = False
-
هدية .. حضور وانصراف الموظفين .. بسيط مختصر .. وجاهز للعمل
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
قد تحتاج لدالة فحص ما إذا كان الجهاز متصل بالإنترنت أملا ، فإذا كان متصلاً فيتم جلب الساعة من السيرفر ، وإلا فيتم عرض رسالة أو اعتماد ساعة الجهاز الحالية ( حسب الحالة ) . -
صاحب الموضوع متمسك بالحدث المتعلق بالنموذج وليس بزر الحذف نفسه .. دائماً ما يلجأ البعض إلى الطرق الأصعب أو التي قد لا تحقق الهدف بشكل مباشر 🤷♂️
-
لن اخالف نظرة معلمي الثاقبة والصائبة والسليمة 10000% . كلامك صحيح من الجهة المنطقية ، ولكن من يرغب بالتشفير لن يأبه بهذا المنطق وسيتجه إلى إخفاء جميع السجلات ، مع العلم أن ما تفضلتم به عين الصواب والدقة عند التعامل مع التواريخ والتصفية .... إلخ . حيث ان ردي بناءً على سؤال السائل رغم أن الإجابة ستجعله مستقبلاً يلحظ أهمية نظرتكم معلمي @ابوخليل .
-
التشفير لن يكون أثناء تسجيل البيانات ، بل عند الحفظ أو الخروج من النموذج ، ولذلك قد تكون فكرة التوسع في عملية التشفير بحيث يتم تطبيقها على السجل الحالي أمر مرهق لقاعدة البيانات . تتبع الفكرة السابقة في إجابتي .. الحقول الرقمية والتاريخ يمكن تشفيرها بحيث نجعل نوع الحقل في الجداول نصية وليست حقول رقمية أو تاريخ و وقت ( بناءً على فكرتي السابقة طبعاً ) التطويرات والتحديثات والتعديلات متاحة لك كيفما شئت . وأشعر بأنك متمكن من التعديل والتطوير كيفما تريد