-
Posts
3944 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
163
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
وعليكم السلام ورحمة الله وبركاته ,, اخي بلال ، في الواقع طلبك غير مفهوم أبداً ، و بناءً على رسالتك الخاصة ، حاولت فهم المطلوب ولم انجح للأسف . أعانك الله على الشرح المفصل ، فحالي حال الكثيرين ممن مر بموضوعك ولكنه لم يستدل على المطلوب .
-
هذه النتيجة ؟؟ الرقم الوطني الاسم الجنسيه الجنس نوع الهويه عدد البلاغات رقم البلاغ السنه التهمه الجهه الطالبه الحكم تاريخ الوارد الاجراء المتخذ تاريخ الاجراء ملاحظات تاريخ الحكم 12345678910 محمد علي ي ذكر 4 88 2024 جنائي العاصمه غير محدد 2025-08-11 2352 2025 شيكات الشرق غير محدد 2025-08-11 3252 2022 شيكات الجنوب غير محدد 2025-08-11 32525 2024 انتحال الغرب غير محدد 2025-08-11 25432526222 جاسم عبدالله ا ذكر 2 35 2025 تزوير الشرق غير محدد 2025-08-11 60 2022 مشاجره الجنوب غير محدد 2025-08-11 SELECT IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), [tabe1].[id], Null) AS [الرقم الوطني], IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), [tabe1].[ename], "") AS الاسم, IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), [tabe1].[natio], "") AS الجنسيه, IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), [tabe1].[gins], "") AS الجنس, IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), [tabe1].[nid], "") AS [نوع الهويه], IIf([tabe2].[blagh] = ( SELECT MIN(blagh) FROM tabe2 WHERE id = tabe1.id AND ([not] Is Null OR [not]='') ), DCount("*","tabe2","id=" & [tabe1].[id] & " AND ([not] Is Null OR [not]='')"), Null) AS [عدد البلاغات], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, tabe2.edathkm AS [تاريخ الحكم] FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id WHERE (tabe2.[not] Is Null Or tabe2.[not]='') ORDER BY tabe1.id, tabe2.blagh;
-
ولكم منه النصيب الأكبر 😇
-
وعليكم السلام ورحمة الله وبركاته .. جرب هذا الاستعلام إن كان ما فهمته صحيحاً .. SELECT [1].[n], [1].[عميل], [1].[شراء], [1].[ثمن], (Len([شراء])-Len(Replace([شراء],"-",""))) AS [عدد العلامات] FROM 1; بهذا الشكل ستكون النتيجة :- n عميل شراء ثمن عدد العلامات 1 احمد - سجاد - مفرش - نجف 550 3 2 سيد - طقم معلق - طقم شتي - صنية - طقم حلل 1000 4 3 منال - طقم مدهب - بطانية 450 2
-
مداخلة .. بما انك متوجه الى استخدام Vba في الزر لإظهار الرسائل للمستخدم ، فأعتقد توجهك الى دمج الاستعلام داخل نفس الكود أفضل وأكثر وضوحاً 😇 .
-
SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0, DCount("*","tabe2","id=" & [tabe1].[id] & " AND ([not] Is Null OR [not]='')"), Null) AS [عدد البلاغات], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, tabe2.edathkm AS [تاريخ الحكم] FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id ORDER BY tabe1.id, tabe2.blagh; جرب هذا 👌 مع العلم أن اسم الحقل not من الأسماء الممنوعة والمحجوزة في اكسيس ، وليس من الصواب تسمية حقول أو عناصر بأحد هذه الأسماء الممنوعة والتي في هذا الموضوع لأستاذي @ابوخليل https://www.officena.net/ib/topic/39164-الكلمات-والرموز-المحجوزة-في-أكسس-بحث-تطبيق/
-
أهلاً معلمي الفاضل وأستاذي الجليل أبو خليل .. كما تفضلتم ، حتماً من خلال الاستعلامات كما أشرتم ، ولعدم معرفتنا ببنية الجداول والمشروع فالإقتراحات واردة جميعها . أيضاً أجدتم الطرح والتفكير ، وهنا قد تم التفكير بشمول الفكرة دون تقليص حجم الطموح 😅 بالعكس ، وجهات النظر باختلافها قد تساهم في تقريب الأفكار والوصول الى المطلوب بأقل الإمكانيات ,, ويسعدني اختلاف وجهات النظر ما دامت تصب في النهاية الصحيحة
-
وعليكم السلام ورحمة الله وبركاته .. محاولتي معك حسب ما مررت به من مشاريع بهذا الخصوص . اعتقد انه سيلزمك عدة جداول تخص كل ما كرت تقريباً ، مثل :- جدول الصناديق النقدية :- ويضم على سبيل المثال الحقول ( معرف الصندوق ، اسم الصندوق ، الرصيد الحالي للصندوق ، متاح ( حقل Yes/No ) جدول البنوك :- ويضم على سبيل المثال الحقول ( معرف البنك ، اسم البنك ، رقم الحساب ، الرصيد الحالي - اختياري - ، متاح ( حقل Yes/No ) جدول أنواع التحويلات :- ويضم على سبيل المثال الحقول ( معرف نوع التحويل ، نوع التحويل = من صندوق لبنك ، من بنك لصندوق ، من صندوق لصندوق ، من بنك لبنك ) كأمثلة طبعاً جدول التحويلات الرئيسي :- ويضم على سبيل المثال الحقول ( رقم التحويل ، تاريخ التحويل ، نوع التحويل ، مصدر التحويل ( صندوق او بنك مثلاً ) ، معرف مصدر التحويل ( رقم الصندوق أو البنك المصدر ) ، وجهة التحويل ( صندوق او بنك ) ، معرف الوجهة ( رقم الصندوق أو البنك الوجهة ) ، المبلغ ، رقم المرجع ( كرقم أيصال التحويل أو رقم الحركة البنكية ... إلخ ) ، وصف التحويل أو كملاحظات ، المستخدم للنظام . كآلية العمل على سبيل المثال ، عند إدخال تحويل جديد :- يتم التحقق من وجود رصيد كافي في المصدر يتم خصم المبلغ من المصدر يتم إضافة المبلغ إلى الوجهة يتم تسجيل العملية في سجل التحويلات عند حدوث أي خطأ لا بد من أن :- يتم التراجع عن العملية بالكامل يتم إعلام المستخدم بالخطأ وهذا ملف كمثال على ما سبق Qathi.accdb
-
حياك الله اخي الكريم .. بالنسبة لموضوع الشرح 😅 ، فقد أكون انا الشخص الغير مناسب للشرح مع وجود كوكبة المعلمين والاساتذة الموجودين في هذا القسم ، لكن سأشرح لك الاستعلام بشكل عام لأن معظم سطوره متشابهة جداً باختلاف الحقول فقط .. بعد ان تقوم بالنقر على انشاء استعلام ، تقوم بتحديد الجدولين لديك Tabe1 + Tabe2 . ولا تقم بإضافة اي حقول مبدأياً . طبعاً بعد التأكد من ربط الحقلين ID في الجدولين بعلاقة بينهما . كتبت السطر التالي لعد قيم الرقم الوطني أولاً :- الرقم الوطني: IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) وكررت الأمر نفسه لحقل الإسم + الجنسية + الجنس + نوع الهوية . مع تغيير اسم الحقل طبعاً ثم قمت بإضافة الحقول التي نريد عرض قيمها كاملةً ( التي تحمل بيانات غير مكررة ) مثل :- رقم البلاغ + السنة + التهمة + الجهة الطالبة + الحكم + تاريخ الوارد + الإجراء المتخذ + تاريخ الإجراء + الملاحظات + تاريخ الحكم = جميعها من الجدول Tabe2 . وجميعها تم عرضها بالتعليم على اشارة الصح لهذه الحقول السابقة . قمت بإضافة الحقل ID من الجدول Tabe1 فقط . وجعلته غير ظاهر مع الفرز تصاعدي . قمت بإضافة الحقل blagh ايضاً من الجدول Tabe2 . وجعلته غير ظاهر أيضاً مع الفرز تصاعدي أيضاً . أما لهذا الطلب ، فقط نقوم بإضافة حقل جديد لجلب العدد للبلاغات = عدد البلاغات: IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,DCount("*","tabe2","id=" & [tabe1].[id]),Null) وستكون النتيجة للإستعلام كاملاً = SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,DCount("*","tabe2","id=" & [tabe1].[id]),Null) AS [عدد البلاغات], tabe2.edathkm AS [تاريخ الحكم] FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id ORDER BY tabe1.id, tabe2.blagh; ملفك بعد التنفيذ استعلام بدون تكرار.zip
-
عند وضع الوحدة النمطية لاخفاء الاكسس يظهر لي خطأ
Foksh replied to بلال اليامين's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته ,, مشكلتك في انك مكرر الدوال في 3 مديولات .. فقط احذف المديولين hide form fSetAccessWindowMared -
مساعدة في استرجاع جداول قاعدة بيانات تالفه الى خبراء الاكسس
Foksh replied to حبيب قاسم's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أخي الكريم أهلاً وسهلاً بك في مشاركتك الأولى معنا في عالمنا الصغير ، الكبير برواده ومعلميه وأساتذته وجميع المنتسبين إليه .. فيما يتعلق بملفك والذي هو بصيغة ACCDE ، لا اعتقد أنك قادر على إصلاح الملف إلا بمساعدة برامج مدفوعة ( والله أعلم طبعاً ) حاولت تجربة ملف معلمي الأستاذ جعفر في هذه المشاركة ، لكن دون جدوى -
وعليكم السلام ورحمة الله وبركاته .. من باب الفضول والتأكد ، هل هذا الشكل المطلوب ؟؟ Query1 الرقم الوطني الاسم الجنسيه الجنس نوع الهويه رقم البلاغ السنه التهمه الجهه الطالبه الحكم تاريخ الوارد الاجراء المتخذ تاريخ الاجراء ملاحظات تاريخ الحكم 12345678910 محمد علي ي ذكر 77 2025 شيكات الشيكات غير محدد 2025-08-11 88 2024 جنائي العاصمه غير محدد 2025-08-11 2352 2025 شيكات الشرق غير محدد 2025-08-11 3252 2022 شيكات الجنوب غير محدد 2025-08-11 32525 2024 انتحال الغرب غير محدد 2025-08-11 25432526222 جاسم عبدالله ا ذكر 35 2025 تزوير الشرق غير محدد 2025-08-11 60 2022 مشاجره الجنوب غير محدد 2025-08-11 اذا كان هو فعلاً ، فجرب هذا الإستعلام :- SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, tabe2.edathkm AS [تاريخ الحكم] FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id ORDER BY tabe1.id, tabe2.blagh; لا حاجة لإرفاق ملفك مرة أخرى 😇
-
وعليكم السلام ورحمة الله وبركاته ,,, أخي بلال أسعد الله مساءكم وصباحكم في بلدنا العزيز الجزائر .. استخدامك لكلمة ايقونة يسبب الإرباك لك في توصيل المعلومة الصحيحة .. ففي مثالك الإيقونة الحمراء هي في الواقع اسمها زر أو Button . لذا استخدم مسميات العناصر الصحيحة كي تساعد في توصيل المعلومة الصحيحة .. بالنسبة لطلبك الأول فيما يتعلق بالزر الأحمر "إعادة" ، وإن كان ما فهمته صحيح .. استخدم هذا الحدث له If Me.نص52 = "لا" Then Me.نص52 = "نعم" Else Me.نص52 = "لا" End If أما الطلب الثاني ، فقط قم بإضافة هذا الاستعلام DoCmd.RunSQL "UPDATE [tblImportExcel] SET [معيد] = 'نعم' WHERE [السنة] = '" & [Forms]![ملفات التلاميذ]![السنة] & "';" بحيث تصبح الجملة الشرطية للرسالة عند اختيار = نعم : If MsgBox(Msg, vbQuestion + vbMsgBoxRight + vbYesNo, "تأكيـــــد الإجــــــراء") = vbYes Then DoCmd.RunSQL "UPDATE [tblImportExcel] SET [معيد] = 'نعم' WHERE [السنة] = '" & [Forms]![ملفات التلاميذ]![السنة] & "';" DoCmd.RunSQL "UPDATE [tblImportExcel] Set [السنة]='" & NewYaer & "' where [السنة]=[forms]![ملفات التلاميذ]![السنة];" DoCmd.Requery End If ملفك بعد التعديل تحديد البرنامج1.zip
-
العفو أخي أسعد
-
⭐ هدية ~ أداة بسيطة لتفحص حالة رقم الواتس أب 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
وإياكم أخي @ناقل ، وهذا شيء يفرحني أن أقدم شيء يُـستفاد منه .. -
اخي أسعد .. افتح الموذج في وضع التصميم ، واضغط Alt + F11 ليتم فتح محرر الأكواد . وستكون الأكواد أمامك كاملةً
-
ما فهمتهاش انا دي ، يعني ايه زي الأول 😅 .. فين المشكلة كانت عندك أصلاً غير انه مش بينقل النماذج والأكواد لقاعدة تانية 😁 فقط تحقق من المكتبات عند نقل عناصر قاعدة البيانات الى مشروعك .
-
⭐ هدية ~ أداة بسيطة لتفحص حالة رقم الواتس أب 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
تنفيذاً لفكرة وطلب أخي الأستاذ @ناقل ، تفضل هذا التعديل . حيث تم انشاء جدول يضم حقل الرقم وحقل الحالة وحقل تاريخ التحقق وحقل ملاحظات وإضافة زر جديد في النموذج السابق مع الكود التالي كتجربة :- Private Sub Btn_CheckAll_Click() On Error GoTo ErrHandler Dim db As DAO.Database Dim rs As DAO.Recordset Dim PhoneNumber As String Set db = CurrentDb Set rs = db.OpenRecordset("SELECT * FROM Tbl_WhatsAppNumbers WHERE Status IS NULL OR Status='غير معروف'", dbOpenDynaset) If rs.EOF Then MsgBox "لا توجد أرقام بحاجة للفحص", vbInformation + vbMsgBoxRight, "" GoTo ExitHandler End If Do Until rs.EOF PhoneNumber = Nz(rs!PhoneNumber, "") If PhoneNumber <> "" Then ShellExecute 0, "open", "whatsapp://send?phone=" & PhoneNumber, vbNullString, "", 1 SendKeys "{TAB}", True Sleep 1000 SendKeys "{ENTER}", True If IsWhatsAppWindowOpen("الرقم غير مسجل في واتساب") Then rs.Edit rs!Status = "غير مسجل" rs!LastChecked = Now rs.Update Else rs.Edit rs!Status = "مسجل" rs!LastChecked = Now rs.Update End If End If Sleep 500 rs.MoveNext Loop MsgBox "تم فحص جميع الأرقام غير المعروفة", vbInformation + vbMsgBoxRight, "" SendKeys "{NUMLOCK}", True ExitHandler: On Error Resume Next rs.Close Set rs = Nothing Set db = Nothing Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical, "خطأ" Resume ExitHandler End Sub Check Number.zip -
بناءً على تواصلي مع الأستاذ @ابو جودي ، تم ارفاق الملف التالي بعد حذف كلمة المرور لمحرر الأكواد Digital Player App.zip
-
عمل مشاركة لملف إكسل على جوجل درايف مع تفعيل الأكواد
Foksh replied to AbuuAhmed's topic in منتدى الاكسيل Excel
أستاذ أبو أحمد ، أسعد الله أوقاتك .. فعلاً لم يتح لي فتح موضوع بهذا الخصوص كما شاركتكم تخيلي للفكرة .. ولكن سأحاول جاهداً فتح موضوع بهذا الخصوص -
وعليكم السلام أستاذ فريد ، شكراً لمرورك وملاحظتك الجميلة أيضاً .. وحيث أنني كنت بصدد التعديل الفعلي على الأداة بتجاوز حقل الترقيم التلقائي ، فقد تم تعديل المرفق السابق في المشاركة الرئيسية .. لأجراءاتكم بالإفادة والمتابعة
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) في هذه الأداة والتي وظيفتها إزالة التكرارات من الجداول ، قمت بتنفيذ فكرتها بناءً على مشكلة واجهت أحد منتسبي مجتمع اكسس جروب على الواتس اب . حيث كل ما على المستخدم هو نقل النموذج لمشروعه ، واختيار الجدول الذي يريد حذف التكرارات منه . المزايا التي تم تأمينها في الأداة :- 1️⃣ التعرف على أسماء الجداول في قاعدة البيانات الحالية عند فتح الأداة . 2️⃣ التعرف على عدد السجلات في الجدول عند اختيار أي جدول بسرعة فائقة . ( تمت التجربة على الملف المرفق بعدد سجلات = 1886169 سجل ) ولا تحتوي على بيانات شخصية أو سرية . 3️⃣ إمكانية إيقاف العملية أثناء الفحص ( في حال استطاع المستخدم اللحاق بها 😅 ) . 4️⃣ نموذج تفاعلي لكل مرحلة من مراحل التصفية والتنقية ، والمرحلة الحالية التي هي قيد العمل حالياً . 5️⃣ لا حاجة لاختيار الحقول في أي جدول ، فقط اسم الجدول ، وستتم المقارنة بين السجلات على جميع الحقول دون تحديد أسمائها . 6️⃣ تجاوز حقل الترقيم التلقائي من المقارنة بين السجلات واجهة الإداة البسيطة :- صورة توضيحية لأداء الأداة :- لاحظ أخي الكريم أن الزمن المستغرق تقريباً 18 ثانية لفلترة سجلات تتكون من أكثر من مليون و 880 ألف سجل في الجهاز الحالي وفي جهاز آخر استغرق الأمر على نفس عدد السجلات تقريباً 9 ثواني فقط لا غير .😮. حجم الملف المرفق تقريباً 23 ميجا ، وذلك ليس حجم الأداة ، بل حجم الجدول الذي يحتوي 1,886,169 سجل 😁 . ملف الأداة مفتوح المصدر مع الجدول :- Smart Fillter.zip ملف الأداة مفتوح المصدر بدون الجدول :- Smart Fillter No TBL.zip
-
وعليكم السلام ورحمة الله وبركاته .. ردي متأخر ولكن اعتذر منك ، لم انتبه للإشعار .. وعليكم السلام ورحمة الله وبركاته ،، وإياكم أخي الكريم ,, في الحقيقة ، لم أقم بالتجربة بالربط على برنامج أو جهاز البصمة اللذين ذكرتهم أبداً . لذا فإجابتي ستكون غير دقيقة ، ولكن بنية البرنامج قائمة على قراءة QR باستخدام اي جهاز يقرأ الرموز لأن الجهاز بطبيعة الحال عبارة عن كيبورد ويقوم بادخال القيم بشكل بصري من خلال الرمز . لذافلن يضرك في التجربة اي شيء ، على العكس قد تفيدنا بهذه المعلومة وتكون أجراً لك في ميزان حسناتك
-
ما شاء الله .. أفكار جميلة لإستغلال الأرقام المفقودة فعلاً .. لفت انتباهي في النموذج الثالث ، عند القيمة الافتراضية لمربع النص MyId = =fncGetNextNumber("Test4","Myid",([txtYear]*1000)+1) هنا نفس المبدأ في الدالة DMax فعند الوصول الى السجل 20259999 سيكون السجل التالي 20260000 رغم ان السنة = 2025 فالتقييد بالتنسيق 1000 سيجعل هذه مشكلة أما الفكرة الجميلة التي قمتم بتنفيذها .. وجهة نظري غير ملزمة ولا ولن ولم تنقص من جمال الفكرة ، وأنما مشاركة لأفكار أخيك الصغير معك