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

Foksh

الخبراء
  • Posts

    2,358
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    85

كل منشورات العضو Foksh

  1. معلمي القدير وأستاذنا الجليل @ابوخليل :- في الدالة Now ، لن ينجح الأمر والسبب باعتقادي هو احتواء التنسيق على حروف غير مسموح بها كإسم لملف أو مجلد = " : " وهو النقطتين هذا رأيي ما لم يكن هناك سبب آخر ، حيث أنه في التنسيق المصاحب للدالة Now في الأكواد تم ضبط التنسيق بإزالة النقطتين . لم انتبه لرد الأستاذ @محمد احمد لطفى ، فلم يكن الرد موجوداً قبل ردي واعتقد أنني كنت في الصفحة مسبقاً ولم أعمل تحديث
  2. أعتقد أنه يمكنك ذلك ، من خلال الكود التالي ، قم بالتجربة والرجوع بالنتيجة ( لأنني لا استوعب فكرة أم تكون السنة 360 ، أو اعتبار أن جميع الشهور 30 يوم ) Function DateDiff360(date1 As Date, date2 As Date) As Long Dim monthsDiff As Long monthsDiff = DateDiff("m", date1, date2) Dim daysDiff As Long daysDiff = DateDiff("d", DateAdd("m", monthsDiff, date1), date2) DateDiff360 = monthsDiff * 30 + daysDiff End Function ويتم الإستدعاء كالتالي :- Dim daysDifference As Long daysDifference = DateDiff360([Date1], [Date2])
  3. ومشاركة مع الأستاذ محمد لطفي ، قمت بإنشاء دالة واحدة يتم استدعائها في اي من الزرين لتنفيذ المهمة حسب الزر . Private Sub أمر17_Click() ExportReport "PDF", Me.Namea.Value End Sub Private Sub أمر18_Click() ExportReport "RTF", Me.Namea.Value End Sub Private Sub ExportReport(formatType As String, userName As String) On Error Resume Next Dim fileName As String fileName = userName & " - " & Format(Now(), "yyyy-mm-dd") & " " & Format(Now(), "hh nn AM/PM") & IIf(formatType = "PDF", ".pdf", ".doc") Dim filePath As String filePath = CurrentProject.Path & "\" & fileName DoCmd.OutputTo acOutputReport, namerpts, IIf(formatType = "PDF", acFormatPDF, acFormatRTF), filePath, True, , , acExportQualityPrint End Sub ملفك بعد التعديل ( شريط طباعة.accdb )
  4. أنصحك بفتح موضوع مستقل لطلبك حتى تلقى الإجابة المطلوبة
  5. وعليكم السلام ورحمة الله وبركاته ،، فقط استبدل مصدر سجلات النموذج الفرعي ، بالإستعلام التالي ( SQL ) :- SELECT s10.g10s1, s10.g1s1, s10.g1s29, s10.g1s30 FROM s10 WHERE (((s10.g1s1)=[Forms]![copy2]![g1s1]) AND ((s10.g1s30)=(SELECT MAX(g1s30) FROM s10 WHERE g1s1 = [Forms]![copy2]![g1s1] ))); حيث تم اضافة شرطين للإستعلام دون تغيير أو تعديل أي شيء في تصميمك ، ولكني أنصحك بالإبتعاد عن المسميات المحجوزة في آكسيس مثل Copy لإنه اسم إجراء في آكسيس ؛ وهذا سيلافيك حدوث أخطاء ومشاكل في المستقبل . ملفك بعد التعديل : ( copy.accdb )
  6. اعتذر اختي الكريمه على عدم الرد ، بسبب العمل من جهة ، ومن جهة أخرى عند قراءة الكود لاحظت تكرار الحلقة For A = 1 To 1 وأعتقد انك لست بحاجة لتكرارها وقد يكون هناك إمكانية لتنفيذ الحلقه التكرارية مرة واحدة على ما أعتقد. كل الاحترام والتقدير لشخصك الكريم 😇
  7. تصديقاً وتأكيداً لكلامك أستاذي الفاضل هو فعلاً في إحدة تجاربي عثرت على هذا الاسم prscs ، ولم يخطر في بالي أنه هو 🥺 فتجاهلته وافترضت انه الفاصل بين اسماء القوائم الرئيسية 🤦 ولكن فعلاً معلمنا قدها ، وجاب الذيب من ذيله 🙏
  8. ارفق ملف اخي الكريم
  9. - ما المقصود بالربط من قاعدة 1 الى آخر قاعدة 36 ؟؟؟؟؟؟ - ما علاقة Dlookup البحث عن سجل بالربط !!! - عند الاستعلام يلحق الى جدول الثالث يلتف من القاعدة الاولى الى اخر قاعدة !!!! حاولت الربط بين الأفكار ولم استدل على المعنى والمطلوب .
  10. إن كنت في البداية قد فهمت المطلوب ، فالآن للأسف لم افهم
  11. يعني على فرضاً ان لديك 10 قواعد بيانات ( واحدة منها الرئيسية ، والـ 9 الباقيات هن قواعد بيانات الجداول ) ، وتريدين استخدام الدالة DLookup للبحث عن سجل محدد داخل جدول محدد ، بحيث يقوم الكود ( الذي تريدينه ) بالبحث عن هذا السجل ولكن داخل جميع قواعد البيانات الخلفية ( الخاصة بالجداول ) !!!!!!!!!!!!!!!!!! أتمنى أن لا يكون هو المقصود
  12. ومشاركة مع معلمي الأفاضل ، دعني أضيف قطرة من بحر علمهم 😇 . يمكننا باستخدام دالة Mid والتي تستخدم لاستخراج جزء معين من النص ، وعلى افتراض أن اسم الحقل النصي هو MyDate ، يمكنك استخدام الاستعلام التالي لاستخراج السنة : SELECT MyDate, Mid(MyDate, InStrRev(MyDate, "/") + 1, 4) AS YearNum FROM YourTable; * طبعاً مع تغيير اسم الجدول أيضاً في YourTable ؛ و أيضاً لم أقم بمشاهدة ملف الأستاذ محمد لطفي أيضاً 🤗 إن كان قد استخدم اسلوب الاستعلام . واذا أردنا توسيق الفكرة كما أشار المعلم الفاضل الأستاذ جعفر ، قد نجعل الاستعلام بهذا الشكل ايضاً بحيث مع اختلاف اتجاه كتابة التاريخ ( من اليمين لليسار أو العكس ) أو ايضاً بدلاً من الفاصل "/" يمكن ان يكون "-" على سبيل المثال , SELECT MyDate, IIf(InStr(MyDate, "-") > 0, Left(MyDate, 4), IIf(Len(MyDate) = 10, IIf(Left(MyDate, 4) Like "####", Left(MyDate, 4), Right(MyDate, 4)), Null) ) AS YearNum FROM YourTable;
  13. حاولت الوصول إلى معنى واضح ، لكن ما قدرت 😅 اذا امكن اختنا الفاضله انك توضحي طلبك بشكل بسيط حتى لو 10000 جملة 😇 المهم انك توصلي فكرة السؤال والطلب ببساطة
  14. وعليكم السلام ورحمة الله وبركاته ,, اخي الكريم انت استخدمت الدالة DLookup لجلب رقم المقترض ( على ما أعتقد ) بناءً على اسم الموظف في الكومبوبوكس ، هل هذا صحيح ؟؟ وبإمكانك بدلاً من ذلك استخدام نفس مصدر الكومبوبوكس com1 ولكن هنا سنختار العمود رقم 2 حيث :- ( العمود 0 = اسم الموظف ، والعمود 1 = الجهة ، والعمود 2 = رقم المقترض ) ، لذا تم استبدال الجملة التالية :- Me.n2 = DLookup("[num]", "karz", "nam LIKE '*" & Me.com1 & "*'") بالجملة :- Me.n2 = com1.Column(2) أيضاً تم إجراء تعديل بسيط على عدد الأعمدة في الكومبوبوكس com1 وعرض كل عمود ؛ كما في الصورة :- الملف بعد التعديل القرضة الحسنة اصدار 31.zip
  15. ومشاركة مع أستاذي الجليل @jjafferr Me.YourTextBox = UCase(Me.YourTextBox)
  16. وعليكم السلام ورحمة الله وبركاته .. ارفق ملف أخي الكريم ( وهذا مهم جداً ) ، وكمحاولة جرب التعديل البسيط التالي :- Me.n2 = DLookup("[num]", "karz", "nam LIKE '*" & Me.com1 & "*'") سيبحث التعديل السابق عن أي جزء من النص ، وبالتالي قد يكون أكثر دقة إذا كانت هناك تباينات في الكتابة أو أخطاء بسيطة في البيانات .
  17. تم الاطلاع مسبقاً اخي الكرم .. Cal error.accdb
  18. أخي الكريم مؤيداً لما تفضل به معلمينا ، و وجهة نظر أخرى .. فإذا كانت القيمة المطلوبة هي نتيجة قسمة حقلين مختلفين استناداً إلى شروط معينة ، يمكننا تعديل كودك بحيث يستخدم دالة DLookup للحصول على القيمتين ثم يقسمهما مباشرةً ، ومن ثم يقوم بتقريب الناتج وحفظه في الحقل المطلوب. جرب الكود التالي :- Private Sub Command7_Click() Dim value1 As Variant Dim value2 As Variant Dim result As Variant value1 = DLookup("result", "Table1", "[code] = 33") value2 = DLookup("result", "Table1", "[code] = 36") If Not IsNull(value1) And Not IsNull(value2) And value2 <> 0 Then result = Round(value1 / value2, 3) Me.C = result Else MsgBox "قيم غير صحيحة" End If End Sub جرب وأخبرنا بالنتيجة ..
  19. بسم الله ، ما شاء الله على الجمال والحركات الرهيبة .. إناء العسل لا يعطي طعم غير العسل ، وهذه نقطة من ابداعاتك مهندسنا الأستاذ @Moosak
  20. وعليكم السلام ورحمة الله وبركاته ،، جرب استخدام هذا الكود في محرر الأكواد VBA اضغط ( ctrl + G ) ، ثم اكتب السطر التالي :- CommandBars("Property Sheet").Enabled = True
  21. رحم الله والديك ، وجعل لهم من الجنات نصيبا .. عمل جميل أستاذنا @SEMO.Pa3x
  22. لا اعلم ما هي تسلسل الأحداث في مشروعك ، ولكن هذه الطريقة التي اعتمدها من زمااان ولم أواجه بها أي مشكلة ؛ كما وجدت أنها تغنيني عن أكواد أو دوال كثيرة قد لا يكون لها ضرورة
  23. وعليكم السلام ورحمة الله وبركاته ، من وجهة نظري قد يكون هناك أكثر من فكرة ! ولكن رأيت أفضلها ما يلي :- دالة تقوم بالبحث عن آخر رقم فاتورة ( مثل Dmax أو أكواد الـ VBA ) تعمل فقط بإنشاء رقم الفاتورة عند الضغط على زر الحفظ فقط !! وليس عند تحميل النموذج أو أي حدث آخر . بمعنى أوضح ، لنفترض انك قمت بفتح سجل فاتورة جديدة وتم إضافة الأصناف .... إلخ . وفي جهاز مستخدم آخر نفس الفكرة ، وكان رقم آخر فاتورة 99 ، أنت على جهازك على النقر على زر دفع فاتورة أو حفظ فاتورة ... إلخ سيتم انشاء رقم الفاتورة في مربع نص رقم الفاتورة قبل عملية الحفظ للفاتورة ( وهنا سنستغل البطئ اللحظي في الشبكة الداخلية على سبيل المثال ) لإنشاء رقم الفاتورة الجديد 100 . ✔ وللتجربة جرب انشاء فاتورة على جهازين مختلفين على الشبكة لديك ، وبنفس اللحظة 🕕 قم بالنقر على الزرين حفظ أو دفع للفاتورة ( بنفس الوقت ) ولاحظ ارقام الفاتورة بين السجلين
  24. اخي الكريم ، بدايةً أهلا وسهلاً بك معنا في عالمنا المتواضع .. هناك عدة نقاط يجب أن تنتبه لها كي تبدأ بداية طيبة وسليمة وصحيحة ، أساعدك في فهمها :- وجوب وجود حقل مفتاح أساسي وهنا تم التعديل على ملفك بانشاء جدول مستقل للمستخدمين ، وربطه بمفتاح UserID مع الجداول .. اذا كان الهدف هو تسجيل التعديلات لكل مستخدم ، فهنا سيكون لديك جدول لتسجيل رقم واسم المستخدم ليتم بعدها التفرع بالجدول الخاص بتسجيل الحركات . وهنا سيكون الحذف مقرون برقم الموظف كونه مفتاح أساسي . في التقرير ما الهدف من تحقيق المطلوب ان كان وظيفة التقرير هو عرض البيانات وتهيئتها للطباعة أو للمتابعة !!!! قم بتصويب الأمور بشكل صحيح وستجد ان مشكلتك تم حلها ببساطة .
×
×
  • اضف...

Important Information