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

Moosak

أوفيسنا
  • Posts

    2175
  • تاريخ الانضمام

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

  • Days Won

    55

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

  1. انتهيت ولله الحمد 😄 للتحميل من المرفقات ( دعوة للتجربة وإبداء الرأي ) 😊: الروزنامة الأسبوعية.accdb
  2. أخي علي أنهيت 90% تقريبا من العمل ولله الحمد ..🙂 بقي لدي سؤال .. هل ستكون الأيام من السبت الى الجمعة؟.. أم من الأحد إلى الخميس ؟
  3. نقاش رائع أساتذتنا @احمد الفلاحجي @Eng.Qassim ☺️ أخي بلال وضعته لك في مثال 🙂 : تضع الدالة على مصدر صندوق النتيجة هكذا : =DateDiff("yyyy";DateAdd("yyyy";3;[From]);[To]) التواريخ.accdb
  4. في أحد برامجي صممت شيء مشابه لذا الموضوع نوعا ما .. ولكنه يحتاج لشغل محترم للتنفيذ 👌🏼 سأحاول أن أمشي معك خطوة خطوة للتنفيذ ..
  5. أخي بلال ضع مرفقك أو صور لنا كيف طبقتها ..
  6. وعليكم السلام ورحمة الله وبركاته أخي علي ..🙂 نحتاج للمزيد من التفاصيل عن آلية العمل علي الروزنامة والهدف منها؟ هل هي أسبوعية أم شهرية ؟ وعدد الأعمدة والصفوف بالضبط ؟ وما نوع البيانات التي ستكتب ؟
  7. لا تلومني العتب على النظر 😂 لا هذي يبغالها شرح عملي 😏
  8. وعليكم السلام ورحمة الله وبركاته الأخ بلال 🙂 هذه الجزئية غير واضحة ! على الرغم من ذلك جرب هذه المعادلة : DateDiff("yyyy", DateAdd("yyyy", 3, date1), Date2) date1 = تاريخ التعيين Date2 = تاريخ الانتهاء
  9. أكتب الأمر هكذا على زر الطباعة : DoCmd.OpenReport "reprint1", acViewPreview, , "[ID] =" & Me.ID
  10. فيه فكرة في بالي لعمل الفواصل 🙂 وهي انشاء استعلام من عمود واحد ويكون مصدره الجدول .. في هذا العمود يتم جمع جميع أعمدة الجدول والفصل بينهم بالفاصلة هكذا : [Field1] & " ," & [Field2] وبعدها يتم تصدير الاستعلام .. والتجربة خير برهان 👌🏼
  11. تفضل أخي السهران 🙂 تم تعريف متغير عام في موديول يحفظ اسم النموذج الأخير ، ومن ثم يستدعيه مجددا عند إغلاق النموذج frm visbelform.accdb
  12. أتفق معك أخي @مبرمج سابق😉👌🏻 وصمتك في هذا الحال هو صمت غير محمود 😏 اصدح بما لديك ودعنا ننهل مما علمك الله .
  13. وأنا أيضا أشتغل معي صوتين فقط ولا أدري لماذا ! 😅 ولكن لاستخدام الكود .. تضعه في موديول مستقل ثم تنادي الصوت المطلوب بهذه الطريقة ( نفس المثال الذي في الكود الأصلي) : BeepType MB_ICONHAND والمثال عليك
  14. شكرا أخي العزيز @أبو عبدالله الحلوانى 🙂 نفعنا الله بك ، وزادك الله من واسع فضله وفتح لك أبواب الخيرات والبركات والأرزاق . 🤲
  15. بعد إذنك أستاذي @عمر ضاحى لدي فكرة تغنيك عن عمل الكثير من الاستعلامات 🙂 هو موديول واحد فيه جملة SQL وتجعل أسماء الجداول عبارة عن متغير كل مرة يتغير حسب الاسم اللي في القائمة المنسدلة . وبعدها يشغل جملة ال SQL حسب المعطيات 🙂 طبعا هذا مع توافق أن جميع أسماء الحقول متشابهة في الجداول الثلاثة ..
  16. وهذه أخرى : 🙂 Function ConversionHeures(Nombre As Integer) As String If Nombre = 0 Or Nombre = 24 Then ConversionHeures = "Minuit " Exit Function ElseIf Nombre = 12 Then ConversionHeures = "Midi " Exit Function End If Const stEspace As String = " " Dim Varnum, VarnumD, VarnumU, Resultat, Varlet Static Chiffre(1 To 19) Chiffre(1) = "une" Chiffre(2) = "deux" Chiffre(3) = "trois" Chiffre(4) = "quatre" Chiffre(5) = "cinq" Chiffre(6) = "six" Chiffre(7) = "sept" Chiffre(8) = "huit" Chiffre(9) = "neuf" Chiffre(10) = "dix" Chiffre(11) = "onze" Chiffre(12) = "douze" Chiffre(13) = "treize" Chiffre(14) = "quatorze" Chiffre(15) = "quinze" Chiffre(16) = "seize" Chiffre(17) = "dix-sept" Chiffre(18) = "dix-huit" Chiffre(19) = "dix-neuf" Static dizaine(1 To 9, 1 To 5) dizaine(1, 1) = "dix" dizaine(2, 1) = "vingt" dizaine(3, 1) = "trente" dizaine(4, 1) = "quarante" dizaine(5, 1) = "cinquante" dizaine(6, 1) = "soixante" dizaine(7, 1) = "soixante" dizaine(8, 1) = "quatre-vingt" dizaine(9, 1) = "quatre-vingt" Resultat = "" Varnum = Int(Nombre) Mod 1000 If Varnum > 0 Then GoSub centaine_dizaine Resultat = Resultat + " " + Varlet End If Resultat = LTrim(Resultat) Varlet = Right$(Resultat, 4) 'traitement du "s" final pour vingt et cent Select Case Varlet Case "cent", "ingt" Resultat = Resultat + "s" End Select FinTraitement: Resultat = Resultat + stEspace 'renvoi du résultat de la fonction et fin de la fonction ConversionHeures = Replace(Resultat, " ", " ") Exit Function 'sous programme centaine_dizaine: Varlet = "" 'traitement des centaines If Varnum >= 100 Then Varlet = Chiffre(Int(Varnum / 100)) Varnum = Varnum Mod 100 If Varlet = "un" Then Varlet = "cent " Else Varlet = Varlet + " cent " End If End If 'traitement des dizaines If Varnum <= 19 Then If Varnum > 0 Then: Varlet = Varlet + Chiffre(Varnum) Else VarnumD = Int(Varnum / 10) VarnumU = Varnum Mod 10 Varlet = Varlet + dizaine(VarnumD, 1) If VarnumU = 1 And VarnumD < 8 Then Varlet = Varlet + " et " Else If VarnumU <> 0 Or VarnumD = 7 Or VarnumD = 9 Then: Varlet = Varlet & " " End If If VarnumD = 7 Or VarnumD = 9 Then: VarnumU = VarnumU + 10 If VarnumU <> 0 Then: Varlet = Varlet + Chiffre(VarnumU) End If Varlet = Trim(Varlet) Return End Function
  17. وجدت لك هذه الدالة أخي هيجو 🙂 Public Function Chiffrelettre(s) Dim a As Variant, gros As Variant a = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _ "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", _ "dix huit", "dix neuf", "vingt", "vingt et un", "vingt deux", "vingt trois", "vingt quatre", _ "vingt cinq", "vingt six", "vingt sept", "vingt huit", "vingt neuf", "trente", "trente et un", _ "trente deux", "trente trois", "trente quatre", "trente cinq", "trente six", "trente sept", _ "trente huit", "trente neuf", "quarante", "quarante et un", "quarante deux", "quarante trois", _ "quarante quatre", "quarante cinq", "quarante six", "quarante sept", "quarante huit", _ "quarante neuf", "cinquante", "cinquante et un", "cinquante deux", "cinquante trois", _ "cinquante quatre", "cinquante cinq", "cinquante six", "cinquante sept", "cinquante huit", _ "cinquante neuf", "soixante", "soixante et un", "soixante deux", "soixante trois", _ "soixante quatre", "soixante cinq", "soixante six", "soixante sept", "soixante huit", _ "soixante neuf", "soixante dix", "soixante et onze", "soixante douze", "soixante treize", _ "soixante quatorze", "soixante quinze", "soixante seize", "soixante dix sept", _ "soixante dix huit", "soixante dix neuf", "quatre-vingts", "quatre-vingt un", _ "quatre-vingt deux", "quatre-vingt trois", "quatre-vingt quatre", "quatre-vingt cinq", _ "quatre-vingt six", "quatre-vingt sept", "quatre-vingt huit", "quatre-vingt neuf", _ "quatre-vingt dix", "quatre-vingt onze", "quatre-vingt douze", "quatre-vingt treize", _ "quatre-vingt quatorze", "quatre-vingt quinze", "quatre-vingt seize", "quatre-vingt dix sept", _ "quatre-vingt dix huit", "quatre-vingt dix neuf") gros = Array("", "billions", "milliards", "millions", "mille", "Dirhams", "billion", _ "milliard", "million", "mille", "Dirhams") sp = Space(1) chaine = "00000000000000" centime = s * 100 - (Int(s) * 100) s = Str(Int(s)): lg = Len(s) - 1: s = Right(s, lg): lg = Len(s) If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = "" s = chaine + s 'billions au centaines gp = 1 For k = 1 To 5 x = Mid(s, gp, 1): C = a(Val(x)) x = Mid(s, gp + 1, 2): D = a(Val(x)) If k = 5 Then If t2 <> "" And C & D = "" Then mydz = "Euros" & sp: GoTo fin If t <> "" And C = "" And D = "un" Then mydz = "un Euros" & sp: GoTo fin If t <> "" And t2 = "" And C & D = "" Then mydz = "d'Euros" & sp: GoTo fin If t & C & D = "" Then myct = "": mydz = "": GoTo fin End If If C & D = "" Then GoTo fin If D = "" And C <> "" And C <> "un" Then mydz = C & sp & "cents " & gros(k) & sp: GoTo fin If D = "" And C = "un" Then mydz = "cent " & gros(k) & sp: GoTo fin If D = "un" And C = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin If D <> "" And C = "un" Then mydz = "cent" & sp If D <> "" And C <> "" And C <> "un" Then mydz = C & sp & "cent" + sp myct = D & sp & gros(k) & sp fin: t2 = mydz & myct t = t & mydz & myct mydz = "": myct = "" gp = gp + 3 Next D = a(centime) If t <> "" Then myct = IIf(centime = 1, " centime", " centimes") If t = "" Then myct = IIf(centime = 1, " centime d'Euro", " centimes d'Euro") If centime = 0 Then D = "": myct = "" Chiffrelettre = t & D & myct End Function ولكن تأكد من تعطيل خيار Option Explicit لأن في الكود الكثير من المتغيرات الغير معرفة .. 😅🖐🏼️
  18. بعد البحث وجدت لك هذا الكود أخي @alsihran يحضر لك بقية الأصوات 🙂 'API Declaration Private Declare PtrSafe Function MessageBeep& Lib "user32" (ByVal wType As Long) 'Enumeration of the beep types Public Enum BeepTypes MB_OK = &H0& MB_ICONASTERISK = &H40& MB_ICONEXCLAMATION = &H30& MB_ICONHAND = &H10& End Enum Public Function BeepType(lSound As BeepTypes) As Long ' Function to return BeepType = MessageBeep(lSound) End Function Sub TestTheBeep() ' Play the beep BeepType MB_ICONHAND ' BeepType MB_ICONEXCLAMATION ' BeepType MB_ICONASTERISK ' BeepType MB_OK End Sub الدالة الأخيرة تختبر لك الأصوات الأخرى TestTheBeep()
  19. أهلا أخي العزيز 🙂 هناك عشرات المواضيع التي تتكلم عن نفس الموضع 🙂 ، أنظر هنا : https://www.officena.net/ib/search/?q=تفقيط&quick=1&type=forums_topic&nodes=89
  20. وعليكم السلام ورحمة الله وبركاته 🙂 أهلا وسهلا بك أخي @Mohamed ElGanainy في ربوع منتدانا 🙂 🌹 حبذا أن ترفق ملف الأكسس في موضوعك أخي محمد للتمكن من فهم الفكرة عملياً 🙂
  21. وعليكم السلام أخي حاتم .. 🙂 هل تقصد التعديل في هذا الحقل ؟ إن كان كذلك .. فغير مصدره هكذا : =Nz([1].[Form]![A])+Nz([3].[Form]![C])+Nz([2].[Form]![B]) sum.accdb
  22. لا فض فوك عمي جعفر 😊 إذا هذا هو الحل الأنسب والأسهل . ولكن سأبقي حقل نوع المؤشر لتسهيل الفهم على المستخدم ومآرب أخرى 😁 بارك الله فيك وكثر من أمثالك 🙂🌹
×
×
  • اضف...

Important Information