
شايب
03 عضو مميز-
Posts
342 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
2
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو شايب
-
السؤال للخبراء مع ذلك الاجابة ممكن في زر الامر لفتح التقرير استبدل الامر لديك بالامر التالي DoCmd.OpenReport "yy", acViewPreview, , , acDialog اخونا الشايب yy.accdb
-
التاكد من عدم تكرار المفتاح الاساسي عند تشغيل الاستعلام الالحاقي
شايب replied to gavan's topic in قسم الأكسيس Access
بسم الله عليك ههههه انا انتبهت من امس بس ماعلقت 😃 الشايب -
ادخل عرض التصميم للتقرير ثم حدد الحقل او الحقول التي ترغب تطبيق التنسيق عليها ثم تبويب تنسيق ثم تنسيق شرطي
-
استخدم التنسيق الشرطي Database1(20).accdb
-
مساعده فى طباعة باركود منفصل لكل سجل امامه صح
شايب replied to safaa salem5's topic in قسم الأكسيس Access
متابع بصمت 👀 -
هو نفس الكود السابق ولكن بدلا من تكراره اربع مرات نقوم بتعديل بسيط بداية في اعلى النموذج نعلن عن متغير رقمي Public s As Byte ثم نعمل اجراء على النحو التالي Sub sl() Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit Select Case s Case Is = 1 rst!drawn = -1 Case Is = 2 rst!send = -1 Case Is = 3 rst!drawn = 0 Case Is = 4 rst!send = 0 End Select rst.Update rst.MoveNext Next a Me.Sub.Requery s = 0 End Sub ثم في زر الامر نضع s = 1 sl وقيمة المتغيير s تتغير لكل زر امر وفقا لعمله في الكود اخير الاخ شايب لايهتم باختيار اسماء معبرة عن عمل المتغير او الاجراءات لكون غير متخصص في البرمجة ولا يمتهنها ويترك الامر للاساتذة والمختصين الملف مرفق تحديد الكل والغاء الكل.accdb
-
التاكد من عدم تكرار المفتاح الاساسي عند تشغيل الاستعلام الالحاقي
شايب replied to gavan's topic in قسم الأكسيس Access
جرب المرفق مع عدم الاقتناع بثلاث حقول مفتاح اساسي الشايب DD409.accdb -
اخيرا الاخ شايب يرغب في ايضاح اخير قاعدة برمجية عندما يكون لدينا كود يتم استخدامه في اكثر من موضع فمن الافضل تجنب تكرار كتابته وتحويل الكود الى وحدة او اجراء فرعي في النموذج وهنا اشارت الاستاذة الى وجود حقلين من نوع نعم لا واربعة ازرار امر اثنان لاختيار الكل واثنان للالغاء لذا ينصخ اخونا شايب في هذه الحالة بتحويل الكود الى اجراء فرعي واستخدام متغير رقمي في اعلى النموذج تتحدد قيمته من خلال ازرار الامر ونحتاج هنا الى ارقام من 1 الى 4 وفي الاجراء نستخدم Select Case بحيث اذا كان المتغير =1 يكون التعديل للحقل drawn وتكون قيمته =-1 وان كان المتغير =2 تكون قيمة الحقل =0 وهكذا عند ارسال رقم 3 يكون التعديل للحقل send اختيار الكل ورقم 4 للالغاء لنفس الحقل اي ان الكود مكتوب مرة واحدة ويقوم باربعة وظائف ويكون دور ازرار الامر فقط لتحديد قيمة المتغير واستدعاء الاجراء الفرعي ونكتفي بهذا القدر ونترك الامر للاساتذة ولعل يكون لنا عودة في موضوع اخر اخونا الشايب
-
بعدين لابد ان نعرف اننا لا نتعامل مع خانة اختيار او مجموعة اختيار وانما في هذا المثال نتعامل مع حقل من نوع نعم لا
-
احنا حددنا اسم الخانة الخاصة بالاختيار rst!drawn الموضوع بسيط بنفس الطريقة للخانة الثانية عند سحب الكل والغاء الكل فقط نعدل السطر السابع الى rst!test=-1 وللالغاء rst!test=0 على افتراض ان اسم خانة الاختيار الثانية test
-
مشاركة مع الاساتذة بدون الحاجة لاستعلام فقط نتعامل مع مصدر السجلات ونسنده للنموذج الفرعي ثم نستخدم حلقة دوارة تعدل قيمة الحقل في زر الامر اختيار الكل نضع الامر Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit rst!drawn = -1 rst.Update rst.MoveNext Next a Me.Sub.Requery وفي زر الغاء الكل نضع Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit rst!drawn = 0 rst.Update rst.MoveNext Next a Me.Sub.Requery الملف مرفق الشايب تحديد الكل والغاء الكل.accdb
-
option button طريقة تحديد اختيار واحد من تلاته
شايب replied to safaa salem5's topic in قسم الأكسيس Access
-
option button طريقة تحديد اختيار واحد من تلاته
شايب replied to safaa salem5's topic in قسم الأكسيس Access
العملية بسيطة وممكن الوصول لذلك باكثر من طريقة طريقة استخدام الشروط لكل خانة خيار وهي طريقة تؤدي الغرض ولكنها تستدعي التكرار وصف اسماء الخانات ووو ... لا تعجب اخونا شايب الطريقة الثانية اذا كنا نرغب في تطبيق العمل على مجموعة من خانات الاختيار بدون استثناء ماعدا الخانة التي يتم النقر عليها فيمكن كتابة اجراء فرعي يمر على كافة الخانات في النموذج ويقوم باستبدال قيمتها الى 0 ماعدا الخانة التي تم اختيارها Sub x() Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = 105 Then ctl.Value = 0 End If Next ctl Me.ActiveControl = -1 End Sub ويتم استدعاء الاجراء عند النقر x اما اذا اردنا تطبيق الامر على بعض الخانات واستثناء البعض منها فيمكن بدلا من الاشارة الى نوع خانات الاختيار وهي هنا 105 بدلا من ذلك نستخدم خاصية tag ويكون الاجراء Sub x() Dim ctl As Control For Each ctl In Me.Controls If ctl.Tag = "*" Then ctl.Value = 0 End If Next ctl Me.ActiveControl = -1 End Sub ويستدعى بنفس الطريقة في الصورة تم تطبيق الامر على خانة اختيار وقيمتها 105 وخانة تدقيق وقيمتها 106 الشايب -
حل مشكلة تغيير بيانات سجل نتيجة خطأ فى كود
شايب replied to safaa salem5's topic in قسم الأكسيس Access
بل سبب المشكلة التعديلات التي تمت على النموذج اما الكود فهو يعمل بشكل ممتاز وتمت كتابتة بناء على المعطيات في الموضوع السابق ولعرض بيانات في نموذج مفرد غير منضم -
اتفق معك ان التجربة من اهم وسائل التعلم والحقيقة ان ردي المقتبس ليس موجه لك تحياتي 🌹
-
ممكن وبعيد عن التعقيدات ممكن نستدعي البيانات باستخدام دالة Dlookup على شكل مصفوفة في حدق عند النقر على الاسم في النموذج الفرعي نضع الامر Dim a, x As Variant a = DLookup("[id]&'|'&[ptitle]&'|'&[pname]&'|'&[code]", "reservation_tbl", "[pname]='" & [pname] & "'") x = Split(a, "|") Me.Parent!ID = x(0) Me.Parent!ptitle = x(1) Me.Parent!pname = x(2) Me.Parent!code = x(3) استدعينا قيمة اربع حقول بمعيار الاسم وممكن اضافة اي عدد من الحقول ولكن لابد من الفصل بينهم باستخدام &'|'& لنتمكن بعد ذلك من تقسيم المصفوفة الملف مرفق اخونا الشايب lab.accdb
-
ممكن استخدام DLookup كمصفوفة لتحميل قيمة الحقول الاربعة في امر واحد ثم تقسيم المصفوفة على الحقول في النموذج وهذا الامر سيكون اسرع وخصوصا اذا كان البرنامج مستخدم على الشبكة
-
سبحان الله نعم صحيح ساحاول مستقبلا تحسين خطي والتزام الكتابة على السطر واستخدام الالوان ليتمكن الاخرون من قراءة ما اكتب الشايب
-
اذا اردنا بقاء نموذج visit_frm غير منضم وبدون اجراء تغيير على النماذج والحقول فمن اسهل الطرق تحميل قيمة الحقول ضمن امر فتح النموذج في مثال الاخت في زر الامر النتائج نضع الامر التالي DoCmd.OpenForm "visit_frm", , , , , , ID & "|" & ptitle & "|" & pname & "|" & code وكما تشاهد حملنا قيمة اربع حقول ويمكن زيادة عدد اكبر من ذلك وفصلنا بين كل حقل والاخر بـ &"|"& والغرض استخدامها كفاصل بين قيمة كل حقل والاخر ثم في نموذج visit_frm في حدث عند الفتح نضع الامر If Not IsNull(Me.OpenArgs) Then Dim k As Variant k = Split(Me.OpenArgs, "|") ID = k(0) ptitle = k(1) pname = k(2) code = k(3) End If اخونا الشايب
-
مع ان السؤال موجه للاساتذة الكبار جرب في الاستعلام اكتب not null سيقوم الاكسيس بتصحيح المعيار الى Is Not Null وليس not is null وكلاهما يعملان اما في محرر الاكواد فكما اشار ابوخليفة والله اعلم
-
اذكر قبل سنوات طويلة كانت جميع التطبيقات تعمل على 16 bit بداية ويندوز 1 الى 3.x الى ان اصدرت مايكروا ويندوز 95 يعمل في بيئة 32 ويدعم 16 ولكن لكون ملايين المؤسسات تستخدم نظام 3.11 والخاص بمجموعات العمل اشبه مايكون بويندوز سيرفر فان مايكروا واجهة ضغوطات من العملاء الذين استثمروا في 3.11 والجهة الاخرى الشركات المنتجة للبرامج والتي ترغب الانتقال للبيئة الجديدة ولكن البعض متردد بسبب عدم اقبال ملايين الشركات على ويندوز 95 مما دفع مايكروا باصدار ملف ترقية يتيج امكانية تشغيل برامج 32 على انظمة 16 واعتقد كان اسم الملف win 32s وهو اقرب مايكون ببيئة محاكاة وحتى تنصيب الملف كان يحتاج الى عدة خطوات والحديث هنا من الذاكرة والتي كثيرا ماتخون هذا الامر كان منذ مايقارب 28 عاما الشايب
-
في اصدار 21 يكون التنسيق الافتراضي لقاعدة بيانات فارغة واعتقد الامر نفسه من اصدار 2016 2000 2002-2003 2007-2016 والسبب ان 2007 الى 2013 متشابهه اما 2016 الاصدار 16.0.7812 فاحدث يدعم رقم كبير فاذا استخدمنا هذا النوع فان الملف لايمكن فتحه بالاصدارات الاقدم والاصدار 2021 يحتوي على حقل من نوع توسيع تاريخ وقت وايضا غير متوافق مع الاصدارات ما قبل 21 ولكن اذا لم نستخدم هذين التنسيقين فان الناتج يمكن فتحه من 2007 الى 2021 والله اعلم
-
منطقبا لا يعمل بسبب اختلاف المعمارية الانظمة المستندة على معمارية 64x بنية النظام تدعم 64x و 86X بينما الانظمة 86X تدعم فقط 86X و لا تدعم معمارية 64x