-
Posts
1,347 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
29
Community Answers
-
kha9009lid's post in مساعدة في تمكين الحذف للعدة نماذج was marked as the answer
ممكن عملها
ولكن لماذا لا نجعلها صلاحيات للاضافة والتعديل والحذف على مستوى النموذج ولكافة النماذج ويمكن مستقبلا اضافة نظام مستخدمين وربطها معا
ولكن دعنا حاليا في الصلاحيات الثلاث
بحيث يكون لدينا جدول ياخذ اسم النموذج بشكل تلقائي من جدول النظام المخفي MSysObjects
وثلاث خانات اختيار اضافة تعديل حذف
وبالتالي عند فتح النموذج يتم التأكد من هذة الخيارات الثلاث
جرب الملف المرفق ربما يكون افضل من زر امر
مع الشكر والتقدير لاستاذنا الفاضل @osama ababneh
New Microsoft Access Database(2).accdb
-
kha9009lid's post in مساعدة في جلب المجموع من استعلام was marked as the answer
=DSum("[genome]";"استعلام1")
micro.accdb
-
kha9009lid's post in مساعدة في كتابة ثلاثة اكواد was marked as the answer
Me.AllowAdditions = False Me.AllowDeletions = True Me.AllowEdits = True
-
kha9009lid's post in استفسار بخصوص جمع عمود غير منظم was marked as the answer
في الحقل النموذج الرئيسي اجعل قيمته تساوي
=IIf(Not IsNull([m]);DSum("[a]*[b]";"جدول3";"[المعرف1]=" & [المعرف] & "and [se]=-1");0) في حدث بعد التحديل للحقل se
Forms![ÌÏæá2].Refresh النلف مرفق واختبرة زين راسي مصدع وعملتة بشكل سريع بدون اختبار للتأكد
time(1).accdb
-
kha9009lid's post in ما سبب تصغير ارتفاع فورم الى عملية ( نمط الحدود - مربع حوار ) was marked as the answer
بالامكان التحكم بابعاد النموذج الطول والعرض عن طريق الكود في حدث عند الفتح
Me.InsideHeight = 7500 Me.InsideWidth = 7000 او هكذا
Me.Form.InsideHeight =7500 Me.Form.InsideWidth = 7000 غير الرقم وفقا للحجم المناسب للفورم
ارتفاع.accdb
-
kha9009lid's post in استفسار بخصوص الغاء ctrl+o في الاكسس was marked as the answer
ممكن عن طريق مايكرو
انشاء مايكرو
مايكرو فرعي
^o ثم حفظ وسمي المايكرو AutoKeys
Database1181.accdb
-
kha9009lid's post in استفسار حول الفرق بين دالتين was marked as the answer
Requery يقوم بتحديث البيانات من مصدر السجل ويعكس كافة التغييرات التي تمت على السجلات ويعيدك للسجل الاول
refersh يحدث البيانات الحالية في النموذج وماتم عليها من تعديل
-
kha9009lid's post in ظهار التقرير على حسب الفراز من النموذج was marked as the answer
نعم كل شي ممكن في اكسس
نستبدل الكود السابق بكود فلترة لحقلين
Dim k As String Dim x As String k = "taxt_name1 like '*" & city & "*'" x = "[year_1] like '*" & cmbLocation & "*'" Me.frmOrder.Form.Filter = k & " and " & x Me.frmOrder.Form.FilterOn = True بالامكان الفلترة بالعام فقط او بالمدينة فقط او الفلترة بالحقلين
الملف مرفق مع رجاء التقيد بتعليمات الموقع سؤال واحد حتى مايزعلوا علينا المشرفين ويغلقوا المشاركة
عمل الفراز(1).accdb
-
kha9009lid's post in عمل مربع نص يظهر رقم السجل was marked as the answer
لا اعلم اذا كان فهمي صحيح جرب الملف المرفق
Database1121.accdb
-
kha9009lid's post in الدالة dsum داخل الاستعلام was marked as the answer
Nz(DSum("[Expr1]";"[Q1]";"[id] =" & [id] & "And [Dat_bill] Between #01/01/2020# And #31/01/2020#");0)
مثال اوفيسنا الدالة dsum(1).accdb
-
kha9009lid's post in مساعدة في اختبار امان قاعدة بيانات was marked as the answer
اخي @ازهر عبد العزيز
لا يوجد خطأ اكسس ضعيف جدا في موضوع الحماية
ايضا استخدام كلمة مرور في inputbox تكون كلمة المرور موجودة في محرر الاكواد وحتى وان كانت القاعدة محولة الى ACCDE وبالتالي لا يمكن الدخول على الاكواد
الا ان هناك طرق عديدة لتجاوز ذلك وهذه واحدة من الطرق
تحياتي
-
kha9009lid's post in كود جمع was marked as the answer
في الطريقة التي اشار اليها الاستاذ @أحمد الفلاحجى اعتمدت الاستاذة زهرة على وضع حقل غير منظم بالنموذج الفرعي
وقيمته تساوي
=Nz(Sum([total]);0) وفي حقل الاجمالي للنموذج
=Forms![إجمالى فاتورة البيع(مبيعات الأسمنت]![تفصيل فاتورة البيع]!TOT ومكن اختصار الطريقة بدون الحاجة للحقل غير المنظم في الفرعي باستخدام دالة dsum
=Nz(DSum("[total]";"تفصيل فاتورة البيع";"[im_id]='" & [im_ID] & "'");0) المثال في المرفق
TOTAL.accdb
-
kha9009lid's post in اجمالي فواتير اليوم was marked as the answer
اولا الشكر لله سبحانه
ثانيا شرح الكود الاول
اجمالي حقل am_re الموجود في جدول pu_inv بشرط تاريخ الفواتير يساوي تاريخ الفاتورة التي نستعرضها حاليا وان تكون الفاتورة فاتورة بيع وخلاف ذلك تكون النتيجة صفر
ثالثا شرح الكود الثاني
اجمالي حقل am_re الموجود في جدول pu_inv بشرط تاريخ الفواتير يساوي تاريخ هذا اليوم وان تكون الفاتورة فاتورة بيع وخلاف ذلك تكون النتيجة صفر
اخيرا المديول كتبه استاذنا الفاضل @jjafferr جزاه الله عنا كل خير وهو يسهل وضع معايير التاريخ
تحياتي وتقديري
-
kha9009lid's post in عدد الاشهر was marked as the answer
توجد طريقة اسهل للتصفية بين تاريخين استخدمتها لبرنامج اقساط تعاوني
ربما تفيدك
السنة الماضية
السنة الحالية
اخر تسعة اشهر
اخر ستة اشهر
اخر ثلاث اشهر
الخ
جرب الملف المرفق علما باني ربما لم افهم مطلوبك بشكل صحيح
الفلتره بين تاريخين.accdb
-
kha9009lid's post in تنقل بين السجلات من خلال ازرار فورم اخر was marked as the answer
ممكن وهذه احدى الطرق
في الفورم الرئيسي الذي يحتوى على السجلات نضع ثلاث ازرار امر مخفية
الاول للانتقال للسجل التالي
Public Sub c_1_Click() DoCmd.GoToRecord , , acNext End Sub الثاني للسجل الاول
Public Sub c_2_Click() DoCmd.GoToRecord , , acFirst End Sub الثالث للسجل الاخير
Public Sub c_3_Click() DoCmd.GoToRecord , , acLast End Sub هذة الازرار الثلاثة جعلناها مشتركة وليست خاصة من خلال استبدال العبارة الافتراضية للحدث من Private اي خاص الى Public وبالتالي يمكن استدعاء هذا الحدث من نموذج اخر
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الان العمل في الفورم الثاني
ايضا في النموذج الثاني الخاص بازرار التنقل وضعنا في الامر الاول
Form_Form2.SetFocus Call Form_Form2.c_2_Click اولا نقلنا التركيز للنموذج الخاص بالسجلات ثم ارسلنا امر لتنفيذ امر الانتقال للسجل الاول
للانتقال للسجل التالي وضعنا الامر
On Error GoTo ErrorHandler Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst rc = rst.RecordCount If Me.CurrentRecord < rc Then Form_Form2.SetFocus Call Form_Form2.c_1_Click End If Exit Sub ErrorHandler: MsgBox "السجل الاخير ", vbInformation, "تنبية" والهدف التخلص من رسالة خطا بعد السجل الاخير
للانتقال لاخر سجل وضعنا الامر
Form_Form2.SetFocus Call Form_Form2.c_3_Click ملفك في المرفقات
ملاحظة ممكن اختصار الخطوات ولكن وحدت ان هذة الطريقة توضح الخطوات بشكل افضل
تنقل بين سجلات من خلال ازرار فورم اخر.accdb
-
kha9009lid's post in زر واحد يقوم باكثر من امر was marked as the answer
نعم ممكن ومن اسهل الطرقلتنفيذ ذلك
If Me![c_8].Caption = "نساء" Then Me.Type = "نساء" Me.c_8.Caption = "رجال" ElseIf Me![c_8].Caption = "رجال" Then Me.Type = "رجال" Me.c_8.Caption = "اطفال" ElseIf Me![c_8].Caption = "اطفال" Then Me.Type = "اطفال" Me.c_8.Caption = "نساء" End If وتفسيرة كما يلي
اذا كانت تسمية زر الامر نساء اجعل قيمة النوع نساء غير تسمية الامر الى رجال اذا كانت تسمية الامر رجال اجعل النوع رجال غير تسمية الامر الى اطقال اذا كانت تسمية الامر اطفال اجعل النوع اطفال غير التسمية لزر الامر الى نساء وذلك للاستمرار في دورة تنفيذ الكود اغلق الشرط الملف مرفق
Database1011.accdb
-
kha9009lid's post in استفسار حول تنسيق حقول في نماذج مختلفة من خلال نموذج منفصل was marked as the answer
مرحبا استاذ @ازهر عبد العزيز
اولا اعتذر عن التعديل على مرفقك لعدم توفر اكسس لدي لكون عملي حاليا في بيئة عمل مختلفة
وفي هذا الرد سوف اضع تلميح لكيفية التحكم بانواع الحقول من خلال الكود واعتذر مقدما اذا لم تجد فيه الجواب المطلوب
لتغيير الحقل الى نوع رقم
Dim x As Variant x = "ALTER TABLE [tbl1] ALTER COLUMN [tx8] LONG" DoCmd.RunSQL x ويمكن كتابتة بالشكل التالي
DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Integer" او DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] LONG" حسب نوع الحقل الرقمي
تغيير الحقل الى نوع مزدوج يكون على النحو التالي
DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Double" الى نوع نص
DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] String" واذا اردنا ان نحدد طول الحقل النص يمكن كتابتة
DoCmd.RunSQL ("ALTER TABLE [tbl1] ALTER COLUMN [tx8] TEXT(30);") اما حقل التاريخ فيكون
DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] date" النوع العملة يكون على النحو التالي
DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Currency" لتحويل تنسيق الحقل الى علمي
Set db = CurrentDb db.TableDefs("tbl1").Fields("tx8").Properties.Append db.CreateProperty("Format", dbText, "scientific") بعد تعديل التنسيق بالكود السابق تحتاج الى التعديل اليدوي في حالة الرغبة في التغيير مرة اخرى
في جميع الاحوال لا انصح بالعبث في الحقول والمفروض ان التخطيط الجيد قبل واثناء انشاء قواعد البيانات يغني عن الحاجة للتعديلات
اضافة الى ان تغيير نوع الحقل قد يؤدي الى فقدان البيانات لهذا الحقل وخصوصا اذا كان الحقل مرتبط بجداول اخرى قد يعطل عمل القاعدة
-
kha9009lid's post in مساعدة حول طرح رقم من تاريخ في الجدول was marked as the answer
اضافة لما تفضل به الاستاذ @أحمد الفلاحجى
اذا لم ترغب في الاستعلام
ممكن عملها في النموذج في حدث بعد التحديث للحقل time نضع الكود التالي
Me.dated = DateAdd("d", -[time], Date)
-
kha9009lid's post in مساعدة في اظهار قيمة حقل بالنسبة لتاريخ في حقل اخر was marked as the answer
IIf([dateexp]<=[datee];"red";"green") ما اعرف انا فهمت المطلوب لكن قلت باشارك
exp - Copy.accdb
-
kha9009lid's post in زر يحتوي على كتابة وصورة was marked as the answer
انظر للصورة واعمل مثلها ترتيب التسمية التوضيحية اجعلة عام او يمين او يسار حسب رغبتك
ويمكن تحميل الايقونات من الموقع في الاسفل
موقع ايقونات
-
kha9009lid's post in مشكلة في فتح تقرير was marked as the answer
اضف امر حفظ قبل الفتح
TEST1 - Copy.accdb
-
kha9009lid's post in عند عمل Requery was marked as the answer
بعد اذن اساتذتنا الافاضل @أحمد الفلاحجى و @محمد ابوعبد الله
اذا كنت ترغب في استخدام الامر Me.Requery
يمكن عملها عن طريق
Dim x As Integer x = CurrentRecord Me.Requery Me.PCode.SetFocus DoCmd.FindRecord x, acAnywhere, , acSearchAll حجز متغير باسم x
المتغير يساوي السجل الحالي
تحديث
نقل التركيز للحقل pcode
البحث عن السجل الى كنا واقفين عليه
في خاصية النموذج حقل pcode كان غير ممكن وغيرته الى ممكن
النموذج مرفق
بالتأكيد توجد طرق اخرى ولكن هذا ماجاء على بالي واعذرني في حالة عدم الرد لا نشغالي في ضل الاوضاع الكرونية اجارنا الله جميعا منها
Dental.accdb
-
kha9009lid's post in الرصيد ماقبل تاريخ من وترصيد الحساب was marked as the answer
اهلا اخي رعد
شوف الصورة
حركة صندوق 2.accdb