نجوم المشاركات
Popular Content
Showing content with the highest reputation on 04/11/24 in مشاركات
-
ومشاركة مع الأخوة والأساتذة:- Private Sub StudentName_BeforeUpdate(Cancel As Integer) If DCount("*", "Student_Tbl", "StudentName = '" & Me.StudentName & "'") > 0 Then MsgBox "اسم الطالب موجود بالفعل في الجدول.", vbExclamation, "تكرار الاسم" Cancel = True End If End Sub3 points
-
2 points
-
2 points
-
صحيح استاذ حاولت تغير اسم الموضوع الى (التعامل مع المجلدات في اكسس) لكني لم استطيع ارجو من ادرارة المنتدى تغييرة ليكون مرجع مفيد لمن يبحث عن موضوع مشابة2 points
-
أخي @ازهر عبد العزيز ، لاحظ أن الموضوع قد تشعب لأكثر من سؤال . على العموم ضع هذا الكود في زر ، إذا كان المجلد فارغ سيتم حذفه بدون رسالة . أما اذا كان المجلد غير فارغ فسيتم التنبيه بأن المجلد غير فارغ قبل الاستمرار بالحذف . 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 If2 points
-
2 points
-
وعليكم السلام 🙂 مثل ما يقول المثل: اشلك بالبحر وأهواله و رزق اللَّه على السيف 🙂 وبدون كود: في جدول "الطالب" ، اجعل حقل "اسم_الطالب" : مفهرس (لا يقبل التكرار) 🙂 جعفر2 points
-
بناء على استعلامات أخي @عبد اللطيف سلوم ، فكرتك كانت في 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
-
وعليكم السلام اخوب محمد واهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، برجى قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف اما الرد على طلبك ، فهل هناك طريقة لتمييز السجل عن الآخر الذي به طريقة البيانات التي تريدها؟ بمعنى: هل هناك تسلسل معين في السجلات ، وانت دائما تريد السجل الاول والرابع ، وهل الفرز دائما يكون كما اوضحت في الصورة؟ وفي مثل طلبك ، ياريت ترفق بيانات من قاعدة بياناتك ، حتى تكون الصورة واضحة 100% وحينها لن يقصروا الشباب في الرد ان شاء الله 🙂 جعفر2 points
-
أخي لو لم تتم التجربة لما ارفقت الملف لك تفضل ، 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
-
وهذه مشاركتي مع الأستاذ @عبد اللطيف سلوم . تم بناء استعلام توحيد وبناءً ، وتم بناء التقريرين عليه . الأول حسب المدرس ، والثاني حسب السنة Stu.accdb2 points
-
2 points
-
اخي @ازهر عبد العزيز لما تعمل نسخ اتأكد انه الكيبورد لغة عربية رح تطلع النتيجة صحيحة عند اللصق اما اذا كان الكيبورد انجليزي رح تطلع حروف كما في المثال اعلاه اتمنى منك اعادة الكود2 points
-
2 points
-
بسيطة اخي @ازهر عبد العزيز جرب هذا التعديل ، تقدر تستخدم المديول في أي مكان وفي اي نموذج 🤗 باستخدام كود الدالة التالي :- 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.accdb2 points
-
هناك طريقتان أخريان اعرفها 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 = Nothing2 points
-
If DCount("*", "ÇáØÇáÈ", "ÇÓã_ÇáØÇáÈ = '" & Me.xxx & "'") <> 0 Then Call Undo MsgBox "ÇÓã ÇáßÊÇÈ ãæÌæÏ ÓÇÈÞÇ" DoCmd.CancelEvent If DCount("*", "ÇáØÇáÈ", "ÇÓã_ÇáØÇáÈ = '" & Me.xxx & "'") <> 0 Then Call Undo MsgBox "ÇÓã ÇáßÊÇÈ ãæÌæÏ ÓÇÈÞÇ" DoCmd.CancelEvent منع تكرار الاسم.accdb2 points
-
السلام عليكم ورحمة الله وبركاته وكل العام وجميع الاخوة مشرفي المنتدى الاجلاء والاعضاء المحترمون بخير وصحه وسلامة هم واسرهم الكريمة لدى قاعدة بيانات تحوى المواد الدراسية في معهد نظام الدراسة به ثلاث سنوات . تبين هذه القاعدة المواد المسندة لكل معلم - كمثال هنال معلم يدرس مادة وهناك اخر يدرس اثنتان فأكثر الى ثلاث مواد كاقصى حد - والمطلوب هو تقرير يحوى المواد الدراسية لكل المعلمين حسب السنة ( السنة الاولى او السنة الثانية او السنة الثالثة ) بمعنى تقرير بين كل المعلمين الذين يعطوا مواد السنة الاولى تقرير بين كل المعلمين الذين يعطوا مواد السنة الثانية تقرير بين كل المعلمين الذين يعطوا مواد السنة الثالثة والله الموفق جداول وحصص.accdb1 point
-
اللي فهمته انك تريد معرفة ارصدة المواد المتبقية في المستودع الرئيسي لم اهتد الى طريقة سهلة ومرنة وقابلة للتطوير .. يوجد طريقة شبه جامدة والتطوير فيها ايضا محدود . الافضل ان تنتظر فالاخوة الخبراء هنا فيهم الخير والبركة1 point
-
السلام عليكم 🙂 المتعارف عليه ، استخدام استعلام التوحيد هكذا: . ولما يكونوا استعلامين ، وبنفس الحقول ، يكونوا هكذا : . ولما نجمعهم بنسخ جملة SQL للاستعلامين ، في استعلام توحيد ، نجد ان الاستعلام كما هو موضح في qry_123_456 ، والذي هو نسخ لجملة SQL الاستعلامين اعلاه ، وعليه ، فنحن لسنا بحاجة الى الاستعلامين qry_123 و qry_456 ، ويمكن حذفهما : . ولكن وبسبب ان كِلا الاستعلامين يحتوي على نفس عدد الحقول ، وبنفس الترتيب ، فيمكن اختصار استعلام التوحيد الى التالي ، وحينها لا تستطيع حذف الاستعلامين qry_123 و qry_456 . ونتائج استعلامي التوحيد في الاعلى: . جعفر 1603.Union_Query.accdb1 point
-
@Foksh شكرا على التنبيه 🙂 على اي سطر تحصل على هذا الخطأ ؟1 point
-
1 point
-
لكني الآن خرجت من العمل أخي @SAROOK ، إن كان في العمر بقية إن شاء الله ليوم غد1 point
-
هل هذا طلبك ؟ افتح التقرير Foksh وإن كان طلبك أخبرني قبل خروجي من العمل . Stu (1).accdb1 point
-
السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير وعيدكم مبارك ان شاءالله الساده مشرفي ومبرمجي موقعنا الكريم تم عمل الجداول الازمه لعملية التصنيع وهي استلام خامات صرف الخامات من مخزن الخام الى مخزن تحت التشغيل تم عمل جداول للتركيبات مثل المرفقات 01-اريد المساعده عند الضغط على زر استعداء تركيبة المنتج ياتي لي بالتركيبات الخاصه بالمنتج والتي تم تعريفها من قبل في جداول التركيبات الى جداول التصنيع 02- ومن ثم عند استدعاء المواد المركبه للمنتج والضغط على زر استدعاء التركيبه الفعليه للمنتح وهي المقصود بها بنود التركيبه وهي المواد الخام التي تم جلبها ياتي لي بالكميات المتوفره في المستودع كماهو مذكور في الصوره الثانية ملحوظه تم عمل جدول فرعي(Adb_TableExchanj) يحتوي على حركات ثلاث مستودعات الاول(Adb_TableAdd_Prim) وهذا الجدول الرئيسي لعمليات الاضافه بينهم علاقه والجدول الثاني (Adb_TableExchA_Prim) وهو لصرف الخام الى التصنيع(Adb_TableExchB_Prim) كما هو مرفق TESTBOM.rar1 point
-
أخي الكريم @SAROOK ، أين التكرار الذي تتحدث عنه ، راجع الفيديو في المرفقات لتتأكد . أما موضوع التقرير الواحد لكل سنة ، فتفضل ( Stu (1).zip ) 20240411_210938.zip1 point
-
تفضل على الرحب والسعة أخي العزيز 🙂1 point
-
ابداع و اتقان جميل جدا استاذنا الغالي اخذت منها اكثر من رسالة وطبقتها عندي عمل مذهل بعد اذنك عدلت على بعضها لتناسب ما اريد1 point
-
1 point
-
شكرا جزبلا اخي ملاحظة كان لدي سؤال نقريبا قبل ثلاثة سنوات لنفس سؤالك الطريف بالامر انة انت من قام بالاجابة عن السؤال بنفس الكود لاجابتي حاولت اجده لم افلح لكثرة مشاركاتي1 point
-
تمام استاذ لمشكلة عندي انتم وضعتم MkDir CurrentProject.Path & "\Libraries\Library1\BOOKS\" & FolderA غيرتة الى MkDir CurrentProject.Path & "\Library1\BOOKS\" & FolderA الان تمام الاستاذ @محمد احمد لطفى الاستاذ @Foksh تعجز الكلمات عن الشكر لكن طلب اخر ارجو ان يتسع لي احتاج كو تحت زر لفتح هذا الفولدر الذي بتم انشائة1 point
-
السلام عليكم ورحمة الله وبركاته اشكرك اخي بشمهندس عبد اللطيف للرد الكريم وكل سنة وانت طيب - جربت المرفق وكانت هناك اشكالية الخصها في مثال ( نفترض ان المدرس طارق يعطي تلات مواد وكلهم للسنة الثالثة وهم مادة قياسات ومادة الرسم الفني ومادة علم المواد) عند تجريب المرفق على هذا الاحتمال لم يظهر في تقرير مواد السنة الثالثة بيان ذلك وقد ارفقت هذا الاحتمال بقاعدة البيانات . اشكرك اخي بشمهندس عبداللطيف وتحياتي لشخصك الكريم . جداول وحصص (2)1.accdb1 point
-
متابعة الأستاذ @محمد احمد لطفى مشكورة 🥰 . الفرق انه مشاركة الأستاذ محمد للإستخدام داخل النموذج الحالي ، ومشاركتي قابلة للإستخدام في أي نموذج دون تكرار في أي نموذج للأكواد . واختر ما يناسبك .1 point
-
تعديل صغير للتأكد من وجود الملف قبل انشاء ملف جديد Dim MaakeFolder As String MaakeFolder = CurrentProject.Path & "\Libraries\Library1\BOOKS\" & Me.BookName If Len(Dir(MaakeFolder, vbDirectory)) = 0 Then MkDir MaakeFolder End If Libraries.rar1 point
-
اخي @ازهر عبد العزيز قمت بالتعديل من الجوال ، يبدو انه يوجد إشارة & بين Path والمسار غير موجودة ، فقط قم بإضافتها . كما اشار الأستاذ @محمد احمد لطفى .1 point
-
1 point
-
تفضل يا صديقي. هذا رابط فيديو ، اتبع نفس الفكرة بأي انواع ملفات تريدها 🤗1 point
-
1 point
-
جزاك الله خير يااخي هل يمكن تنزيل اي برنامج من برامج الكمبيوتر في المحاكي وكيف1 point
-
مشاركة أستاذى @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 If1 point
-
وعليكم السلام ورحمة الله وبركاته.. 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
-
بارك الله بجهودك اخي الكريم وكل عام وانتم بالف خير1 point
-
تفضل اخي اتمنى ان يكون هذا طلبك جداول وحصص (1).accdb1 point
-
1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته لجلب اخر تاريخ استلام =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.xlsb1 point
-
كل عام وانت بخير استاذ @عبد اللطيف سلوم صحيح ان ال chat GPT قفزة نوعية في عالم التكنولوجيا ..لكنه سينهي حب التعلم والابداع والبحث عن المعرفة نعم استخدمته في بعض الاحيان ...لكنني فكرت بأني سأصبح عبارة عن جماد لايفكر ... شخصيا ...افضل شي عندي تعلم البرمجة من اساتذتي في موقع اوفيسنا ...و طبعا من بعض المواقع الاجنبية الرائعة1 point
-
تفضل استاذ @aliwindows محاولتي بعد التعديل على مرفقك عمل استعلام (Query1) وتشغيل التقرير (Report1) . 1-2.rar1 point
-
بارك الله فيك أخي @ABBO ، ورحم والديك وغفر لك ولهم ولعامة المسلمين . تم تعديل ملفات الرابط في المشاركة السابقة1 point
-
لهذا السبب انا ارفقت روابط من المنتدى ، واعتقد اخوي خليفة ما تابع الفيديو للنهاية ، وإلا لما وضعه 🙂 غلط تكون الجداول مع بقية الكائنات (النماذج والاستعلامات والتقارير والوحدات النمطية) في نفس قاعدة البيانات ، ويقوم مستخدم بإستخدامها ، وبقية المستخدمين بتصلون بها ويستخدمونها كذلك 🙂 خليني احاول اشرح بطريقة اخرى: برنامج الخلفية ، ويكون على شبكة في مجلد مشاركة (الافضل ان يكون على سيرفر ، ولكن ممكن يكون على كمبيوتر في الشبكة) يراه جميع المستخدمين ، وهذا المجلد له صلاحيات القراءة/الكتابة : سواء كانت قاعدة البيانات جداول فقط ، او الجداول وجميع الكائنات ، ولكن بشرط ان لا يتم استعمال (النماذج والاستعلامات والتقارير والوحدات النمطية) التي به ، الواجهة : النماذج والاستعلامات والتقارير والوحدات النمطية ، ويتم ربط الجداول مع جداول برنامج الخلفية 🙂 جعفر1 point