-
Posts
4187 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
179
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
اريد معيار لاستعلام اكسيس يقوم باستخراج الحقول التى بها رمز #
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
معلومة جديدة علي .. وقد تكون معروفة للبعض ، شكراً معلمنا الفاضل hashtags.accdb -
اريد معيار لاستعلام اكسيس يقوم باستخراج الحقول التى بها رمز #
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. مشاركة مع الأساتذة .. جرب SELECT * FROM جدول1 WHERE InStr([INFO COD], "#") > 0; -
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
من داخل الدالة المرفقة ، تستطيع حتى جعله = زحلون مريخي الزحلون المريخي عملة مريخية هههههههههه ( امازحك 😅 ) -
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. نعم أخي تستطيع ذلك ، في المرفق التالي فكرة مشتقة من أحد المشاريع القديمة ، وتقوم بنفس الطلب الذي تريده . فقط املأ الارقام وانقر زر ارسال واتس اب تم حذف بعض الوظائف الخاصة بالمشروع الأصلي .. WhatsApp Sender WF.accdb -
مطلوب حل برمجي لمعرفة الناجي الوحيد من لعبة الموت
Foksh replied to AbuuAhmed's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. السؤال المنطقي هو ، في كم دورة تمت حتى وصل السجين 73 الناجي الوحيد !!! -
استيراد من الاكسل ⭐ هدية ~ مستورد السجلات الذكي 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
بناءً على فكرة أخي @منتصر الانسي ، تم إضافة زر جديد ليقوم بحذف وتنظيف الليست بوكس من الإختيارات بدلاً من الخروج والعودة للواجهة التعديل في نهاية المشاركة الأولى 👆 -
تعديل كود تحديد رقم الحجرة عند اختيار القسم
Foksh replied to بلال اليامين's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. هل هذا هو المطلوب فعلاً ؟؟ فقط هذا الكود في حدث بعد التحديث للشيك بوكس :- Private Sub CHK_AfterUpdate() Dim GradeValue As String If Me.CHK = -1 Then Select Case Me.نص74 Case "أولى" GradeValue = "1" Case "ثانية" GradeValue = "2" Case "ثالثة" GradeValue = "3" Case "رابعة" GradeValue = "4" Case "خامسة" GradeValue = "5" Case "سادسة" GradeValue = "6" Case Else GradeValue = Null End Select Me.نص76 = GradeValue Else Me.نص76 = Null End If End Sub sssssssss.zip- 1 reply
-
- 1
-
-
أيضاً كإضافة عن الإستعلام السابق .. جرب هذا الإستعلام أيضاً لإنشاء جدول جديد ، واضافة القيم فيه بعد فصلها .. SELECT maal, IIF(IsNumeric(Left(Trim(maal), 1)) = True, Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1)), Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1)) ) AS الرقم, IIF(IsNumeric(Left(Trim(maal), 1)) = True, Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1)), Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1)) ) AS الاسم INTO TAGE_F FROM TAGE WHERE maal Is Not Null;
-
مشاركة مع معلمي الفاضل .. جرب هذا الاستعلام وشوف النتيجة SELECT maal, Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1)) AS الرقم, Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1)) AS الاسم FROM TAGE;
-
وعليكم السلام ورحمة الله وبركاته .. اذهب الى تبويب تصميم التقرير = Report Design انقر على ايقونة مجموعة و فرز ( على ما أعتقد باللغة العربية ) = Group & Sort في الشاشة ستلاحظ فتح شاشة اسفل التقرير ، انقر على اسم الحقل واحذفه من اشارة X
- 1 reply
-
- 1
-
-
جرب هذا الملف بعد التعديل . حيث تم تعديل الكود ليصبح :- Option Explicit #If VBA7 Then Private Declare PtrSafe Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As LongPtr, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As LongPtr _ ) As Long Private Declare PtrSafe Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As LongPtr, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare PtrSafe Function GetCurrentProcess Lib "kernel32" () As LongPtr Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As LongPtr, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As LongPtr #Else Private Declare Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As Long, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As Long _ ) As Long Private Declare Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As Long, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As Long #End If Public Function IsRunAsAdmin() As Boolean Const TOKEN_QUERY As Long = &H8 Const TokenElevation As Long = 20 Dim hToken As LongPtr Dim elev As Long Dim retLen As Long If OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken) <> 0 Then If GetTokenInformation(hToken, TokenElevation, elev, LenB(elev), retLen) <> 0 Then IsRunAsAdmin = (elev <> 0) End If End If End Function Public Sub RestartAsAdmin() Dim exePath As String Dim wbPath As String exePath = Application.Path & "\EXCEL.EXE" wbPath = """" & ThisWorkbook.FullName & """" ShellExecute 0, "runas", exePath, wbPath, vbNullString, 1 Application.Quit End Sub Public Sub CreateTextFile() Dim FilePath As String Dim FileNum As Integer If Not IsRunAsAdmin Then MsgBox ". (Administrator) البرنامج بحاجة إلى صلاحيات مسؤول" & vbCrLf & _ "... لطلب صلاحيات المسؤول Excel سيتم اعادة تشغيل", _ vbExclamation + vbMsgBoxRight, "تحتاج صلاحيات" RestartAsAdmin Exit Sub End If FilePath = "C:\Windows\fs.txt" FileNum = FreeFile Open FilePath For Output As #FileNum Print #FileNum, "https://www.officena.net/" Close #FileNum MsgBox "تم إنشاء الملف بنجاح في:" & vbCrLf & FilePath, _ vbInformation + vbMsgBoxRight, "نجاح" End Sub Book1.zip
-
تم إضافة التحديث الجديد في المشاركة الأولى
-
⭐ هدية ~ مزيل التكرارات الذكي 2025⭐ - تحديث جديد
Foksh replied to Foksh's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. وجهة نظرك جميلة ، ولكننا هنا سنحذف المكررات ؛ فما حاجتك بالمقارنة اذا كان الأصل موجود في نفس الجدول !!!!! -
تحويل 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