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

egyman

عضو جديد 01
  • Posts

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

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

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

  1. أشكرك أخي التقني و جزاك الله خيراً
  2. البرنامج رائع ... و لكن لا يوجد به ملف صوت للجرس .... شباب ملف صوت جرس مدرسي لله.....
  3. رمضان كريم ارسل و سنكون لك من الشاكرين إن شاء الله
  4. egyman

    جرس

    بسم الله الرحمن الرحيم شباب أعرف أن هذا ليس المكان المناسب لطرح سؤالي .. و لكني لا أعرف مكان أخر قمت بعمل برنامج صغير لمدرسة يقوم البرنامج بتشغيل صوت جرس على مواعيد الحصص و البرنامج تمام و الحمد لله و اللى ناقص ملف صوت الجرس فهل أجد عنكم ضالتى و شكراً :d
  5. بسم الله الرحمن الرحيم أتفق مع أخي rudwan تحليل ممتاز لماذا لا نكون فريق عمل و نبدأ على بركة الله
  6. أولاً : بود أشكر الأستاذ أبو هادي على الملف المرفق و على حرصه على نشر العلم بين أفراد المنتدي و بالطبع الشكر كل الشكر للأستاذ أبو هاجر و لكن يا شباب أنا عندي مشكلة ::: منذ ما يقرب من شهر و نصف قمت بتحميل ملف من متندى أجنبيى يؤدى نفس الوظيفة و الملف شغال و ذي الفل المشكلة بقي ... فى الطباعة العميل عنده طابعة Printer card حجم الورقة in CR 80 2.13 × 3.38 فقمت بتصغير ورقة التقرير لتتناسب مع مساحة ورقة الطابعة و لكنها أيضاُ لا تطبع بشكل جيد فهل عند أحدكم خبرة فى طباعة الكروت البلاستيك على أحد الطابعات مثل طابعتى و شكراً لكم أنتظر ردودكم بفارغ الصبر
  7. السلام عليكم و رحمة الله و بركاته أخي أسير الغربة أود أولاً أن أنصحك بأن تسمي أدواتك بحروف أو أسماء إنجليزية حتى لا تقع فى مشكلة أثناء كتابة الكود و سأفترض معك أن أداة القائمة المنسدلة تسمي Gender --> الجنس قم بإضافة الكود التالي على زر الحفظ If me.gender = "ذكر" then me.t = 1 me.h = 0 else me.t = 0 me.h = 1 endif أرجوا أن يكون ذلك ما تريد
  8. Me.FilterOn = False Me.CODE.Enabled = True المشكلة كانت فى السطر التالي .. حيث كان حقل الكود غير ممكن Me.CODE.SetFocus DoCmd.FindRecord dd, , , True, , acCurrent Me.DATE.SetFocus Me.CODE.Enabled = False Me.Recordset.MovePrevious If Me.Recordset.BOF() Then Me.Recordset.MoveFirst End If
  9. شباب السهل يمكن سهل بس صدقونى مش سهل .... عندي فورم للدخلو عليه بقوم بعمل Filter على السجل المطلوب داخل الجدول المرتبط بالنموذج تمام لغاية هنا المشكلة ان عندي أزرار للتنقل بين السجلات للذهاب لأول سجل أو لأخر سجل لا يوجد مشكلة المشكلة فى الذهاب للسجل التالي أو السابق شباب الموضوع مهم أرجوا ردودكم السريعة و شكراً
  10. السلام عليكم و رحمة الله و بركاته أخي العزيز إذا كنت قد استوعبت سؤالك جيداّ فأنت تبحث عن استخدام النموذج الفرعي sub report
  11. بسم الله الرحمن الرحيم لجعل التقرير ظهر كما فهمت بالشكل التالي نسخة (1) من (2) أي بإضافة الأقواس عن الشكل العادي نسخة 1 من 2 استخدم السطر التالي: ="نسخة (" & & ") من (" & [Pages] & ")" أرجوا ان يكون ذلك ما قصدت
  12. السلام عليكم ورحمة الله و بركاته شكرأ أخي رضوان لتفاعلك معي و لكن يا صديقي المشكلة ليسة في تكبير الشاشة لاستخدم الأمر الذي ذكرته أو حتى أن استخدم ماكروا لذلك أرجوا أن تجرب ذلك عملياً و ستعرف ما أقصد و شكراً لك :d
  13. السلام عليكم و رحمة الله و بركاته سؤالي هو قمت بتصميم بعض النماذج و كانت شاشتى 15 بوصة و عند نقلها إلى العميل ذو الشاشة 17 بوصة بالطبع لم تظهر بالشكل الجيد فهل عند أحدكم حل لعدم تكرار ذلك عند التصميم و شكراً
  14. السلام عليكم و رحمة الله و بركاته ... يا شباب أنا أعمل الأن على نظام للمخازن و حسابات المخزون و أردت أن أعرض الحسابات على شكل شجرة و على ما أعتقد أن ما أحتاج إليه هو ملف ocx فمن يملك هذا الملف أو طريقة للحل أرجوا ألا يبخل بها علينا جميعاً و شكراً
  15. السلام عليكم ورحمة الله و بركاته ........................................... أعزائي و أخوتي الكرام .. تم طرح موضوع التخلص من رسالة الخطأ التى تنشأ من حدث not in list الخاص بصندوق التحرير و السرد قبل ذلك و قد كان هناك ردود رائعة و لكن عندما قمت بتنفيذها لم تفلح فقمت بإعادة طرح الموضوع مرة أخري و أيضأ أخذت ردود لم تفلح ........................................................ والأن ...... ها هو الحل بعد طول بحث ........ :lol: ........................................................ قم بكتابة الكود التالي فى حدثnotinlist Private Sub cboStateJump_NotInList(NewData As String, Response As Integer) MsgBox "No matching State found..." & "Tamer" & "Please select a State from the list.", vbExclamation, "No Matching State Found" Response = acDataErrContinue End Sub أرجوا منكم تجربته و الدعاء لي بأن يهديني لله... و شكرأ لكم و للسادة المشرفين الذين لا يبخلوا بالمساعدة
  16. السلام عليكم ...................... شكرأ أخي سهيل على الرد فالرابط يؤدي بالفعل إلى الموضوع المطلوب و به ملفات يمكن تحميلها كأمثلة على الجهاز و لكن.............. :') عندما تحاول تشغيلها يعطي رسالة هذا الملف يتنسيق خاطي فإذا كنت تعرف الطريقة أفدنا بها و شكراً
  17. السلام عليكم يا شباب و الله الموضوع مهم .. و محتاج للبحث الجاد .. فكروا معي ما هو حال برامجنا الذي نوزعها على العملاء لتجد أن أحداً قد نسخها و غير اسمك من عليها حتي فى حالات اغلاق مفتاح الشفت ........................... الفكرة .... و قد رأيتها من قبل... .............................. هو كود يكتب داخل ملف تنفيذي يقوم بتحويل ملف الأكسيس إلى نسخة صالحة للإستخدام و عند إغلاق البرنامج يقوم الكود بتحويل النسخة إلى نسخة غير صالحة و شكراً
  18. السلام عليكم يا شباب الموضوع بسيط ... الفكرة هي انت مثلاً قمت بعمل برنامج يتكون من 10 شاشات (نماذج) و قد اخترت اللون الأزرق ليكون هو لون الخلفية لهذه النماذج ........................ الفكرة المطروحة هي : هل نستطيع أن نعرض شاشة بها ألوان للمستخدم ليختار هو بنفسه اللون المريح له ثم بعد ذلك يتغير ألوان خلفة الشاشات بالبرنامج إلى اللون الذي اختاره المستخدم ....................... و شكراً
  19. السلام عليكم و رحمة الله و بركاته .. يا شباب أنا عندي فكرة بس معرفش فعلاَ هي اتعملت قبل كده و لا لا و معرفش فعلاَ مدي تحقيقها و هى هلى يمكن أن أمكن المستخدم من تغيير لون خلفية النموذج و شكراَ
  20. السلام عليكم و رحمة الله و بركاته كل عام و أنتم و الأمة الإسلامية بخير إن شاء الله شباب لا أطيل عليكم أعرف أن المنتدي هو منتدي أكسيس و لكني أسئل عن كود كنت قد رأيته من قبل يقوم هذا الكود بالتالي: عند تنفيذ الكود يقوم بتشفير قاعدة البيانات بمعنى أنك لوحاولت فتح الملف ستظهر رسالة تفيد بعدم فهم صيغة الملف Unrecognze format و عند تشغيل الكود مرة ثانية يقوم بعملية إعادة تشفير الملف و تحويله إلى ملف أكسيس شباب أرجوا منكم المساعدة و شكراً لكم
  21. أعرف أن أسئليتى كثيرة و لكنه العشم يا شباب شباب عن طريق حدث onkeydown منع المستخدم من استخدام زر pageup , pagedown للتنقل بين السجلات و لكن المستخدم يستطيع أن يستخدم كرة الماوس (بكرة الماوس) فكيف نستطيع أن نمنع ذلك
  22. شكراً أخي سهيل على الرد و لكني كتبت كود للتفقيط و لكن المشكلة به : أنه يكتب ثلاث مئة : أربع مئة و كان المطلوب أن يكتب ثلاثمئة : أربعتمئة المهم إني حصلت من أحد المنتديات على كود أفضل من الذي كتبته و هو : v ضع هذا الكود فى حدث عند فقد التركيز لخانة المبلغ : Private Sub s_LostFocus() Me.تفقيط = B_Only(, 1, 0, 2, "ريال سعودي", "ريالات", 0, "هللة", "هللات", 4) End Sub v قم بإنشاء موديل جديد و انسخ به الكود التالي : Option Compare Database Option Explicit Public Const vArabic As Byte = 1 Public Const vEnglish As Byte = 2 Public Const vMale As Byte = 0 Public Const vFemale As Byte = 1 Function Delete(s As String, Index, Count As Integer) As String Delete = Left(s, Index - 1) + _ Mid(s, Index + Count, Len(s)) End Function Function Insert(Source, s As String, Index As Integer) As String Dim LPart, RPart As String LPart = Left(s, Index - 1) RPart = Mid(s, Index, Len(s)) Insert = LPart & Source & RPart End Function Function AddAnd(S1, S2, S3, And_ As String, Lang As Byte) As String Dim InAnd_, CollectS As String If Lang = vArabic Then InAnd_ = " " + And_ Else InAnd_ = And_ + " " If (S1 <> "") And (S2 <> "") Then And_ = InAnd_ Else And_ = "" CollectS = S1 + And_ + S2 If (CollectS <> "") And (S3 <> "") Then And_ = InAnd_ Else And_ = "" AddAnd = CollectS + And_ + S3 End Function Function S2Double(Single_ As Variant, Sex As Byte) As String Dim LLeter As Integer Dim k As Byte Dim Sngl_1, Sngl_2 As String k = InStr(1, Single_ & " ", " ") Sngl_1 = Left(Single_, k - 1) Sngl_2 = "" If k < Len(Single_) Then Sngl_2 = Mid(Single_, k + 1, Len(Single_)) End If If Sngl_2 <> "" Then If Right(Sngl_2, 1) = "ة" Then Sngl_2 = Left(Sngl_2, Len(Sngl_2) - 1) & "تان" Else Sngl_2 = Sngl_2 & "ان" End If End If If Sngl_1 <> "" Then LLeter = Asc(Right(Sngl_1, 1)) Select Case LLeter Case 201 ' "ة" Sngl_1 = Left(Sngl_1, Len(Sngl_1) - 1) & "تان" Case 236 ' "ى" Sngl_1 = Left(Sngl_1, Len(Sngl_1) - 1) & "يان" Case 199 ' "ا" Sngl_1 = Left(Sngl_1, Len(Sngl_1) - 1) & "وان" Case 193 ' "ء" If Right(Sngl_1, 2) = "اء" Then If Sex = 1 Then Sngl_1 = Left(Sngl_1, Len(Sngl_1) - 1) & "وان" Else Sngl_1 = Sngl_1 & "ان" End If End If Case Else If Sngl_1 <> "" Then Sngl_1 = Sngl_1 & "ان" End Select If Sngl_2 <> "" Then S2Double = Sngl_1 & " " & Sngl_2 Else S2Double = Sngl_1 End If End Function Function Fmale(Num, Sex As Byte, Female()) As String Dim Two(1 To 4) As String Dim InSex As Byte Two(1) = "أحد" Two(2) = "اثنان" Two(3) = "إحدى" Two(4) = "ة" Select Case Sex Case vMale: Select Case Num Case 1: Fmale = Mid(Female(1), 1, 4) Case 2: Fmale = Two(2) Case 8: Fmale = Female(Num) + "ي" + Two(4) Case 3 To 7, 9, 10: Fmale = Female(Num) + Two(4) Case 11: Fmale = Two(1) + " " + Female(10) Case 12: Fmale = Mid(Two(2), 1, 4) + " " + Female(10) Case 13 To 19: Fmale = Female(Num - 10) + Two(4) + " " + Female(10) End Select Case vFemale: Select Case Num Case 1 To 10: Fmale = Female(Num) Case 11: Fmale = Two(3) + " " + Female(10) + Two(4) Case 12: Fmale = Mid(Female(2), 1, 5) + " " + Female(10) + Two(4) Case 13 To 19: Fmale = Female(Num - 10) + " " + Female(10) + Two(4) End Select End Select End Function Function Tens(Num As Byte, Female()) As String Const Noon = "ون" Select Case Num Case 2: Tens = Female(10) + Noon Case 3 To 9: Tens = Female(Num) + Noon End Select End Function Function Hunds(Num As Byte, Female()) As String Const Hund = "مائة" Select Case Num Case 1: Hunds = Hund Case 2: Hunds = Mid(Hund, 1, 3) + Mid(Female(2), 4, 3) Case 3 To 9: Hunds = Female(Num) + Hund End Select End Function Function Tenteen(Num As Byte, ETens()) As String Const een = "een" Num = Num Mod 10 Select Case Num Case 3 To 9: Tenteen = Mid(ETens(Num), 1, Len(ETens(Num)) - 1) + een End Select End Function Function EHunds(Num As Byte, ESingle()) As String EHunds = ESingle(Num) + " hundred" End Function Function ReFormat(InNum As Double, Dec As Byte) As Double Dim NewFormat As String If Dec > 0 Then NewFormat = "0." Else NewFormat = "0" NewFormat = NewFormat & String(Dec, "0") ReFormat = Format(InNum, NewFormat) End Function Function ReStr(InNum As String) As String Dim k, Digits As Byte Dim Num_ As String Num_ = LTrim(InNum) k = InStr(1, Num_, "E+", 1) If k > 0 Then Digits = Val(Mid(Num_, k + 2, 3)) Num_ = Left(Num_, k - 1) Num_ = Delete(Num_, 2, 1) Do While Len(Num_) - 1 < Digits Num_ = Insert(Num_, "0", 1) Loop End If ReStr = Num_ End Function Function AOnly(Num_, FracS, Single_, Ploral_ As String, Parts, Sex, Dec As Byte) As String Const And_ As String * 1 = "و" Const Lang = vArabic Dim PartNum(0 To 5) As Long Dim Result1(0 To 5) As String Dim N1, N2, N3, TempI, Sex2, k As Byte Dim Only_ As String Dim OnlyPart As String Dim N1_, N2_ As String Dim N3_ As String Dim Part_ As String Dim TempS As String Dim Sngl_1, Sngl_2 As String Dim Female(1 To 10) As Variant Dim Parts_(0 To 11) As String If Val(Num_) = 0 Then If FracS = "" Then AOnly = RTrim("مسدد نقدي ") Exit Function Else AOnly = FracS & " " & Single_ End If Exit Function End If Female(1) = "واحدة" Female(2) = "اثنتان" Female(3) = "ثلاث" Female(4) = "أربع" Female(5) = "خمس" Female(6) = "ست" Female(7) = "سبع" Female(8) = "ثمان" Female(9) = "تسع" Female(10) = "عشر" Parts_(0) = "" Parts_(1) = "ألف" Parts_(2) = "مليون" Parts_(3) = "مليار" Parts_(4) = "ترليون" Parts_(5) = "كدرليون" Parts_(6) = "" Parts_(7) = "آلاف" Parts_(8) = "ملايين" Parts_(9) = "مليارات" Parts_(10) = "ترليونات" Parts_(11) = "كدرليونات" k = InStr(1, Single_ & " ", " ") Sngl_1 = Left(Single_, k - 1) Sngl_2 = "" If k < Len(Single_) Then Sngl_2 = Mid(Single_, k + 1, Len(Single_)) End If For k = 0 To Parts - 1 PartNum(k) = Val(Mid(Num_, (k * 3) + 1, 3)) Next k Sex2 = Sex For k = 0 To (Parts - 1) If k = (Parts - 1) Then Sex = Sex2 Else Sex = vMale TempS = Mid(Num_, (k * 3) + 1, 3) TempI = Val(Mid(TempS, 2, 2)) N1 = Val(Mid(TempS, 1, 1)) N2 = Val(Mid(TempS, 2, 1)) N3 = Val(Mid(TempS, 3, 1)) '{------------------------------------------} N1_ = "": N2_ = "": N3_ = "" If N1 > 0 Then N1_ = Hunds(CByte(N1), Female()) If PartNum(k) = 200 Then N1_ = Mid(N1_, 1, Len(N1_) - 1) Select Case TempI Case 1 To 2: If k = Parts - 1 Then If FracS <> "" Then N3_ = Fmale(N3, CByte(Sex), Female()) 'Sex Case 3 To 19: N3_ = Fmale(TempI, CByte(Sex), Female()) Case 20 To 99: N2_ = Tens(CByte(N2), Female()) If N3 > 0 Then N3_ = Fmale(N3, CByte(Sex), Female()) If (N3 Mod 10 = 1) And (Sex = vFemale) Then N3_ = "إحدى" End Select OnlyPart = AddAnd(N1_, N3_, N2_, And_, Lang) '{------------------------------------------} If PartNum(k) > 100 Then Select Case TempI Case 1, 2: OnlyPart = AddAnd(OnlyPart, Parts_(Parts - k - 1), "", "", Lang) End Select End If '{------------------------------------------} Part_ = "" If PartNum(k) > 0 Then Part_ = Parts_(Parts - k - 1) If Part_ <> "" Then Select Case TempI Case 2: Part_ = Part_ + "ان" Case 3 To 10: Part_ = Parts_((Parts - k - 1) + 6) Case 11 To 99: Part_ = Part_ + "ا" End Select End If End If '{------------------------------------------} If Part_ <> "" Then If TempI >= 1 And TempI <= 2 Then OnlyPart = AddAnd(OnlyPart, Part_, "", And_, Lang) Else OnlyPart = AddAnd(OnlyPart, Part_, "", "", Lang) End If End If Result1(k) = (OnlyPart) Next k '{------------------------------------------} N1_ = AddAnd(Result1(0), Result1(1), Result1(2), And_, Lang) N2_ = AddAnd(Result1(3), Result1(4), Result1(5), And_, Lang) Only_ = AddAnd(N1_, N2_, "", And_, Lang) If FracS <> "" Then If Only_ <> "" Then FracS = " " + FracS Only_ = AddAnd(Only_, FracS, "", And_, Lang) End If If Only_ <> "" Then If Mid(Only_, Len(Only_), 1) = "ا" Then If Mid(Only_, Len(Only_) - 1, 2) <> "تا" Then Only_ = Mid(Only_, 1, Len(Only_) - 1) End If End If If TempS = "000" Then If Mid(Only_, Len(Only_) - 1, 2) = "ان" Then Only_ = Mid(Only_, 1, Len(Only_) - 1) End If End If End If '{------------------------------------------} If FracS = "" Then Select Case TempI Case 0: If Only_ <> "" Then Only_ = AddAnd(Only_, Single_, "", "", Lang) Case 1: Only_ = AddAnd(Only_, AddAnd(Single_, Fmale(1, CByte(Sex), Female()), "", "", Lang), "", And_, Lang) Case 2: Only_ = AddAnd(Only_, AddAnd(S2Double(Single_, CByte(Sex)), Fmale(2, CByte(Sex), Female()), "", "", Lang), "", And_, Lang) Case 3 To 10: If Sngl_2 <> "" Then If Right(Sngl_2, 1) = "ة" Then Only_ = AddAnd(Only_, Ploral_, Sngl_2, "", Lang) Else Only_ = AddAnd(Only_, Ploral_, Sngl_2 & "ة", "", Lang) End If Else Only_ = AddAnd(Only_, Ploral_, "", "", Lang) End If Case 11 To 99: If Sngl_1 <> "" Then Only_ = AddAnd(Only_, Sngl_1, "", "", Lang) N1_ = Mid(Only_, Len(Only_), 1) Select Case N1_ Case "ة", "ى", "ا" Case Else Only_ = Only_ + "ا" End Select N1_ = Mid(Only_, Len(Only_) - 2, 3) 'هذا الشرط لحل مشكلة عدم التمييز بين "ء" و "ل" 2004/06/03 If N1_ = "اءا" And Asc(Right(Sngl_1, 1)) = 193 Then Only_ = Left(Only_, Len(Only_) - 1) End If If Sngl_2 <> "" Then If Right(Only_, 1) = "ا" Then Only_ = AddAnd(Only_, Sngl_2 & "ا", "", "", Lang) Else Only_ = AddAnd(Only_, Sngl_2, "", "", Lang) End If Else Only_ = AddAnd(Only_, Sngl_2, "", "", Lang) End If End If End Select Else Only_ = AddAnd(Only_, Sngl_1, Sngl_2, "", Lang) End If AOnly = (Only_) End Function Function EOnly(Num_, FracS, Single_ As String, Parts, Dec As Byte) As String Const Lang = vEnglish Dim ESingle(1 To 12) As Variant Dim ETens(2 To 9) As Variant Dim EParts_(0 To 5) As String Dim TempS As String Dim N1, N2, N3, TempI, Sex2 As Byte Dim N1_, N2_, N3_ As String Dim OnlyPart, Part_, Only_ As String Dim Leng, k As Integer Dim PartNum(0 To 5) As Long Dim Result1(0 To 5) As String If Val(Num_) = 0 Then If FracS = "" Then EOnly = LTrim(Single_ & " zero") Else EOnly = Single_ & " " & FracS End If Exit Function End If ESingle(1) = "one" ESingle(2) = "two" ESingle(3) = "three" ESingle(4) = "four" ESingle(5) = "five" ESingle(6) = "six" ESingle(7) = "seven" ESingle(8) = "eight" ESingle(9) = "nine" ESingle(10) = "ten" ESingle(11) = "eleven" ESingle(12) = "twelve" ETens(2) = "twenty" ETens(3) = "thirty" ETens(4) = "forty" ETens(5) = "fifty" ETens(6) = "sixty" ETens(7) = "seventy" ETens(8) = "eighty" ETens(9) = "ninety" EParts_(0) = "" EParts_(1) = "thousund" EParts_(2) = "million" EParts_(3) = "billion" EParts_(4) = "trillion" EParts_(5) = "quadrillion" For k = 0 To Parts - 1 PartNum(k) = Val(Mid(Num_, (k * 3) + 1, 3)) Next k For k = 0 To (Parts - 1) TempS = Mid(Num_, (k * 3) + 1, 3) TempI = Val(Mid(TempS, 2, 2)) N1 = Val(Mid(TempS, 1, 1)) N2 = Val(Mid(TempS, 2, 1)) N3 = Val(Mid(TempS, 3, 1)) '{------------------------------------------} N1_ = "": N2_ = "": N3_ = "" If N1 > 0 Then N1_ = EHunds(CByte(N1), ESingle()) Select Case TempI Case 1 To 12: N3_ = ESingle(TempI) Case 13 To 19: If N3 > 0 Then N3_ = Tenteen(CByte(TempI), ETens()) Case 20 To 99: N2_ = ETens(N2) If N3 > 0 Then N3_ = N2_ + "-" + ESingle(N3) N2_ = "" End If End Select OnlyPart = AddAnd(N1_, N2_, N3_, "", Lang) '{------------------------------------------} Part_ = "" If PartNum(k) > 0 Then Part_ = EParts_(Parts - k - 1) If Part_ <> "" Then Part_ = EParts_((Parts - k - 1)) End If Result1(k) = AddAnd(OnlyPart, Part_, "", "", Lang) Next k '{------------------------------------------} N1_ = AddAnd(Result1(0), Result1(1), Result1(2), "", Lang) N2_ = AddAnd(Result1(3), Result1(4), Result1(5), "", Lang) Only_ = AddAnd(N1_, N2_, "", "", Lang) Leng = Len(Only_) Only_ = AddAnd(Only_, FracS, "", " and", Lang) If Only_ <> "" Then Only_ = AddAnd(Single_, Only_, "", "", Lang) EOnly = Only_ End If End Function Function S_Only(InNum As Variant, Lang, FracType As Byte) As Variant Dim Num_ As String Dim k, Dec As Byte Dim FType As Byte If IsNull(InNum) Then S_Only = Null Exit Function End If Num_ = Str(InNum) k = InStr(1, Num_, ".", 1) If k > 0 Then Dec = Len(Num_) - k If Dec < 2 Then Dec = 2 Else Dec = 0 End If FType = FracType If FType <> 2 Then FType = 1 S_Only = B_Only(InNum, Lang, 0, Dec, "", "", 0, "", "", FType) End Function Function B_Only(InNum As Variant, Lang, Sex, Dec As Byte, Single_, Ploral_ As String, _ FSex As Byte, SFrac, PFrac As String, FracType As Byte) As Variant Dim Leng, Parts, k As Byte Dim FracVal As Double Dim Num_ As String Dim FracS As String Dim FracNum As String Dim Only As String If IsNull(InNum) Then B_Only = Null Exit Function End If Num_ = Str(InNum) If InStr(1, Num_, "E+", 1) > 0 Then Num_ = ReStr(Num_) FracVal = 0 GoTo DoProcess End If Num_ = ReFormat(Val(InNum), Dec) k = InStr(1, Num_, ".", 1) If k > 0 Then FracS = "0" & Mid(Num_, k, Dec + 1) Else FracS = "" FracVal = Val(FracS) Num_ = Trim(Str(Fix(InNum))) Do While Len(FracS) < Dec + 2 FracS = Insert(FracS, "0", 1) Loop DoProcess: If FracVal = 0 Then FracS = "" FracNum = Trim(Mid(FracS, 3, Len(FracS))) If FracS <> "" Then Select Case FracType Case 2 Select Case Lang Case vArabic: FracS = "1" & String(Dec, "0") & "/" & Format(FracNum, String(Dec, "0")) Case vEnglish: FracS = Format(FracNum, String(Dec, "0")) & "/" & "1" & String(Dec, "0") End Select Case 3 FracS = FracNum & " " & SFrac If Lang = vEnglish And CDbl(FracNum) > 1 Then FracS = FracS & "'s" Case 4 Leng = Len(FracNum) Parts = Fix((Leng + 2) / 3) For k = 1 To (Parts * 3) - Leng FracNum = Insert("0", FracNum, 1) Next k Select Case Lang Case vArabic: FracS = AOnly(FracNum, "", SFrac, PFrac, Parts, FSex, FracType) Case vEnglish: FracS = EOnly(FracNum, "", "", Parts, 0) & " " & SFrac If CDbl(FracNum) > 1 Then FracS = FracS & "'s" End Select End Select End If Leng = Len(Num_) Parts = Fix((Leng + 2) / 3) For k = 1 To (Parts * 3) - Leng Num_ = Insert("0", Num_, 1) Next k If Len(Num_) > 18 Then B_Only = InNum Exit Function End If Select Case FracType Case 1, 2 Select Case Lang Case vArabic: Only = AOnly(Num_, FracS, Single_, Ploral_, Parts, Sex, Dec) Case vEnglish: Only = EOnly(Num_, FracS, Single_ & "", Parts, Dec) End Select Case 3, 4 Select Case Lang Case vArabic: Only = AOnly(Num_, "", Single_, Ploral_, Parts, Sex, Dec) If CDbl(Num_) = 0 And FracS <> "" Then Only = "" If FracS <> "" Then Only = AddAnd(Only, FracS, "", "و ", CByte(Lang)) Case vEnglish: Only = EOnly(Num_, "", Single_ & "", Parts, Dec) If CDbl(Num_) = 0 And FracS <> "" Then Only = "" If FracS <> "" Then Only = AddAnd(Only, FracS, "", " and", CByte(Lang)) End Select End Select If Only <> "" Then Select Case Lang Case vArabic: B_Only = "فقط " & Only Case vEnglish: B_Only = Only & " only" End Select End If End Function أرجوا أن يستفيد منه الجميع و لا تنسوا صاحب الكود من الدعاء
  23. يا شباب أنا في ورطة مع الوقت قمت بعمل شاشة تعمل كواجهة للفواتير و المطلوب مني الأن هو تفقيط الفاتورة فهل أجد عندكم كود التفقيط و لكم جزيل شكري
  24. السلام عليكم و رحمة الله وبركاته أخي سهل بارك الله لك لردك علي و لردودك على باقي الأحوة و لكن ما سألت عنه طرح من قبل و قد رأيته و رأيت ردك في هذا الموضوع و لكن ما تم التوصل إليه فى هذا الموضوع هو نفس ما توصلت إليه و هو استخدام docmd.setwarning off و لكنها أيضاُ غير كافيه و هذا والله موضوع هام لمن يريد أن يسوق لبرامجه لتظهر بشكل احترافي بارك الله لك و للأخوة و من عنده حل أو طريقة للحل فلا يبخل بالمشاركة .. و شكراً للجميع
×
×
  • اضف...

Important Information