-
Posts
10020 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
مطلوب تشغيل استعلام تحديث حقل في جدول من خلال استعلام تجميعي
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
اوووه وانا اعتمدت على على العموم ، هذا الاستعلام بعد اضافة pp=0 UPDATE Table1 SET Table1.chek1 = 0 WHERE (((Table1.userID) In (SELECT [user_ID] FROM Query1 as Q1 WHERE Table1.userID=Q1.user_ID AND Table1.cardNo=Q1.card_No AND Q1.pp=0))); 1623.Database2.accdb -
مطلوب تشغيل استعلام تحديث حقل في جدول من خلال استعلام تجميعي
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
تفضل الاستعلام UPDATE Table1 SET Table1.chek1 = 0 WHERE (((Table1.userID) In (SELECT [user_ID] FROM Query1 as Q1 WHERE Table1.userID=Q1.user_ID AND Table1.cardNo=Q1.card_No))); . وهنا وقعت في المحظور ايضا !! بياناتك كلها متشابهه ، فعلشان احصل على سجل واحد ، عملت تغيير لبيانات cardNo في الجدول Table1 وابقيت سجل واحد فيه قيمة الجدول Table2 1623.Database2.accdb.zip -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
-
مطلوب تشغيل استعلام تحديث حقل في جدول من خلال استعلام تجميعي
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
السلام عليكم اذا ممكن اشارك معاكم 🙂 الاستعلام الفرعي هو الجواب بدلا عن الجدول المؤقت. رجاء تجربة هذا الاستعلام: UPDATE Table1 SET Table1.chek1 = 0 WHERE (((Table1.userID) In (SELECT [user_ID] FROM Query1 as Q1 WHERE Table1.userID=Q1.user_ID AND Q1.pp=0))); . وقد قام بالتحديث (ولكن انتبه ن فقيمة p=0 موجودة فقط في السجل bb وهو غير موجود في الجدول Table1 ، لذا فلن تظهر لك اي نتيجة ، وهذا ما اشار اليه اخوي ابو جودي) ، وللتجربة ، غيّر قيمة P=0 في الاستعلام الفرعي الى p=15 وستترى النتيجة 1623.Database1.accdb.zip -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
1. للأسف ما توصلت الى طريقة لعمل جميع التغييرات في النموذج اسرع من تغييرها من الجدول مباشرة عن طريق استعلام. للعلم ، عند تقديمي لإقتراح ، فانا انظر لقاعدة البيانات وكأن بها على الاقل 10,000 سجل. 2. في انتظار مشاركتك -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
في هذا الموضوع ، اتضح جليا ان مقولتي صحيحة (للعلم ، اخونا العود @ابوخليل هو الذي صحح واخرج هذه الجملة بهذه الديباجة الجميلة ، شكرا لك 🙂 ) : ولا يهمك ، وهاي طريقة بحدث واحد فقط Private Sub y_n_BeforeUpdate(Cancel As Integer) '- اشارة الى سجلات النموذج With Me.RecordsetClone '- حذف الصح السابق .FindFirst "[y_n]=-1" .Edit !y_n = 0 .Update End With End Sub . ولا يزال قيد التجربة 🙂 -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
احسنت اخوي ابو عارف بس ياريت تحل الخطأ: اختار صح في آخر سجل ، ثم روح لأول سجل واعمل صح ، بتحصل على خطأ. يحتاج لها مزاج 🙂 -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
اهلا بالشايب الخبير 🙂 ولحل هذ النقطة ، هذا الكود على حدث تحميل النموذج سيحل المشكلة (نحن قمنا باختيار سجل واحد سابقا ، فالبحث يتم لسجل واحد فقط) Private Sub Form_Load() '- Find the Checked y_n field Me.y_n.SetFocus DoCmd.FindRecord "-1", , , , , , True Me.myID = Me.id End Sub . اما النقطة الثانية ، فالمفروض ان يتم تغيير البيانات من النموذج فقط ، وإلا ، فيجب تحدبث الجدول (سيكون اسرع من تحديث آلاف السجلات في النموذج) -
منع التحديد المتعدد في خانة مربع الاختيار، في النموذج المستمر
jjafferr replied to abofayez1's topic in قسم الأكسيس Access
السلام عليكم اجابات الشباب كانت تغير القيم في الجدول ، بينما احاول جاهدا التقليل من زيارات الجدول ، بسبب الشبكة والتقليل من الضغط على الجداول ، فيكون عملي على النموذج فقط 🙂 طريقة العمل: في النموذج اعمل حقل مخفي اسمه myID ، ثم نعمل حدثين على الحقل y_n : قبل التحديث: يتأكد انك اخترت صح ، وانك على سجل غير السجل السابق ، فعليه ، يغير قيمة الصح من السجل السابق (ID السجل موجود في myID) ، الى 0 بعد التحديث: نعطي رقم ID السجل للحقل myID Private Sub y_n_BeforeUpdate(Cancel As Integer) If Me.y_n = -1 And Me.id <> Me.myID Then '- y_n checked, and Record ID <> myID With Me.RecordsetClone .FindFirst "[ID]=" & Me.myID .Edit !y_n = 0 .Update End With End If End Sub Private Sub y_n_AfterUpdate() Me.myID = Me.id End Sub . 1622.aa.accdb.zip -
دالة ترقيم (عكس تفقيط) لتحويل التفقيط إلى رقم
jjafferr replied to AbuuAhmed's topic in قسم الأكسيس Access
السلام عليكم ابو احمد افتقدناك في منتدى الاكسس ، وفاز بك منتدى الاكسل. طرح جديد ومميز ، كالعادة ، شكرا على المشاركة. جعفر -
وعليكم السلام 🙂 تم مناقشة الموضوع في الرابط التالي ، ولا يوجد جديد من يوم الموضوع الى اليوم 🙂 وهذا هو الملخص: يمكن الحصول عليها ، وهناك العديد من البرامج اللي تعمل هذا الشيء ، لكن هذه برامج عامة تستخدم الطرق التقليدية في محاولات مقارنة كلمة السر ، والطرق الشهيرة هي: Dictionary Attack Brute-Force Attack Xieve Attack Known Password/Part Attack Previous Passwords Attack وكل نوع من هذه البرامج يشتغل بطريقة تختلف عن الأخرى ، ولكنها جميعا تحاول بزيادة/تغيير حرف/رقم/إشارة على الرقم/الكلمة اللي تم تجربتها ، وانا اعتقد بأن جميع الشباب اللي شاركوا في هذا الموضوع وحاولوا استخراج كلمة السر ، استخدموا احد البرامج التي تستعمل الطرق اعلاه ، والدليل ان طريقة أخونا شفان اخذت اكثر من 21 ساعة من المحاولات ، وكذلك في اعتقادي بأنهم لم يتمكنوا من معرفة كلمة السر ، لأن أخونا سلمان كان مستخدم حروف عربية في كلمة السر ، بينما معظم برامج مقارنة كلمة السر لا تحتوي على حروف عربية او ان كلمة السر كانت اطول من 14 رقم وحرف: والسبب اني اكرر تسميتهم "برامج مقارنة" كلمة السر ، وذلك لأنها لا تستخرج كلمة السر مشفرة او بدون تشفير ، وإنما هي تحاول معرفة كلمة السر جعفر . . وهذه الطريقة الاكثر امانا لحفظ كلمة السر : . جعفر
-
وعليكم السلام بما ان الاكسل عبارة عن اسطر واعمدة ، و بعض كائنات تقرير الاكسس لا يرتبط بعمود و سطر ، لهذا السبب لن يظهر تقرير الاكسس بنفس تنسيقه في الاكسل !! الافضل تصدير استعلام الاكسس الى اكسل. ولكن ، لتصدير تقرير الاكسس الى اكسل ، استعمل الكود التالي: docmd.OutputTo acOutputReport,"Report1",acformatxls,"D:\myFile.xls",false
-
تلقائياً ، مايكروسوفت ستوقف عمل كائنات ActiveX ، لأسباب امنيه
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
مع ان الموضوع مو واضح 100% بالنسبة الى نسخ الاكسس المتأثرة ، ولكن الظاهر ان النسخ القديمة لن تتأثر ، وانما هو الحال للنسخة 2024 وما بعدها ، ولكني سأخذ الحيطة من الان ، لأن المستخدم بعد سنة او سنتين سيكون قد انتقل الى النسخة 2024 او ما بعدها. -
السلام عليكم 🙂 اهلا وسهلا بك بيننا مرة اخرى 🙂 اليك هذا التحذير من مايكروسوفت: . منذ 2017 وانا استخدم هذا الخط في برامجي وبدون مشاكل: . الى ان تصل الى هذا السطر: . وطريقة التنصيب موجودة في نهاية المقالة 🙂
-
السلام عليكم 🙂 تلقائياً ، مايكروسوفت ستوقف عمل كائنات ActiveX في جميع برامج الاوفيس ، ابتدأ من الاوفيس 2024 اصدار شهر 10 ، وكذلك في برنامج MS365 ابتدأ من 4/2025 : https://petri.com/microsoft-changelog/m365-changelog-updated-activex-will-be-disabled-by-default-in-microsoft-office-2024-sep-6-2024/ نعم يستطيع المستخدم ان يعيد عمل كائن ActiveX عن طريق مجلد الامان او الريجستري. هذا سيشمل: . انا كمبرمج مسؤول عن برنامجي عند المستخدم ، فلذلك ، يالله بسرعة عدلوا على برامجكم قبل ان تتوقف عن العمل فجأة جعفر
-
وعليكم السلام 🙂 بإختصار ، الاكسس يعمل كل عمله على حاسبة المستخدم. الاستعلام يستورد البيانات المطلوبة من الجداول (سواء جداول محليه او على الشبكة او في السحاب) ، ويقوم بتحليلها محليا. لهذا السبب ، وحسب تصميم برنامجك (فهرست الحقول في الجداول ، وهي الحقول التي نستخدمها في الفرز او التصفية او ربطها بجدول آخر) ، 1. ممكن الاستعلام يستورد سجلات قليلة وبسرعة لحقل مفهرس (فالحقول المفهرسة لها مكان يشبه الجداول ، والتي ينظر فيها الاستعلام اولا) ، لأنه يعرف مكان هذه السجلات بحسب الحقل المفهرس ، 2. او اذا لم يكن هناك حقل مفرس ، يضطر الى استيراد الجدول كاملا لقراءته محليا ، ويعطيك نتائج الاستعلام ، وهذه الطريقة تأخذ وقت اطول. قواعد البيانات الاخرى مثل SQL Server ، والتي يجب ان تكون على سيرفر به مواصفات عالية ، تقوم بعمل كل شيء على السيرفر وتعطي النتيجة جاهزة لواجهة البرنامج والذي عادة يكون المتصفح (الواجهة) . اما اذا استعملت الاكسس كواجهة ، مع SQL Server كخلفية ، فيمكنك عمل الاثنين ، استعلامات في الواجهة (والتي ستكون بطيئة ، لأنها تستورد البيانات من السيرفر ، إلا اذا كان الاستعلام لبيانات قليلة او مفهرسة) ، او يمكنك عمل استعلامات في SQL Server (والتي تسمى Views او Stored Procedure) . كنت اعتقد كلامي كان بإختصار 😁 جعفر
-
المعذرة اخوي @Ahmos ، الظاهر سياق كلماتي اعطت مفهوم غير مقصود ، فانا اعتذر منك. ما كان كلامي عن الفكرة ، وانما عن طول وطريقة اكواد AI . وبالعكس ، ومثل ما تفضلت ، عمل موضوع خاص لفكرة ولو تم التعامل معاها بطريقة ثانية ، هي في اصلها فكرة ممتازة ، وهكذا بدأت انا في ردي السابق. واتطلع لمزيد من الافكار اللي تساعد المبرمج. جعفر
-
سِحر جداول الاكسس في تسجيل الوقائع عن طريق Tables Data Macro
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
شكرا اخوي موسى 🙂 لاحظ انه توجد بعض الحقول فيها قيمة سابقة ، فهذا معناه ان الكود شغال ، اذن فيه شيء يخلي قيم بعض الحقول ما تطلع ، شوف في اعداداتها -
السلام علبكم 🙂 بسبب اختلاف تنسيقات ملفات الاكسل (او CSV) ، وخصوصا تلك التي من مواقع وزارة التعليم في المملكة العربية السعودية ، كنا نضطر ان نتعامل بالكود مع كل تنسيق بطريقة تختلف عن الملف الآخر ، مما يجعل الحل لا يتناسب مع التنسيقات الملفات الاخرى ، وهذا الكود ليس بالسهل تعديله. ولكن ، تقريبا جميع مستخدمي الاكسس يعرفون التعامل مع الاستعلام ، لهذا السبب دعونا نتعامل مع بيانات الاكسل في استعلام ، استعلام مسقط 🙂 هذه واجهة النموذج الذي يتم كل شيء عن طريقه: 1. لتصفح الملفات ، واختيار ملف الاكسل (xls, xlsx, xlsm, csv) ، وسيظهر اسم الملف الذي تم اختيارة في الحقل رقم 2 ، 3. ستظهر قائمة بأسماء الاوراق (Sheets) الموجودة في الملف ، ويجب اختيار الورقة المطلوبة ، 4. هذا نموذج جدولي ، و ستظهر بيانات ورقة الاكسل هنا ، ويمكننا التعامل مع فرز وتصفية البيانات هنا ، وبعدة طرق ، 5. سيظهر استعلام مناداة ورقة الاكسل هنا (بدون فرز وتصفية) ، على شكل SQL ، وبأسماء حقول الورقة ، والتي يمكن نسخها لأي قاعدة بيانات خارجية ، 6. سيظهر استعلام مناداة ورقة الاكسل هنا (بدون فرز وتصفية) ، على شكل SQL ، وبدون أسماء حقول الورقة ، والتي يمكن نسخها لأي قاعدة بيانات خارجية ، 7. يجب النقر هنا حتى نرى نتائج الفرز والتصفية كجزء من الاستعلام في الحقول 8 و 9 ، 8. سيظهر استعلام مناداة ورقة الاكسل هنا (بالفرز والتصفية) ، على شكل SQL ، وبأسماء حقول الورقة ، والتي يمكن نسخها لأي قاعدة بيانات خارجية ، 9. سيظهر استعلام مناداة ورقة الاكسل هنا (بالفرز والتصفية) ، على شكل SQL ، وبأسماء حقول الورقة ، والتي يمكن نسخها لأي قاعدة بيانات خارجية ، 10. يمكنك عمل استعلام جاهز (للورقة بدون فرز وتصفية) او جدول ، سواء في قاعدة البيانات هذه ، او اختيار قاعدة بيانات خارجية (يجب ان تكون مغلقة حتى تستطيع تصدير استعلام او جدول لها) ، وسيكون اسم الاستعلام نفس اسم الورقة ، مثلا اسم الورقة ABC ، فيصبح اسم الاستعلام: qry_ABC ، او يكون جدول بإسم tbl_ABC حسب اختيارك من الرقم 11 ، او حتى الحاق بيانات الاستعلام الى جدول موجود سابقا (طبعا يجب مراعاة ان يكون الجدول بنفس حقول الورقة) ، 12. لنسخ الاستعلام الى ذاكرة الكمبيوتر ، بحيث يمكنك استعمال لصق ctrl+v لكائن الاستعلام (انظ الفيديو التوضيحي) ، 13. عادة لا نغير اي شيء هنا. طريقة العمل: . نرى من اعلاه: 1. انه تم عمل استعلام ياسم qry_Sheet1 في قاعدة البيانات الخارجة Testing.accdb ، 2. كذلك نسخنا استعلام التصفة الى ذاكرة الكمبيوتر (تابع في الفيديو التالي) . ممكن خلط عمل الفرز و التصفية بعدة طرق ، منها كما في الفيديو اعلاه ، و الصور التاليه . . لنفتح قاعدة البيانات الخارجية ونرى ما فيها ، هنا نحن نتعامل مع استعلام اكسس عادي ، فيمكننا حذف الحقول التي لا نريدها ، او نخفي اخرى ، او .... . عند فتح قاعدة البيانات الخارجية ، وحصلت على رسالة الخطأ هذه ، فهذا معناه ان برنامج "استعلام مسقط" لايزال مفتوح ، وملف الاكسل مفتوح به ، لذا يجب اغلاق برنامج "استعلام مسقط" قبل استعمال ملف الاكسل : . البرنامج يتعامل مع ملف واحد فقط ، ويعمل له استعلام ، واذا اردنا ان نتعامل مع اكثر من ورقة اكسل ، فيمكننا عمل مجموعة من استعلامات ، ثم نعمل امر لتنفيذها واحدة تلو الاخرى ، وبما انه عندنا استعلام ، فيمكننا تحويله الى جميع انواع الاستعلامات ، سواء استعلام الحاق ، او استعلام اضافة ، او استعلام لعمل جدول. هناك عدة ميزات في استعمال هذه الطريقة عن ربط الاكسل كجدول : 1. اسرع بكثير ، 2. عند استيراد كائنات قاعدة البيانات الى قاعدة اخرى ، فالاكسس يتوقف كثيرا عند الجداول الاكسل المرتبطة ، بينما لا يأخذ اي وقت لهذا الاستعلام 3. اختار الحقول اللي تريدها فقط ، جعفر Muscat_Query.zip
- 19 replies
-
- 10
-
-