اذهب الي المحتوي
أوفيسنا

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. Today
  2. حبايب قلبي عشاق برنامج الاكسس تم تحديث نظام lab الطبي نظام متكامل ونظراً لحجمه عملته لكم في رابط ما عليك الا تنزله وفك الضغط في قرص d كلمة المرور ١ حال عدم السماح بالدخول يرجع السبب الى اعدادات الماكرو لديك قم بالدخول الى خيارات من اي ملف اكسس مفتوح ثم إعداد الماكرو واعمل سماح بالتوفيق https://drive.google.com/file/d/1YDRRLchNAfArPzdS129nnpQlqJLHfL8M/view?usp=drivesdk
  3. هل انتهيت من تنسيق شكل أو مربع نص، ثم احتجت إلى تطبيق نفس التنسيق على عناصر أخرى؟ بدلًا من إعادة اختيار الألوان والخطوط والحدود في كل مرة، استخدم أداة نسخ تنسيق (Format Painter). الطريقة: حدد العنصر الذي يحتوي على التنسيق المطلوب. من تبويب الشريط الرئيسي (Home) اضغط نسخ التنسيق (Format Painter). انقر على العنصر الآخر لتطبيق التنسيق مباشرة. 💡 معلومة إضافية: إذا أردت تطبيق التنسيق على عدة عناصر، فانقر نقرًا مزدوجًا على الأداة، ثم اضغط (Esc) عند الانتهاء.
  4. الكومبو بوكس فى النموذج وفى الجدول الحقل رقمى بالفعل ازاى نحلها ونجعل البيانات تظهر نصوص فى التقرير
  5. هذا لأنك تستعمل الكومبوبوكس داخل الجداول ، والأصل ان يكون حقل الجنسية = رقمي ، وبالتالي العلاقات بين الجداول ستكون كفيلة بحل هذه المشكلة وجلب قيمة 1 من جدول الديانة نفسه ( كما ذكرت سابقاً حتى لو تغيرت معك التسميات ، فسيتم تغييرها في جميع السجلات في جميع الجداول التي يوجد بها هذا الحقل .
  6. شكرا أستاذى الفاضل على توجيهاتك طيب والحقول اللى بتتسجل نصوص فى النموذج وأرقام فى الجداول عند الطباعة بتظهر أرقام
  7. وعليكم السلام ورحمة الله وبركاته .. أرى أنه من الأفضل والأدق برمجياً ، هو ربط الجداول باستخدام المفتاحين . فالأفضل هو تعديل حقل Educa_Stag في جدول Tb_School ليخزن رقم المرحلة Mrhla_ID بدلاً من النص . فالأصل فعلاً هو أن تكون القيم في الجداول هي معرف الحقل من جدول آخر ، وليس قيمته النصية ، فهذا أضمن وأسلم عند التعديل على المسميات . فمثلاً لو كانت القيمة في أحد الجداول = اعدادى ، وقمت يوماً ما بتصحيح الإسم ليصبح إعدادى أو اعدادي فستجد الكثير من المشاكل قد بدأت بالظهور عندما يكون الشرط نصي مثل اعدادى القديمة ... إلخ . ولكن وبما أنني لا أريد أن أعبث بتصميمك . فإليك الحل ببقاء تصميمك وفكرتك كما هي بحيث . كومبوبوكس جهة العمل Gha_Aml تم تعديله ليصبح :- SELECT Tb_School.School_ID, Tb_School.School, Tb_School.Educa_Stag FROM Tb_School INNER JOIN Tb_Mrhla ON Tb_School.Educa_Stag = Tb_Mrhla.Empo_Mrhla WHERE (((Tb_Mrhla.Mrhla_ID)=[Forms]![Frm_Data]![Form1].[Form]![mrhla])) ORDER BY Tb_School.School_ID; وفي كومبوبوكس نوع المرحلة ، استخدم الحدث التالي بعد التحديث له :- Private Sub mrhla_AfterUpdate() Me.Gha_Aml = Null Me.Gha_Aml.Requery End Sub ملفك بعد التعديلات أعلاه :- Personnel_affairs.zip
  8. السلام عليكم ورحمة الله وبركاته أولا : فى نموذج Frm_Data فى البيانات الوظيفية كنت محتاج لما اختار حقل ( نوع المرحلة ) على سبيل المثال ابتدائى واختار حقل ( جهة العمل ) يجيب المدارس الابتدائية فقط وهكذا مع بقية المراحل ثانيا : بيتم هناك حقول بيتم تسجيلها فى النموذج نصوص لكن فى الجدول بتكون أرقام على سبيل المثال حقل الديانة والجنسية والمرحلة والوظيفة والحالة الاجتماعية وغيرها من الحقول وده بيحصل مشكلة فى التقرير عند الطباعة HR_EDARA.rar
  9. تسلم - هجرب وافيدك بس لو عندى الستيكرات ملف اكسل ازاى اضيفها شرايح فى الباور بوينت بدل ما اعمل نسخ ولصق
  10. ما هو أقل حجم خط يمكن استخدامه في العناوين؟ لا يُنصح باستخدام أقل من 24 نقطة في العناوين لضمان الوضوح.
  11. Yesterday
  12. يمكننا الإنتظار مشاركات جديدة .. فلا تستعجل بإغلاق الموضوع باختيار الإجابة 🙂
  13. أحسنت استاذنا الكريم وهذا هو المطلوب بالضبط بارك الله فيك وزادك الله من فضله وياريت كان تم الوصول لهذه النتيجة بـــــ Data Validation
  14. طيب .. رغم أن الطلب تم تحقيقه من خلال Data Validation ، ولكن هذا لا يمنع من تجربة الفكرة التالية من خلال الأكواد . حيث تم دمج الحدث عند التغيير للورقة من :- If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B3:B3000")) Is Nothing Then With Target(1, 5) .Value = Date & " " & Time .EntireColumn.AutoFit End With End If ليصبح :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or Target.Row < 3 Then Exit Sub If Target.Column = 2 And Target.Value <> "" Then Target.Offset(0, 4).Value = Now If (Target.Column = 4 Or Target.Column = 5) And Trim(Me.Cells(Target.Row, "D").Value) = "بيع" Then Dim r As Long: r = Target.Row Dim itemCode As Variant: itemCode = Me.Cells(r, "B").Value Dim qty As Double: qty = Val(Me.Cells(r, "E").Value) If Not IsEmpty(itemCode) And qty > 0 Then Dim stockSheet As Worksheet: Set stockSheet = Worksheets("المخزن") Dim findCell As Range Set findCell = stockSheet.Range("B3:B800").Find(What:=itemCode, LookIn:=xlValues, LookAt:=xlWhole) If Not findCell Is Nothing Then Dim realAvailableStock As Double realAvailableStock = Val(stockSheet.Range("I" & findCell.Row).Value) + qty If qty > realAvailableStock Then MsgBox "• لا يمكنك إتمام عملية البيع هذه" & vbCrLf & vbCrLf & _ "• الصنــف: " & Me.Cells(r, "C").Value & vbCrLf & _ "• الرصيد المتاح حالياً: " & realAvailableStock & " قطعة" & vbCrLf & _ "• الكمية المطلوبة: " & qty & " قطعة", _ vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "تجاوز الرصيد" Application.EnableEvents = False Me.Cells(r, "E").ClearContents Me.Cells(r, "E").Select Application.EnableEvents = True End If End If End If End If End Sub ملفك بعد التطبيق :- مخزن 1.xlsb
  15. طلبى بالضبط ان أستطيع ادخال اى كمية لاى صنف طالما اقل أو يساوى الرصيد المتاح لنفس الصنف ومنع ادخال اى كمية لأى صنف طالما العدد يتعدى المتاح من هذا الصنف
  16. لم أفهم المشكلة في المطلوب والتنفيذ .. فلو أدخلت قيمة أكبر من المتاح في رصيد الصنف في المخزن ، سيظهر لك رسالة التنبيه وستمنع ادخال الكمية 🤔 إلا إذا كان لك طلب آخر ولم توضحه جيداً أخي الكريم . علك توضح بشكل أكثر تفسيراً لمطلبك حتى لو كان شرحك بـ 100 سطر 😇 أو قد نجد مداخلة من أحد الأساتذة والأخوة بالتوضيح والحل دون استخدام الأكواد !!!
  17. جربت طبعا ونفس النتيجة .بارك الله فيك
  18. طيب تمام ، جرب غير نوع الرسالة الى Stop :- بدلاً من :-
  19. لم أجرب مرفقك ، وكانت مداخلتي دون تجربة ملفك . والحمد لله الذي هداك بالعودة لهذا السطر
  20. تمام بعد مداخلتك لفت نظري سطر فى كود فتح النموذج الأول frm_Pass Private Sub Form_Open(Cancel As Integer) fSetAccessWindow (SW_HIDE) ' إلغاء خاصية ضغط البيانات فى خيارات برنامج أكسس قبل تشغيل التطبيق Application.SetOption "Auto compact", False Me.txtPass.SetFocus End Sub فتم تعديله مؤقتاً بوضع علامة Rem على سطر المشكلة ' إلغاء خاصية ضغط البيانات فى خيارات برنامج أكسس قبل تشغيل التطبيق ' Application.SetOption "Auto compact", False وتم الحل يبدو أننى تعجلت فى وضع مشكلة قبل البحث بجدية
  21. مداخلة سريعة .. أعتقد أن السبب هو في جملة الإغلاق DoCmd.Quit ، وبما أنك أخفيت واجهة آكسيس ، فجملة الإغلاق هذه تجعل آكسيس يتخطى ويتجاوز الضغط والإصلاح لمنع تجمد أو حدوث Crash لواجهة آكسيس . لذا اعتقد ان تفعيل الخاصية يدوياً من خلال السطر :- Application.SetOption "Auto Compact", True في حدث عند التحميل أو الفتح ( حسب الحدث الذي تستدعي فيه جملة Hide Access Window يتم وضعه قبلها طبعاً ) في النموذج الأول ، وأيضاً استعمالها بالإستدعاء نفسه قبل جملة الاغلاق DoCmd.Quit في أي زر يقوم بإغلاق الواجهة .. وستلاحظ أن الخيار يبقى مفعلاً في القاعدة .
  22. تظهر الرسالة معى ولكن هذا ليس المطلوب بالضبط ولكنى اريد كما أوضحت سلفاً ان كان رصيد منتج معين هو 7 احتاج عند الإدخال ان اتمكن حتى ادخال 7 للكمية ولا يمكن أدخال اى كمية أعلى وأكثر من 7 لهذا المنتج بارك الله فى جهودكم وياريت تكون بدون أكواد VBA ان أمكن ذلك .. الا ما اضطررنا لذلك
  23. هل ظهرت لك رسالة التنبيه بأن الكمية غير صحيحة ؟؟ هذه محاولتي .. إلا إذا أردت الذهاب إلى الأكواد والـ VBA 😅
  24. السلام عليكم كما يعلم الجميع إن تأشير ميزة الضغط عند الإغلاق الموجودة فى خيارات أكسس أفضل من كتابة كود بهذا الخصوص حتى لا يتضخم الملف كلما تم تشغيله لكن عند تشغيل ملف أكسس باستخدام كود Hide Access Window تجد أن علامة ضغط عند الإغلاق قد تم إزالتها ما أقصده موضح بالصورة التالية أو أرفقت ملف حتى يتم تجربته من خلالكم قد يكون هناك كود يعمل على تلك الإزالة ولم أتوصل إليه .. وإذا كانت الإجابة بالنفى أكون فى فى انتظار حل بديل شاكر اهتمامكم مقدماً db.mdb
  25. شكرا جزيلا لجهود سيادتكم العظيمة , ولكن عندما تم ادخال كمية أكبر من المتاح لكود المنتج رقم 8 فقد قبل معى الإدخال كما ترى بالصورة المرسلة فأصبح الرصيد لهذا المنتج -1 وهذا لا يمكن ان يحدث ..فاذا كان الرصيد المتاح مثلا لأى منتج 7 فأريد ان ادخل أى رقم من 1 : 7 ولكن لا يمكن الإدخال لكمية أكبر من المتاح وهو 7 ولكم جزيل الشكر
  26. ما تم تعديله على الملف :- عمود الوارد H (إجمالي المشتريات) في ورقة المخزن :- =SUMIFS('الحركات اليومية'!$E$3:$E$800,'الحركات اليومية'!$B$3:$B$800,$B3,'الحركات اليومية'!$D$3:$D$800,"شراء") عمود الصادر G (إجمالي المبيعات) في ورقة المخزن :- =SUMIFS('الحركات اليومية'!$E$3:$E$800,'الحركات اليومية'!$B$3:$B$800,$B3,'الحركات اليومية'!$D$3:$D$800,"بيع") في ورقة الحركات اليومية تم ضبط Data Validation للعمود E ليصبح :- =OR($D3="شراء",$E3<=VLOOKUP($B3,المخزن!$B$3:$I$800,8,FALSE)) أيضاً في الـ Data Validation تم ضبط رسالة الخطأ لتصبح :- أيضاً في الخلية C3 في ورقة الحركات اليومية ، تم ضبط الخلية لتجلب اسم الصنف تلقائياً من خلال المعادلة :- =IFERROR(VLOOKUP(B3,المخزن!$B$3:$C$800,2,FALSE),"") الآن جرب ملفك بإدخال حركة شراء لصنف معين ، وحركة بيع لهذا الصنف ، ولاحظ عملية تحديث الرصيد له في ورقة المخزن . ومن ثم جرب ادخال حركة بيع لكمية أكبر من رصيد الصنف هذا وراقب النتيجة . الملف جربه علي أكون قد وُفقت في تعديلاتي البسيطة مخزن 1.xlsb
  1. أظهر المزيد
×
×
  • اضف...

Important Information