أبو أحمد قام بنشر الأحد at 18:03 قام بنشر الأحد at 18:03 السلام عليكم ورحمة الله لدي كود برجاء من اساتذة الأكسس تعديله للمطلوب (SELECT MAX(G n) FROM جدول تسجيل الكتب) المطلوب من هذا الكود الموجود في التقرير اظهار أخر رقم في الحقل G n الموجود بجدول تسجيل الكتب اعلم أنه من الخطأ الكبير تسمية اسم جدول باللغة العربية ولكن هذه المعلومة كانت متأخرة لي ويصب تعديل قاعدة البيانات بأكملها حاليا مع تغيير اسم الجدول برجاء تعديل هذا الطلب (SELECT MAX(G n) FROM جدول تسجيل الكتب) ولكم جزيل الشكر
منتصر الانسي قام بنشر الأحد at 18:50 قام بنشر الأحد at 18:50 اذا كنت تريد إظهار أكبر قيمة فقط فالافضل استخدام دالة DMax يمكنك نسخ مايلي الى مصدر بيانات مربع النص =DMax("G n";"جدول الكتب") اذا جصل خطأ قد يكون بسبب الفاصلة المنقوطة ";" حولها لفاصلة عادية كهذه ","
أبو أحمد قام بنشر الإثنين at 10:03 الكاتب قام بنشر الإثنين at 10:03 15 ساعات مضت, منتصر الانسي said: اذا كنت تريد إظهار أكبر قيمة فقط فالافضل استخدام دالة DMax تمام ولكن اسم الجدول هو جدول تسجيل الكتب وليس جدول الكتب لأنه يعطي هذه الرسالة كما في الصورة جزاكم الله خيرا
Foksh قام بنشر الإثنين at 10:27 قام بنشر الإثنين at 10:27 وعليكم السلام ورحمة الله وبركاته ،، في المسميات العربية والتي دائماً ننبه من خطأ وخطورة استعمالها في الحقول والجداول من جهة ، ومن جهة أخرى الفصل بمسافة بين اسماء الحقول والجداول بدلاً من استعمال إشارة "_" ، يجب استعمال الحاصرتين [] لتمييز اسماء الحقول والجداول بالعربية .. جرب هذا التعديل :- SELECT MAX([G n]) FROM [جدول تسجيل الكتب]
أبو أحمد قام بنشر الإثنين at 11:07 الكاتب قام بنشر الإثنين at 11:07 38 دقائق مضت, Foksh said: في المسميات العربية والتي دائماً ننبه من خطأ وخطورة استعمالها فعلا استاذي الكريم تعلمت ذلك ولكن بعد ما قطعت مشوار طويل في هذه القاعدة الحين أريد تعديل الكود للضرورة للاسف الكود الذي حضرتك قلت لي أجربه به خطأ واعطاني هذه الرسالة أرجو أن يتسع صدركم لي
Foksh قام بنشر الإثنين at 11:21 قام بنشر الإثنين at 11:21 14 دقائق مضت, أبو أحمد said: فعلا استاذي الكريم تعلمت ذلك ولكن بعد ما قطعت مشوار طويل في هذه القاعدة الحين أريد تعديل الكود للضرورة للاسف الكود الذي حضرتك قلت لي أجربه به خطأ واعطاني هذه الرسالة أرجو أن يتسع صدركم لي ابعت ملفك أخي الكريم
أبو أحمد قام بنشر الإثنين at 11:27 الكاتب قام بنشر الإثنين at 11:27 4 دقائق مضت, Foksh said: بعت ملفك أخي الكريم انظر لهذه الرسالة يمكن انا اريد أضع مع معيار التحديث أن يكون في أعلى رقم 1
Foksh قام بنشر الإثنين at 11:52 قام بنشر الإثنين at 11:52 هل استخدمت التجميع في الاستعلام ؟؟؟؟ اذا لم يكن هناك دوال حسابية في الاستعلام ، فحاول استخدم التجميع ، وفي الحقل G N ، في الحقل Total = Max ... غير ذلك ، أعتذر لعدم إفادتك دون ملف مرفق !!!!
أبو أحمد قام بنشر الإثنين at 15:37 الكاتب قام بنشر الإثنين at 15:37 3 ساعات مضت, Foksh said: غير ذلك ، أعتذر لعدم إفادتك دون ملف مرفق !!!! أستاذي الكريم جزاكم الله خيرا مرفق نموذج مصغر للقاعدة والمطلوب فيها هو المطلوب 1.في النموذج F_GardBooks مفتاح تحويل حالة الكتب الى فاقد كما هو مطلوب اضافة تحويل رقم الجرد إلى أحدث رقم جرد أي تعديل الكود التالي كما تراه SELECT MAX([G N]) FROM [جدول تسجيل الكتب] 2. عند تسجيل الرقم العام للكتاب في الحقل txtSearch يتم تحوبل حالة الكتب من الفاقد إلى موجود (زر تحديث) كما هو موجود اضافة إذا كان هذا الرقم العام للكتاب كان فاقد في تاريخ جرد سابق يذكر العبارة MsgBox " الكتاب تالف في عملية الجرد سابقة لسنة " & from_to 3. في التقرير وضع في المعيار (SELECT MAX(from_to) FROM T_Gard) في العمود G N مع تعديل ما يلزم (اسم الجدول "جدول تسجل الكتب"، واسم العمود "G N وجزاكم الله خيرا وأشكركم لسعة صدركم هلما بأن القاعدة على أكسس 2003 القاعدة.rar
Foksh قام بنشر الإثنين at 15:51 قام بنشر الإثنين at 15:51 8 دقائق مضت, أبو أحمد said: 1.في النموذج F_GardBooks مفتاح تحويل حالة الكتب الى فاقد كما هو مطلوب اضافة تحويل رقم الجرد إلى أحدث رقم جرد أي تعديل الكود التالي كما تراه SELECT MAX([G N]) FROM [جدول تسجيل الكتب] 2. عند تسجيل الرقم العام للكتاب في الحقل txtSearch يتم تحوبل حالة الكتب من الفاقد إلى موجود (زر تحديث) كما هو موجود اضافة إذا كان هذا الرقم العام للكتاب كان فاقد في تاريخ جرد سابق يذكر العبارة MsgBox " الكتاب تالف في عملية الجرد سابقة لسنة " & from_to 3. في التقرير وضع في المعيار (SELECT MAX(from_to) FROM T_Gard) في العمود G N مع تعديل ما يلزم (اسم الجدول "جدول تسجل الكتب"، واسم العمود "G N ما فهمت شي من المطلوب بشكل واضح للأسف ، ولكن من خلال رؤية بنية الإستعلام ، استعمل الشرط التالي في الحقل G N :- (SELECT MAX([G N]) FROM [جدول تسجيل الكتب]) بدلاً من عبارة ( [أعلى رقم جرد] ) . على ما أعتقد إذا كان فهمي للوضع صحيح .. وأخبرنا بالنتيجة
أبو أحمد قام بنشر الإثنين at 16:34 الكاتب قام بنشر الإثنين at 16:34 (معدل) 48 دقائق مضت, Foksh said: 1.في النموذج F_GardBooks مفتاح تحويل حالة الكتب الى فاقد كما هو مطلوب اضافة تحويل رقم الجرد إلى أحدث رقم جرد أي تعديل الكود التالي كما تراه SELECT MAX([G N]) FROM [جدول تسجيل الكتب] في النموذج F_GardBooks عند الضغط على مفتاح "تحويل حالة هذه الكتب الى فاقد" يتم تحويل حالة الكتب من موجود الى فاقد كما هو الحال الان المطلوب اضافة في SQl معيار تحويل سنة الجرد لهذه الكتب إلى السنة الجرد الاخيرة فقط وفي حالة كانت حالة الرقم العام لهذا الكتاب فاقد من سنوات جرد سابقا تظهر العبارة التالية "هذا الكتاب كان فاقد في سنة الجرد / " أرجو أكون وصلت الفكرة وجزاكم الله خيرا تم تعديل الإثنين at 16:42 بواسطه أبو أحمد
Foksh قام بنشر الإثنين at 17:14 قام بنشر الإثنين at 17:14 المطلوب الأول حسب ما فهمت ، استبدل الاستعلام في الزر "تحويل حالة هذه الكتب ..." بالاستعلام التالي CurrentDb.Execute "UPDATE [جدول تسجيل الكتب] SET CaseBook = 'مفقود' WHERE [G N] = (SELECT MAX([G N]) FROM [جدول تسجيل الكتب]);", dbFailOnError المطلوب الثاني غير مفهوم .. وأتمنى منك التوضيح بشكل مفهوم أخي الكريم
أبو أحمد قام بنشر بالامس في 14:25 الكاتب قام بنشر بالامس في 14:25 (معدل) 22 ساعات مضت, Foksh said: لمطلوب الثاني غير مفهوم .. هذا الكود موجود في زر أمر "تحويل حالة هذه الكتب الى فاقد" بالنموذج DoCmd.RunSQL "UPDATE [جدول تسجيل الكتب] SET [جدول تسجيل الكتب].CaseBook = ""فاقد"" " & vbCrLf & _ "WHERE ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (Not ([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2])) OR ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2]));" وهو يعني تحويل حالة الكتب بجدول تسجيل الكتب من موجود إلى فاقد في الكتب التي تقع بين الرقم الموجود "نص1" إلى الرقم الموجود في "نص2" في النموذج الذي بعنوان F_GardBooks المطلوب من حضرتك 1. اضافة اليه المعيار في أحدث جرد MAX([G N]) 2. تحويله إلى استعلام (في صورة تصميم) (عمل استعلام عليه) أرجو أن تكون الفكرة وصلت وجزاكم الله خيرا تم تعديل بالامس في 15:36 بواسطه أبو أحمد
أبو أحمد قام بنشر منذ 10 ساعات الكاتب قام بنشر منذ 10 ساعات في 16/6/2025 at 20:14, Foksh said: وأتمنى منك التوضيح بشكل مفهوم أخي الكريم أستاذي الكريم المطلوب اضافة لهذا التعبير عند تعديل حالة الكتب تحويلها الى فاقد وتعديل رقم الجرد هو أيضا أحدث رقم زلو في امكانية وعمل استعلام أيضا له (استعلام تحديث) علما بأنه موجود في زر أمر "تحويل حالة هذه الكتب الى فاقد" بالنموذج الذي بعنوان F_GardBooks DoCmd.RunSQL "UPDATE [جدول تسجيل الكتب] SET [جدول تسجيل الكتب].CaseBook = ""فاقد"" " & vbCrLf & _ "WHERE ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (Not ([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2])) OR ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2]));" وجزاكم الله خيرا
Foksh قام بنشر منذ 8 ساعات قام بنشر منذ 8 ساعات 22 ساعات مضت, أبو أحمد said: اضافة اليه المعيار في أحدث جرد MAX([G N]) بهذا الشكل ، سيكون علينا جلب أكبر قيمة للحقل G N في جدولك ، ثم تحديث قيم سجلاته بشرطين إما كاملة اذا لم يتم تحديد قيم محددة ، أو للقيم التي تم تحديدها برقمين ( من - إلى ) صحيح ؟؟ اذا كان ما فهمته صحيحاً ، فسيتم تعديل الاستعلام في كود الزر بالشكل التالي :- Private Sub أمر8_Click() If MsgBox("أنت على وشك تحديث حالة جميع الكتب باليومية من كتب موجودة إلى كتب فاقد " & vbCrLf & _ "لتأكيد الأمر أضغط موافق ، ولإلغائه أضغط إلغاء", _ vbInformation + vbOKCancel + vbMsgBoxRight, _ " تأكيد تنفيذ الأمر ") = vbOK Then DoCmd.SetWarnings False Dim maxGN As Variant Dim filter As String If IsNull(Forms!F_GardBooks!text) Or IsNull(Forms!F_GardBooks!text2) Then filter = "[CaseBook]='موجود'" Else filter = "[CaseBook]='موجود' AND searinumber BETWEEN " & Forms!F_GardBooks!text & " AND " & Forms!F_GardBooks!text2 End If maxGN = DMax("[G N]", "[جدول تسجيل الكتب]", filter) If Not IsNull(maxGN) Then DoCmd.RunSQL "UPDATE [جدول تسجيل الكتب] SET CaseBook = 'فاقد' " & _ "WHERE [CaseBook]='موجود' AND [G N]=" & maxGN & ";" End If DoCmd.SetWarnings True End If MsgBox "تم تحديث البيانات بنجاح والحمد لله" End Sub أما من خلال استعلام SQL فلم أفلح في ضبط الأمور لوجود شرطين أو أكثر ، لذا قد يكون هناك حل يعتمد على استعلام مبني على استعلام آخر ، بحيث :- 1. انشاء استعلام جديد ولنفترض باسم qry_GetMaxGN_Conditional علشان نحصل على أعلى قيمة للحقل G N و ( مع أو بدون ) الشرط الثاني وهو تحديد قيمة لكتب محددة ... SELECT MAX([G N]) AS MaxGN FROM [جدول تسجيل الكتب] WHERE CaseBook = 'موجود' AND ( ([Forms]![F_GardBooks]![text] IS NULL OR [Forms]![F_GardBooks]![text2] IS NULL) OR (searinumber BETWEEN [Forms]![F_GardBooks]![text] AND [Forms]![F_GardBooks]![text2]) ); 2. ننشء استعلام التحديث الذي سيتم التحديث للسجلات من خلاله بناءً على السجلات التي حققت شرط الإستعلام السابق :- UPDATE [جدول تسجيل الكتب] SET CaseBook = 'فاقد' WHERE [G N] = (SELECT MaxGN FROM qry_GetMaxGN_Conditional) AND CaseBook = 'موجود'; ولنفترض ان اسمه سيكون على سبيل المثال qry_UpdateCaseBook . ومن خلال زر يتم استدعاؤه بالشكل التالي :- DoCmd.SetWarnings False DoCmd.OpenQuery "qry_UpdateCaseBook" DoCmd.SetWarnings True ملفك بالتجربتين :- القاعدة.mdb
أبو أحمد قام بنشر منذ 7 ساعات الكاتب قام بنشر منذ 7 ساعات 56 دقائق مضت, Foksh said: هذا الشكل ، سيكون علينا جلب أكبر قيمة للحقل G N في جدولك أستاذي الكريم ... واضح أنني لم استطع توصيل ما اريده كنت عاوز اضيف الى التعبير الموجود في زر الامر بالنموذج بعد أن يحول جميع حالة الكتب من موجود الى فاقد أضيف إليه أيضا وتحويل رقم الجرد (لهذه الكتب التي حالتها موجود) إلى أعلى قيمة جرد (أخر رقم جرد) بدلا من 1 مثلا في المثال إلى 3 حيث هو أعلى رقم جرد وذلك للكتب التي حالتها موجود فقط بمعنى آخر : يقوم بعمليتين للكتب التي حالتها موجود فقط 1. يحول الحالة من موجود إلى فاقد 2. ويحول رقم الجرد إلى أعلى رقم موجود (في المثال الذي ارسلته يكون 3) وكنت الطلب الثاني وهو عاوز أعرف كيفية تحويل هذا التعبير الموجود في زر الأمر إلى استعلام تحديث بحيث أعرف الفرق بين التعبير الموجود في زر الأمر وكيفية شكله في صورة استعلام (SQL) والله أنا أسف لفشلي في توصيل ما كنت أصبو إليه
أبو أحمد قام بنشر منذ 5 ساعات الكاتب قام بنشر منذ 5 ساعات السلام عليكم ورحمة الله السؤال بصيغة أخرى كيف يمكنني عمل استعلام تحديث اجعل حالة الكتب من موجود إلى فاقد وأيضا وتحديث رقم الجرد الى أحدث رقم موجود مرفق مثال السابق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.