-
Posts
3691 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
149
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
الغاء اول حرف من قيمة الحقل تلقائيا بعد التحديث
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
تفضل اخي الكريم Private Sub delz_AfterUpdate() If Len(Me.delz) > 0 Then Me.delz = Mid(Me.delz, 2) End If End Sub Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE delz " & _ "SET delz = Mid(delz, 2) " & _ "WHERE delz IS NOT NULL AND Len(delz) > 1", dbFailOnError Set db = Nothing Me.Requery End Sub بدون تحديد الشرط 🤗 . -
الغاء اول حرف من قيمة الحقل تلقائيا بعد التحديث
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
على العموم ، جرب الفكرة التالية Private Sub delz_AfterUpdate() If Left(Me.delz, 1) = "Z" Then Me.delz = Mid(Me.delz, 2) End If End Sub Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE delz " & _ "SET delz = Mid(delz, 2) " & _ "WHERE delz IS NOT NULL AND Len(delz) > 1 AND Left(delz, 1) = 'Z'", dbFailOnError Set db = Nothing Me.Requery End Sub -
الغاء اول حرف من قيمة الحقل تلقائيا بعد التحديث
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
مشاركة مع الأستاذ @أبوبسمله ، لوقرأت الكود في مشاركة سابقة في الموضوع السابق لك ، لكنت حصلت على النتيجة التي تريدها 😉 الفكرة الى حد ما مشابهة، على العموم سؤال ، هل الشرط عندك حرف Z فقط !!!! ام هناك شروط أخرى -
كود ايقاف عمل النموذج بعد عدد معين من الادخالات
Foksh replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
كلامك سليم 100% ، ولكن الهدف في عدم اغلاق قاعدة البيانات هي تجربة الفكرة . -
كود ايقاف عمل النموذج بعد عدد معين من الادخالات
Foksh replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
برأيي المتواضع ، اعتقد تحديد عدد سجلات محدد كإدخال للبيانات أمر كما أوضح أستاذنا @شايب ، يمكن تخطيه ضمن نفس الجلسة ,( حتى لو نسبة وإحتمالية الثغرة 1% ), لكنها قابلة للحدوث ، لذا أتوجه بعدم إلزام المستخدم بعدد محدد ، وأتجه لإتجاه آخر وهو عدد مرات الفتح ، أو النسخة التجريبية التي استخدمها حالياً في معظم مشاريعي والتي تعتمد على الريجستري + جوانب أخرى لمتابعة النسخة التجريبية حتى لو بعد الفورمات !!! وهذه محاولتي المتواضعة اوفسنا كود ايقاف_فوكش.accdb -
استيراد من الاكسل ⭐ هدية ~ مستورد السجلات الذكي 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
اضافة dot فى منتصف الكلمة او بعد ثلاث خانات تلقائيا
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
مشاركة مع الأساتذة ، في حدث بعد التحديث لمربع النص middledot ، استخدم الكود التالي وهو تلقائياً سيقوم باضافة "." بعد التحديث بعد 3 حروف ، او تغيير القيمة حسب حاجتك :- Private Sub middledot_AfterUpdate() Dim txt As String txt = Nz(Me.middledot.Value, "") If Len(txt) = 0 Then Exit Sub txt = Replace(txt, ".", "") If Len(txt) > 3 Then Me.middledot.Value = Left(txt, 3) & "." & Mid(txt, 4) End If Exit Sub End Sub أما عند نسخك سجلات أكثر من 1 على سبيل المثال ، فهذا الاكود في حدث عند التحميل سيقوم بإضاة "." للقيم في الحقل نفسه التي لا تحتوي على "." أساساً . Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE Dot " & _ "SET middledot = Left(Replace(middledot,'.',''), 3) & '.' & " & _ "Mid(Replace(middledot,'.',''), 4) " & _ "WHERE middledot IS NOT NULL " & _ "AND Len(middledot) > 3 " & _ "AND Mid(middledot, 4, 1) <> '.'", dbFailOnError Set db = Nothing Exit Sub End Sub وها يضمن عدم اضافة "." للسجلات التي تحتوي أساساً على "." بعد الحرف الثالث .. dot.accdb -
شكراً لك
-
أهلاً وسهلاً بك أخي الكريم ، وبما أنك منتسب جديد ، فمن واجبي لفت انتباهك الى عدة نقاط ، منها :- 1.حاول الإبتعاد عن التسميات العربية للحقول والجداول والنماذج والعناصر والمكونات لقاعدة البيانات ( الاستعلامات - التقارير ... إلخ ) . 2. حاول أن لا تستخدم أسماء من مقطعين وإن اضطررت استخدم إشارة Under Score " _ " للفصل بين المقاطع بدلاً من استخدام المسافة . 3. ابتعد عن التسميات الني تبدأ برموز وحروف خاصة أو أرقام . 4. أيضاً لا تقم باستخدام مسميات محجوزة لآكسيس ، وللتوضيح أكثر تابع هذا الموضوع لأستاذنا @ابوخليل من هنا . 5. تذكر ان اختيار افضل إجابة - ( كما فعلت في اختيارك لمشاركتك كأفضل إجابة ) - يعني انك وجدت الحل وأن هذا الموضوع قد تم اغلاقه . أما بالنسبة لسؤالك ، فلن تستطيع تغيير نوع الحقل ما لم تقم أولاً بإلغاء العلاقة بين الحقول المرتبطة ( بين الجدولين ) !!
-
الكتابة فى مربع نص من خلال مربع قائمة او قائمة منسدلة
Foksh replied to jo_2010's topic in قسم الأكسيس Access
بناءً على ما فهمته منك ، هذه فكرتي البسيطة ,, أولاً في الكومبوبوكس الأول "مربع_تحرير_وسرد4099" ، استخدم الحدث التالي بعد التحديث :- Private Sub مربع_تحرير_وسرد4099_AfterUpdate() Me.PNAME = Me.PNAME & Me.مربع_تحرير_وسرد4099 End Sub وفي الليست بوكس "nname" ، استخدم الحدث التالي عند النقر المزدوج (على سبيل المثال أو أي حدث تريده) :- Private Sub nname_DblClick(Cancel As Integer) Me.PNAME = Me.PNAME & Me.nname End Sub الملف المرفق :- 2025.zip -
للأسف في حقل الترقيم التلقائي ، لا يمكنك اظهار القيمة ما لم تقم بتحرير أو اضافة اي قيمة في اي حقل (مربع نصي ) ، لذا بدلاً من حقل الترقيم التلقائي في الجدول ، استخدم الدالة DMax لإضافة ترقيم في الحقل ، مع ضرورة تغيير نوع الحقل من ترقيم تلقائي الى حقل رقمي . هذا والله أعلم ن ما لم يكن هناك معلومة غير هذه .
-
استيراد من الاكسل ⭐ هدية ~ مستورد السجلات الذكي 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
😅 هو انتوا لسه شفتوا حاجة 🤗 -
استيراد من الاكسل ⭐ هدية ~ مستورد السجلات الذكي 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
الف سلامة عليك أستاذ @Eng.Qassim .. ولا غنى عنك ،وأسأل الله لك الشفاء من كل سقم
-
تصفية بيانات نموذج فرعي بواسطة كومبوبوكس حسب سنة البحث
Foksh replied to فؤاد الدلوي's topic in قسم الأكسيس Access
حاولت فهم المطلوب لكن للأسف لم افهم -
سيتم اعادة بناء الفكرة لتعتمد RollBack
-
شرح مبسط لما تم تعديله :- 1. قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي بناءً على UserLevel الخاص بالمستخدم الحالي 2. تعديل الاستعلام في النموذج الفرعي frmq1 ليتعامل مع القيم المتغيرة في TempVars!UserLevelTemp الخطوة 1 : في النموذج الرئيسي frmSearch ، قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي كما في الكود التالي بعد التعديل :- Private Sub أمر1_Click() Dim UserLevelTemp As Variant UserLevelTemp = DLookup("[UserLevel]", "tbluser", "[UserNam]='" & Me.txtuser & "'") TempVars!UserLevelTemp = UserLevelTemp DoCmd.OpenForm "frmSearch" End Sub هنا يتم تعيين TempVars!UserLevelTemp مباشرة من قيمة UserLevel الخاصة بالمستخدم الحالي ، سواء كانت تحتوي على قيمة واحدة (مثل 2) أو قيم متعددة (مثل 1, 2) . الخطوة 2 : تعديل الاستعلام في النموذج الفرعي frmq1 ليصبح :- SELECT tblEmp.*, tblEmp.EmpLevel FROM tblEmp WHERE InStr(TempVars!UserLevelTemp, tblEmp.EmpLevel) > 0; شرح الاستعلام :- الدالة InStr : تبحث عن وجود EmpLevel داخل TempVars!UserLevelTemp إذا كانت النتيجة أكبر من 0 ، فهذا يعني أن EmpLevel موجود ضمن TempVars!UserLevelTemp على سبيل المثال: إذا كان TempVars!UserLevelTemp = "1, 2" و EmpLevel = 1 ، فإن InStr ستعيد 1 (لأن 1 موجود في "1, 2") إذا كان TempVars!UserLevelTemp = "2" و EmpLevel = 1 ، فإن InStr ستعيد 0 (لأن 1 غير موجود في "2") ... وهكذا اتمنى ان يكون الشرح وافي لما تم تعديله وتطبيقه .
-
تقبل الله منكم ومنا الطاعات
-
رافع الملفات ⭐ هدية ~ رافع ملفات جوجل درايف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
شرفتني مهندس @Moosak بمرورك .- 20 replies
-
- جوجل درايف
- رفع الملفات على جوجل درايف
-
(و1 أكثر)
موسوم بكلمه :
-
لا يمكنك قفل عنصر وهو قيد التركيز ، حتى لو من أي حدث ، ويجب عليك نقل التركيز لعنصر آخر لتنفيذ القفل أو عدم التمكين عليه
-
استيراد من الاكسل ⭐ هدية ~ مستورد السجلات الذكي 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
لا يتم الاستيراد من قائمة تحتوي على كومبوبوكس يا صديقي ،، للأسف . -
جرب انقل التركيز لزر أو عنصر آخر قبل تعطيل العنصر الهدف ..
-
تأكد من أن اسم السيرفر و رقم المنفذ صحيحين عند الاتصال ، جرب استبدال اسم السيرفر بـ 127.0.0.1 على سبيل المثال :- Server=127.0.0.1;Database=YourDB;User Id=YourUser;Password=YourPass; أيضاً على حد علمي SQL Server يستخدم المنفذ 1433 بشكل افتراضي ، لذا يجب السماح به في Windows Firewall جرب الأمر التالي في CMD كمسؤول :- netsh advfirewall firewall add rule name="SQL Server" dir=in action=allow protocol=TCP localport=1433 هذا على حد علمي والله أعلم ..
-
هل هذا صحيح ؟؟ اوفيسنا.accdb
-
لا تحتاج كود أخي الكريم ، ولكن يجب ان تنتبه لنقطة مهمة ، بما أن القيمة التي سيتم إدراجها في الحقل = نصية ، فيجب تغيير نوع الحقل من رقمي الى نصي للحقل Age !!!! جرب هذه الفكرة في المرفق :- EMPTY TEXT.accdb