اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نجوم المشاركات

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      24

    • Posts

      2,155


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      9

    • Posts

      9,814


  3. عبد اللطيف سلوم

    عبد اللطيف سلوم

    06 عضو ماسي


    • نقاط

      8

    • Posts

      1,948


  4. ازهر عبد العزيز

    ازهر عبد العزيز

    04 عضو فضي


    • نقاط

      7

    • Posts

      1,280


Popular Content

Showing content with the highest reputation on 11 أبر, 2024 in all areas

  1. ومشاركة مع الأخوة والأساتذة:- Private Sub StudentName_BeforeUpdate(Cancel As Integer) If DCount("*", "Student_Tbl", "StudentName = '" & Me.StudentName & "'") > 0 Then MsgBox "اسم الطالب موجود بالفعل في الجدول.", vbExclamation, "تكرار الاسم" Cancel = True End If End Sub
    3 points
  2. بناءا على طلب احد الاخوة المتابعين مثال بسيط على منع التكرار اتمنى من الاخوة الخبراء اثراء الموضوع ووضع طرق اخرى للفائدة منع تكرار الاسم.accdb
    2 points
  3. كبير يا عبداللطيف كبير ، وعلى راسي 🙂 سهله ، وخليني اعلمك كيف تصيد الخطأ 🙂 . Private Sub Form_Error(DataErr As Integer, Response As Integer) 'MsgBox DataErr If DataErr = 3022 Then Response = acDataErrContinue MsgBox "هذا الاسم موجود سابقا" End If End Sub 1602.Data_Exists.accdb
    2 points
  4. صحيح استاذ حاولت تغير اسم الموضوع الى (التعامل مع المجلدات في اكسس) لكني لم استطيع ارجو من ادرارة المنتدى تغييرة ليكون مرجع مفيد لمن يبحث عن موضوع مشابة
    2 points
  5. أخي @ازهر عبد العزيز ، لاحظ أن الموضوع قد تشعب لأكثر من سؤال . على العموم ضع هذا الكود في زر ، إذا كان المجلد فارغ سيتم حذفه بدون رسالة . أما اذا كان المجلد غير فارغ فسيتم التنبيه بأن المجلد غير فارغ قبل الاستمرار بالحذف . Dim FolderA As String Dim FolderPath As String FolderA = BookName.Value FolderPath = CurrentProject.Path & "\Library1\BOOKS\" & FolderA If Len(Dir(FolderPath, vbDirectory)) > 0 Then If Dir(FolderPath & "\", vbNormal) <> "" Then Dim Response As VbMsgBoxResult Response = MsgBox("هل ترغب في حذف المجلد ومحتوياته؟", vbQuestion + vbYesNo) If Response = vbYes Then Kill FolderPath & "\*.*" RmDir FolderPath End If Else RmDir FolderPath End If Else MsgBox "المجلد غير موجود", vbExclamation End If
    2 points
  6. مشاركة مع اخواني تفضل استاذ @ازهر عبد العزيز محاولتي . Libraries.rar
    2 points
  7. وعليكم السلام 🙂 مثل ما يقول المثل: اشلك بالبحر وأهواله و رزق اللَّه على السيف 🙂 وبدون كود: في جدول "الطالب" ، اجعل حقل "اسم_الطالب" : مفهرس (لا يقبل التكرار) 🙂 جعفر
    2 points
  8. بناء على استعلامات أخي @عبد اللطيف سلوم ، فكرتك كانت في 3 استعلامات منفصلة ، وخطر ببالي استعلام توحيدي واحد يجمعهم معاً لتحقيق الهدف . SELECT emp.[no], emp.[full-name], hol.[year-study], hol.namecours1 AS cours_name, hol.yearcours1 AS cours_year FROM emp INNER JOIN hol ON emp.[no] = hol.[no] WHERE hol.yearcours1 Is Not Null UNION ALL SELECT emp.[no], emp.[full-name], hol.[year-study], hol.namecours2 AS cours_name, hol.yearcours2 AS cours_year FROM emp INNER JOIN hol ON emp.[no] = hol.[no] WHERE hol.yearcours2 Is Not Null UNION ALL SELECT emp.[no], emp.[full-name], hol.[year-study], hol.namecours3 AS cours_name, hol.yearcours3 AS cours_year FROM emp INNER JOIN hol ON emp.[no] = hol.[no] WHERE hol.yearcours3 Is Not Null;
    2 points
  9. وعليكم السلام اخوب محمد واهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، برجى قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف اما الرد على طلبك ، فهل هناك طريقة لتمييز السجل عن الآخر الذي به طريقة البيانات التي تريدها؟ بمعنى: هل هناك تسلسل معين في السجلات ، وانت دائما تريد السجل الاول والرابع ، وهل الفرز دائما يكون كما اوضحت في الصورة؟ وفي مثل طلبك ، ياريت ترفق بيانات من قاعدة بياناتك ، حتى تكون الصورة واضحة 100% وحينها لن يقصروا الشباب في الرد ان شاء الله 🙂 جعفر
    2 points
  10. أخي لو لم تتم التجربة لما ارفقت الملف لك تفضل ، Dim FolderA As String FolderA = BookName.Value If Len(Dir(CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderA, vbDirectory)) > 0 Then Shell "explorer.exe """ & CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderA & """", vbNormalFocus Else MsgBox "المجلد غير موجود", vbExclamation End If ضع هذا الكود في أي زر أو حدث تريده
    2 points
  11. وهذه مشاركتي مع الأستاذ @عبد اللطيف سلوم . تم بناء استعلام توحيد وبناءً ، وتم بناء التقريرين عليه . الأول حسب المدرس ، والثاني حسب السنة Stu.accdb
    2 points
  12. 😅 حاااضر ، تفضل هذا الملف مع التعديل بناءً على طلبك . CreateFolder.accdb
    2 points
  13. اخي @ازهر عبد العزيز لما تعمل نسخ اتأكد انه الكيبورد لغة عربية رح تطلع النتيجة صحيحة عند اللصق اما اذا كان الكيبورد انجليزي رح تطلع حروف كما في المثال اعلاه اتمنى منك اعادة الكود
    2 points
  14. تفضل MkDir CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderA
    2 points
  15. بسيطة اخي @ازهر عبد العزيز جرب هذا التعديل ، تقدر تستخدم المديول في أي مكان وفي اي نموذج 🤗 باستخدام كود الدالة التالي :- Public Sub CreateDataFolder() On Error Resume Next Dim FolderA As String Dim FolderB As String Dim FolderC As String Dim FolderD As String Dim FormsName As String FolderA = "Libraries" FolderB = "Library1" FolderC = "BOOKS" FormsName = frm.Name FolderD = Forms(frm).Controls("BookName").Value If Len(Dir(FolderA, vbDirectory)) = 0 Then MkDir CurrentProject.Path & "\" & FolderA If Len(Dir(FolderB, vbDirectory)) = 0 Then MkDir CurrentProject.Path & "\Libraries\" & FolderB If Len(Dir(FolderC, vbDirectory)) = 0 Then MkDir CurrentProject.Path & "\Libraries\Library1\" & FolderC If Len(Dir(FolderD, vbDirectory)) = 0 Then MkDir CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderD End If End If End If End If End Sub Libraries.accdb
    2 points
  16. هناك طريقتان أخريان اعرفها If DCount("*", "الطالب", "اسم_الطالب='" & Me.xxx & "'") > 1 Then MsgBox "اسم الطالب هذا قد تم تسجيله من قبل." DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True End If Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM الطالب WHERE اسم_الطالب='" & Me.xxx & "'") If Not rs.EOF Then MsgBox "اسم الطالب هذا قد تم تسجيله من قبل." DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True End If rs.Close Set rs = Nothing
    2 points
  17. If DCount("*", "ÇáØÇáÈ", "ÇÓã_ÇáØÇáÈ = '" & Me.xxx & "'") <> 0 Then Call Undo MsgBox "ÇÓã ÇáßÊÇÈ ãæÌæÏ ÓÇÈÞÇ" DoCmd.CancelEvent If DCount("*", "ÇáØÇáÈ", "ÇÓã_ÇáØÇáÈ = '" & Me.xxx & "'") <> 0 Then Call Undo MsgBox "ÇÓã ÇáßÊÇÈ ãæÌæÏ ÓÇÈÞÇ" DoCmd.CancelEvent منع تكرار الاسم.accdb
    2 points
  18. السلام عليكم ورحمة الله وبركاته وكل العام وجميع الاخوة مشرفي المنتدى الاجلاء والاعضاء المحترمون بخير وصحه وسلامة هم واسرهم الكريمة لدى قاعدة بيانات تحوى المواد الدراسية في معهد نظام الدراسة به ثلاث سنوات . تبين هذه القاعدة المواد المسندة لكل معلم - كمثال هنال معلم يدرس مادة وهناك اخر يدرس اثنتان فأكثر الى ثلاث مواد كاقصى حد - والمطلوب هو تقرير يحوى المواد الدراسية لكل المعلمين حسب السنة ( السنة الاولى او السنة الثانية او السنة الثالثة ) بمعنى تقرير بين كل المعلمين الذين يعطوا مواد السنة الاولى تقرير بين كل المعلمين الذين يعطوا مواد السنة الثانية تقرير بين كل المعلمين الذين يعطوا مواد السنة الثالثة والله الموفق جداول وحصص.accdb
    1 point
  19. اللي فهمته انك تريد معرفة ارصدة المواد المتبقية في المستودع الرئيسي لم اهتد الى طريقة سهلة ومرنة وقابلة للتطوير .. يوجد طريقة شبه جامدة والتطوير فيها ايضا محدود . الافضل ان تنتظر فالاخوة الخبراء هنا فيهم الخير والبركة
    1 point
  20. السلام عليكم 🙂 المتعارف عليه ، استخدام استعلام التوحيد هكذا: . ولما يكونوا استعلامين ، وبنفس الحقول ، يكونوا هكذا : . ولما نجمعهم بنسخ جملة SQL للاستعلامين ، في استعلام توحيد ، نجد ان الاستعلام كما هو موضح في qry_123_456 ، والذي هو نسخ لجملة SQL الاستعلامين اعلاه ، وعليه ، فنحن لسنا بحاجة الى الاستعلامين qry_123 و qry_456 ، ويمكن حذفهما : . ولكن وبسبب ان كِلا الاستعلامين يحتوي على نفس عدد الحقول ، وبنفس الترتيب ، فيمكن اختصار استعلام التوحيد الى التالي ، وحينها لا تستطيع حذف الاستعلامين qry_123 و qry_456 . ونتائج استعلامي التوحيد في الاعلى: . جعفر 1603.Union_Query.accdb
    1 point
  21. @Foksh شكرا على التنبيه 🙂 على اي سطر تحصل على هذا الخطأ ؟
    1 point
  22. لكني الآن خرجت من العمل أخي @SAROOK ، إن كان في العمر بقية إن شاء الله ليوم غد
    1 point
  23. هل هذا طلبك ؟ افتح التقرير Foksh وإن كان طلبك أخبرني قبل خروجي من العمل . Stu (1).accdb
    1 point
  24. السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير وعيدكم مبارك ان شاءالله الساده مشرفي ومبرمجي موقعنا الكريم تم عمل الجداول الازمه لعملية التصنيع وهي استلام خامات صرف الخامات من مخزن الخام الى مخزن تحت التشغيل تم عمل جداول للتركيبات مثل المرفقات 01-اريد المساعده عند الضغط على زر استعداء تركيبة المنتج ياتي لي بالتركيبات الخاصه بالمنتج والتي تم تعريفها من قبل في جداول التركيبات الى جداول التصنيع 02- ومن ثم عند استدعاء المواد المركبه للمنتج والضغط على زر استدعاء التركيبه الفعليه للمنتح وهي المقصود بها بنود التركيبه وهي المواد الخام التي تم جلبها ياتي لي بالكميات المتوفره في المستودع كماهو مذكور في الصوره الثانية ملحوظه تم عمل جدول فرعي(Adb_TableExchanj) يحتوي على حركات ثلاث مستودعات الاول(Adb_TableAdd_Prim) وهذا الجدول الرئيسي لعمليات الاضافه بينهم علاقه والجدول الثاني (Adb_TableExchA_Prim) وهو لصرف الخام الى التصنيع(Adb_TableExchB_Prim) كما هو مرفق TESTBOM.rar
    1 point
  25. أخي الكريم @SAROOK ، أين التكرار الذي تتحدث عنه ، راجع الفيديو في المرفقات لتتأكد . أما موضوع التقرير الواحد لكل سنة ، فتفضل ( Stu (1).zip ) 20240411_210938.zip
    1 point
  26. ابداع و اتقان جميل جدا استاذنا الغالي اخذت منها اكثر من رسالة وطبقتها عندي عمل مذهل بعد اذنك عدلت على بعضها لتناسب ما اريد
    1 point
  27. سؤال اخي الحبيب @Foksh هل قمت ببناء استعلام التوحيد على استعلامات أم على الجداول مباشرة ؟؟
    1 point
  28. شكرا جزبلا اخي ملاحظة كان لدي سؤال نقريبا قبل ثلاثة سنوات لنفس سؤالك الطريف بالامر انة انت من قام بالاجابة عن السؤال بنفس الكود لاجابتي حاولت اجده لم افلح لكثرة مشاركاتي
    1 point
  29. تمام استاذ لمشكلة عندي انتم وضعتم MkDir CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderA غيرتة الى MkDir CurrentProject.Path & "\Library1\BOOKS\" & FolderA الان تمام الاستاذ @محمد احمد لطفى الاستاذ @Foksh تعجز الكلمات عن الشكر لكن طلب اخر ارجو ان يتسع لي احتاج كو تحت زر لفتح هذا الفولدر الذي بتم انشائة
    1 point
  30. السلام عليكم ورحمة الله وبركاته اشكرك اخي بشمهندس عبد اللطيف للرد الكريم وكل سنة وانت طيب - جربت المرفق وكانت هناك اشكالية الخصها في مثال ( نفترض ان المدرس طارق يعطي تلات مواد وكلهم للسنة الثالثة وهم مادة قياسات ومادة الرسم الفني ومادة علم المواد) عند تجريب المرفق على هذا الاحتمال لم يظهر في تقرير مواد السنة الثالثة بيان ذلك وقد ارفقت هذا الاحتمال بقاعدة البيانات . اشكرك اخي بشمهندس عبداللطيف وتحياتي لشخصك الكريم . جداول وحصص (2)1.accdb
    1 point
  31. متابعة الأستاذ @محمد احمد لطفى مشكورة 🥰 . الفرق انه مشاركة الأستاذ محمد للإستخدام داخل النموذج الحالي ، ومشاركتي قابلة للإستخدام في أي نموذج دون تكرار في أي نموذج للأكواد . واختر ما يناسبك .
    1 point
  32. تعديل صغير للتأكد من وجود الملف قبل انشاء ملف جديد Dim MaakeFolder As String MaakeFolder = CurrentProject.Path & "\Libraries\Library1\BOOKS\" & Me.BookName If Len(Dir(MaakeFolder, vbDirectory)) = 0 Then MkDir MaakeFolder End If Libraries.rar
    1 point
  33. اخي @ازهر عبد العزيز قمت بالتعديل من الجوال ، يبدو انه يوجد إشارة & بين Path والمسار غير موجودة ، فقط قم بإضافتها . كما اشار الأستاذ @محمد احمد لطفى .
    1 point
  34. ظهرت لي هذة المشكلة
    1 point
  35. تفضل يا صديقي. هذا رابط فيديو ، اتبع نفس الفكرة بأي انواع ملفات تريدها 🤗
    1 point
  36. نعم اخي @loay77 ، باستخدام برنامج iso craft نستطيع انشاء اسطوانات بصيغة iso ، ثم إضافتها الى البرنامج الرئيسي هي هذا الجزء
    1 point
  37. جزاك الله خير يااخي هل يمكن تنزيل اي برنامج من برامج الكمبيوتر في المحاكي وكيف
    1 point
  38. مشاركة أستاذى @Foksh Dim folderPath As String Dim folderName As String Dim checkFolder As String folderPath = "C:\Libraries\Library1\BOOKS\" folderName = Me.TextBox1.Value checkFolder = Dir(folderPath & folderName, vbDirectory) If checkFolder = "" Then MkDir folderPath & folderName Else MsgBox "Folder already exists!", vbExclamation End If
    1 point
  39. وعليكم السلام ورحمة الله وبركاته.. Sub CreateFolder() Dim folderPath As String Dim folderName As String folderPath = "C:\Libraries\Library1\BOOKS\" folderName = Me.TextBox1.Value MkDir folderPath & folderName End Sub فقط قم بتغيير اسم مربع النص TextBox1 واستدعِ اسم الدالة CreateFolder في الزر 😊 وكل عام وأنتم بخير 💐
    1 point
  40. الله يصبحكم بأنوار النبي بالنسبة لي الفضل في تعلم البرمجة يعود لله تعالى ولهذا الموقع وللخبراء الافاضل الذين لا يبخلون بأي معلومة على طالب العلم الذكاء الاصطناعي يعتبر مرجع ومعلومات تساعدك عند الطالب في كل مجالات الحياة فقط نوهت للموضوع للفائدة
    1 point
  41. وعليكم السلام ورحمة الله تعالى وبركاته لجلب اخر تاريخ استلام =IFERROR(IF(NOT(ISBLANK(A2));LOOKUP(2;1/INDEX(البيانات!$B$2:$M$11;MATCH(A2;البيانات!$A$2:$A$11;0);0) ;البيانات!$B$1:$M$1);"");"لم يستلم") لجلب المبلغ الكلي =IFERROR(SUM(INDEX(البيانات!$B$2:$M$11;MATCH(A2;البيانات!$A$2:$A$11;0);0));"") لجلب اخر قيمة مدخلة =IFERROR(LOOKUP(2;1/INDEX(البيانات!$B$2:$M$11;MATCH(الخلاصة!A2;البيانات!$A$2:$A$11;0);0);البيانات!B2:M2);"لم يستلم") في حالة الرغبة باستخدام الاكواد Sub test() Dim lastrow As Long, lige As Long, lastcol As Long Dim WS As Worksheet: Set WS = Sheets("البيانات") Dim desWS As Worksheet: Set desWS = Sheets("الخلاصة") With Application .ScreenUpdating = False .Calculation = xlManual F = WS.Name lastrow = WS.Cells.Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row lastcol = WS.Cells.Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column Set A = WS.Range("B2:M" & lastrow): Set B = WS.Range("A2:A" & lastrow) Set C = WS.Range("B1", WS.Cells(1, lastcol)) lige = desWS.Range("A:D").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row desWS.Range("B2:C" & lige).ClearContents With desWS.Range("B2:B" & lige) .Formula2 = "=IFERROR(IF(NOT(ISBLANK('" & desWS.Name & "'!A2)),LOOKUP(2,1/INDEX('" & F & "'!" & A.Address & ",MATCH('" & desWS.Name & "'!A2,'" & F & "'!" & B.Address & ",0),0),'" & F & "'!" & C.Address & "),""""),""لم يستلم"")" .Value = .Value With desWS.Range("C2:C" & lige) .Formula2 = "=IFERROR(SUM(INDEX('" & F & "'!" & A.Address & ",MATCH('" & desWS.Name & "'!A2,'" & F & "'!" & B.Address & ",0),0)),"""")" .Value = .Value End With End With .ScreenUpdating = True .Calculation = xlAutomatic End With End Sub بالتوفيق........... التاريخ الاخير الذي استلم Formula.xlsx التاريخ الاخير الذي استلم VBA.xlsb
    1 point
  42. كل عام وانت بخير استاذ @عبد اللطيف سلوم صحيح ان ال chat GPT قفزة نوعية في عالم التكنولوجيا ..لكنه سينهي حب التعلم والابداع والبحث عن المعرفة نعم استخدمته في بعض الاحيان ...لكنني فكرت بأني سأصبح عبارة عن جماد لايفكر ... شخصيا ...افضل شي عندي تعلم البرمجة من اساتذتي في موقع اوفيسنا ...و طبعا من بعض المواقع الاجنبية الرائعة
    1 point
  43. تفضل استاذ @aliwindows محاولتي بعد التعديل على مرفقك عمل استعلام (Query1) وتشغيل التقرير (Report1) . 1-2.rar
    1 point
  44. بارك الله فيك أخي @ABBO ، ورحم والديك وغفر لك ولهم ولعامة المسلمين . تم تعديل ملفات الرابط في المشاركة السابقة
    1 point
  45. لهذا السبب انا ارفقت روابط من المنتدى ، واعتقد اخوي خليفة ما تابع الفيديو للنهاية ، وإلا لما وضعه 🙂 غلط تكون الجداول مع بقية الكائنات (النماذج والاستعلامات والتقارير والوحدات النمطية) في نفس قاعدة البيانات ، ويقوم مستخدم بإستخدامها ، وبقية المستخدمين بتصلون بها ويستخدمونها كذلك 🙂 خليني احاول اشرح بطريقة اخرى: برنامج الخلفية ، ويكون على شبكة في مجلد مشاركة (الافضل ان يكون على سيرفر ، ولكن ممكن يكون على كمبيوتر في الشبكة) يراه جميع المستخدمين ، وهذا المجلد له صلاحيات القراءة/الكتابة : سواء كانت قاعدة البيانات جداول فقط ، او الجداول وجميع الكائنات ، ولكن بشرط ان لا يتم استعمال (النماذج والاستعلامات والتقارير والوحدات النمطية) التي به ، الواجهة : النماذج والاستعلامات والتقارير والوحدات النمطية ، ويتم ربط الجداول مع جداول برنامج الخلفية 🙂 جعفر
    1 point
×
×
  • اضف...

Important Information