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

نجوم المشاركات

  1. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      9

    • Posts

      6,818


  2. sandanet

    sandanet

    الخبراء


    • نقاط

      7

    • Posts

      1,366


  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      6

    • Posts

      3,491


  4. النجاشي

    النجاشي

    05 عضو ذهبي


    • نقاط

      5

    • Posts

      1,900


Popular Content

Showing content with the highest reputation on 21 فبر, 2018 in all areas

  1. تم التعديل لتيحث عن اي (حرف او حروف) اينما وجدت العامود G m Salim1.xlsx
    2 points
  2. اجبت فأوجزت ووفيت بارك الله لكم استاذى الحبيب واخى الكريم استاذ @sandanet واذكركم يا دكتور @حلبي بهذا الموضوع فى هذ الموضوع يتم جلب الصور من الكمبيوتر الى مجلد بمسار قاعدة البيانات لتصبح الصور مرتبطة وليست مضمنه بداخلها كما تفضل الاستاذ الحبيب @sandanet
    2 points
  3. نعم اخي الكريم الصورة بالتأكيد تزيد من حجم قاعدة البيانات اذا كانت محفوظة داخل البرنامج وهو مايطلق عليها "صورة مضمنة" اما اذا كانت صورة مرتبطة اي ان البرنامج يقرأ مسارها من الجدول حيث ان الصورة تكون مخزنة في مجلد بجانب البرنامج حينها لن يكون لها تأثير على حجم البرنامج تحياتي
    2 points
  4. لله الامر من قبل ومن بعد فهو المعطى والمانع والواهب الرزاق ووالله لا تدرى انا احيانا ابحث عن ردود لاجابة اخواننا التى لا اعرف عنها شئ واظل ابحث فى المنتديات العربية والاجنبية احيانا بالساعات والايام حتى احاول ان البى حاجة صاحبها عله فى حاجة ماسة وضيق بسبب حاجته والا لما طلبها فوالله لا تعلم قد يرزقنى انا الله تعالى باكتساب العلم فقط لاجل هذا السائل ولولاه لما رزقت فلا تدرى من يرزق بسبب من احمد الله واشكر فضله وتوكل عليه دائما واستبشر بالخير ان شاء الله تجده محبكم واخيكم فى الله
    2 points
  5. السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير اطلب المسامحة ممن راسلني ولم يجد رد مني هديتي لكم بعد هذه الغيبة Option Explicit '========================================================" ' بسم الله الرحمن الرحيم " '========================================================" ' (دالة تحويل الرقم الى نص باللغة العربية (تفقيط " ' kh_TextNum " '========================================================" 'Num الرقم " '========================================================" 'sex جنس العملة " 'FALSE ( فارغ او صفر مذكر ) " 'TRUE ( أو اي رقم غير الصفر مؤنث ) " '========================================================" 'sNameCurr اسم العملة الرئيسية مفرد " 'pNameCurr اسم العملة الرئيسية جمع " 'NameCurrDec اسم العملة الكسرية " 'Decimal_Count طول الكسر افتراضـياً : بدون اظهار الكسر " '===============================================================================================================================================" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" '===============================================================================================================================================" ' ملاحظات ' (اولاً : العملة الرئيسية مثنى (يقوم بها الكود تلقائيا ' مع ملاحظة اذا اسم العملة ينتهي بالتاء المربوطة ' يجب ان يكتب كذلك وليس بالهاء ' ----------------------- ' ثانياً : اذا كانت العملة الرئيسية مفرد فارغاً تعتبر ' اسماء العملات (الجمع والكسري) فارغة تلقائيا ' ----------------------- 'ثالثاً : الكلمة الابتدائية بامكانك تغييرها او تجعلها فارغة Private Const MyBegTx As String = "فقط " ' "" ' ----------------------- ' MyTNum رابعا : يمكنك التغيير (اضافة,حذف,تحرير) في الثابت ' للفئات الصفرية للرقم ادناه Private Const MyTNum As String = "ألف-آلاف/مليون-ملايين/مليار-مليارات/بليون-بلايين/بليار-بليارات/ترليون-ترليونات/تريليار-تريليارات/كدرليون-كدرليونات" '===============================================================================================================================================" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" '===============================================================================================================================================" Function kh_TextNum(Num As String, Optional sex As Boolean = False, Optional sNameCurr As String = "", Optional pNameCurr As String = "", Optional NameCurrDec As String = "", Optional Decimal_Count As Byte = 2) As String Dim Spp, zt Dim i%, ii%, pr% Dim MyMid$, nCurr$, Txt$, Txt1$, Txt2$ '====================================== If Not IsNumeric(Num) Then GoTo kh_Exit Spp = Split("/" & MyTNum, "/") ii = UBound(Spp) If Num < 0 Then Num = Abs(Num) '====================================== If Val(Num) > Val(String((ii + 1) * 3, "9") & ".999") Then GoTo kh_Exit '====================================== nCurr = sNameCurr & "-" & IIf(pNameCurr = "", sNameCurr, IIf(sNameCurr = "", "", pNameCurr)) '====================================== Txt1 = Format(Num, String((ii + 1) * 3, "0") & ".000") For i = 0 To ii MyMid = Mid(Txt1, (i * 3) + 1, 3) If MyMid Then zt = Mid(Txt1, (i * 3) + 4, Len(Txt1)) zt = IIf(ii - i, Int(zt), zt) Txt2 = IIf(ii - i, Trim(Spp(ii - i)), nCurr) pr = 1 + IIf(ii - i, 1, CInt(sex)) Txt = Txt & IIf(Len(Txt), " و", "") & kh_nText(MyMid, Txt2, pr, zt, CBool(sNameCurr <> "")) End If If i = ii Then If MyMid = 0 Then Txt = Txt & IIf(Len(Txt), " ", "صفر ") & sNameCurr Next '====================================== Txt = MyBegTx & Txt & kh_dText(Num, sNameCurr, NameCurrDec, Decimal_Count) '====================================== kh_Exit: kh_TextNum = Trim(Txt) End Function ' معالجة العدد من 1 الى 999 لكل فئات الرقم Private Function kh_nText(ByVal iNum As String, ByVal oMm As String, ByVal ibs As Integer, ByVal z As Boolean, ByVal tCu As Boolean) As String Dim Sp Dim Num1%, Num2%, Num3% Dim oM$, S$, S1$, nT$, nT0$, nT1$, nT2$ '====================================== Sp = Split("واحد,إحدى,اثنتان,ثلاث,أربع,خمس,ست,سبع,ثمان,تسع,عشر,إحدى ,اثنتا ", ",") '====================================== If ibs Then S = "ة": Sp(1) = Sp(0): Sp(2) = "اثنان": Sp(11) = "أحد ": Sp(12) = "اثنا " Else S1 = "ة" oM = Trim(Split(oMm, "-")(0)) '====================================== Num1 = Left(iNum, 1) Num2 = Right(iNum, 2) Select Case Num1 Case 1: nT0 = "مائة" Case 2: nT0 = "مائتا" & IIf(ibs = 2, IIf(Num2 < 3, "", "ن"), IIf(Num2 = 0 And oM <> "", "", "ن")) Case 3 To 9: nT0 = Sp(Num1) & "مائة" End Select '========================================= Num1 = Right(iNum, 2) Select Case Num1 Case 1, 2: If nT0 <> "" Then If ibs = 2 Then nT0 = nT0 & " " & oM Case 11 To 99: If oM <> "" Then If ibs Then If z Then oM = oM & "اً" End Select '----------------------------------------- Select Case Num1 Case 1 nT = IIf(oM = "", Sp(0) & S1, oM) oM = IIf(ibs <> 2 And oM <> "", Sp(0) & S1, "") Case 2 nT = IIf(oM = "", Sp(Num1), Replace(oM, "ة", "ت") & IIf(z = 0 And ibs = 2 And tCu, "ا", "ان")) oM = IIf(ibs <> 2 And oM <> "", Sp(Num1), "") Case 3 To 10 oM = Trim(Split(oMm, "-")(1)) nT = Sp(Num1) & S Case 11, 12 nT = Sp(Num1) & Sp(10) & S1 Case 13 To 19 nT = Sp(Num1 - 10) & S & " " & Sp(10) & S1 Case 20 To 99 Num2 = Right(Num1, 1) Num3 = Left(Num1, 1) If Num3 = 2 Then nT1 = "عشرون" Else nT1 = Sp(Num3) & "ون" nT2 = Sp(Num2) & IIf(Num2 > 2, S, "") & " و" & nT1 If Num2 = 0 Then nT2 = nT1 nT = nT2 End Select '====================================== S = IIf(nT = "" Or iNum < 100, "", " و") nT = Replace(nT, Sp(8) & "ة", Sp(8) & "ية") kh_nText = Trim(nT0 & S & nT & " " & oM) '====================================== End Function ' معالجة الكسر Private Function kh_dText(ByVal dNum As String, ByVal NCur As String, ByVal Ndec As String, ByVal co As Byte) As String Dim Td$, Td1$ On Error GoTo 1 If NCur = "" Then Ndec = "" Td = Format(Round(CCur(dNum - Int(dNum)), co), "0." & String(co, "0")) If Td = 0 Or Td = 1 Then Td1 = "": GoTo 1 If Len(Ndec) Then Ndec = " " & Ndec: Td1 = Td * CVar("1" & String(co, "0")) Else Ndec = " " & NCur: Td1 = Td Td1 = " و " & Chr(40) & Td1 & Chr(41) & Ndec 1: kh_dText = Td1 End Function دالة تحويل الرقم الى نص عربي.rar ================================================= الملف المعدل: هذا المرفق بامكانية تفقيط الكسر وامكانية ادخال كلمة نهاية النص دالة تحويل الرقم الى نص عربي.rar ================================================= رابط مباشر للملف
    1 point
  6. السلام عليكم تفضل اخي العزيز ابو زاهر بالتوفيق عمليه حسابيه.rar
    1 point
  7. يمكنك عمل ذلك لكن عن طريق تخزين قيمة x في الريجستري في الويندوز وفي كل مرة يتم فتح البرنامج على نفس الجهاز يتم قراءة الرجيستري اولاً فإن كانت القيمة صحيحة يكمل فتح البرنامج وهكذا كما يمكنك تخزين قيمة x في جدول البرنامج نفسه وتقوم بتشفيرها حتى لايتم معرفة قيمتها وهذه الطريقة سوف تجعل البرنامج يعمل اينما كان وعلى اي جهاز مادامت قيمة x صحيحة أيهما تفضل؟
    1 point
  8. هل تريد هذا ام ماذا تريد بالتفصيل ممكن تعطينا صور عن ماذا تريد او وضح اكثر اذا هذا لا يكون المطلوب القي نظرتا الى كويرى 1 توزيع تكراري ادارات.rar
    1 point
  9. اتفضل تم تغيير نوع الحقل لحقل رقم سند القبض من تيكست الى نمبر Private Sub الرقم_الوظيفي_BeforeUpdate(Cancel As Integer) If DCount("*", "البيانات", "[رقم سند القبض]=" & Me.الرقم_الوظيفي) > 0 Then MsgBox "الرقم مکرر" Cancel = -1 End If End Sub طابة 3 - Copy.rar
    1 point
  10. أخي سلمان ما فائدة جعل المتغير x ثابت على طول حتى وان اغلقنا قاعدة البيانات؟ في الواقع هذا لايخدم البرنامج وذلك لانه لو تم حفظ قيمة x = true بشكل دائم حتى بعد إغلاق البرنامج فهذا يعني ان البرنامج مفعل وسيتم فتحه بشكل دائم حتى لو كان كود التفعيل غير صحيح وهذا لانرغب به نحن هدفنا هو جعل البرنامج يتحقق من كود التفعيل اولاً في كل مرة يتم فتح البرنامج فإن كان صحيحاً يضع x = true والا فإن x = false وان تخزن قيمة x في الذاكرة طالما برنامجنا مفتوح لذلك قمنا بتعرف x كمتغير عام (اي طالما البرنامج شغال) كذلك اراد الاخ كاسر ان لايتم فتح اي نموذج من نماذج البرنامج الا بعد التحقق من صحة تسجيل البرنامج وهذا يتم عن طريق x = true ايضاً فيكفي ان نضع if في حدث عند الفتح لأي نموذج لنتحقق من قيمة x التي في الذاكرة فإذا كانت true افتح النموذج بشكل طبيعي والا قم بإظهار رسالة ان البرنامج غير مسجل ومن ثم افتح نموذج التسجيل تحياتي
    1 point
  11. لا اعرف لکن هناك طريقة بديلة اليك هذا الرابط
    1 point
  12. بسم الله الرحمن الرحيم بعد التحية والسلام : الاخوة الاعزاء فى منتدى أوفيسنا‎ من مشرفين واعضاء اتمنا ان تكونو جميعا بصحة وعافية اخوتى الاعزاء لايسعنى الا ان اشكركم فى كلمات لااجدها بحيث توفى حقكـــــــم وماتبذلونه من جهد من اجل ايصال وتعليم وتوجيه بطرق بسيطة وواضحة جعلة الله لكم دخرا وان تكون صدقة جارية اخوتى ان هذا المنتدى اعتبره هو صديقى وقت الضيق وهو المتنفس لى عند الضيق . اخواتى اتمنى ان تستمرو على هذا النهج وفقكم الله . السلام عليكم ورحمة الله بركته
    1 point
  13. فعلا استاذ هذه السطور هي السؤولة عن رسم الكلمة الان اصبح الموضوع معقد أكثر هل هناك برنامج او شفرة معينة تجعلني اكتب الكلام الذي اريده ان يظهر
    1 point
  14. اعتقد من الافكتس الخاصة بالطابعة
    1 point
  15. قام الاستاذ @منتصر الانسي بكتابة النص بواسطة الكود شوف هذا هو الكود لكتابة ( قيد مقفل ) Public Sub RptLockedOpr(Rpt As Report) On Error Resume Next Dim RptWidth As Double Dim RptHight As Double Rpt.ScaleMode = 7 Rpt.DrawMode = 3 Rpt.DrawStyle = 0 Rpt.ForeColor = RGB(0, 0, 255) Rpt.DrawWidth = 10 RptWidth = (Rpt.ScaleWidth - 2) / 2 RptHight = Rpt.ScaleHeight / 2 Rpt.Line (RptWidth + 5.5, RptHight - 9)-(RptWidth + 6, RptHight - 9.5) Rpt.Line (RptWidth + 6, RptHight - 9.5)-(RptWidth + 9.5, RptHight - 6) Rpt.Line (RptWidth + 9.5, RptHight - 6)-(RptWidth + 3.5, RptHight - 0) Rpt.Line (RptWidth + 3.5, RptHight - 0)-(RptWidth + 2, RptHight - 1.5) Rpt.Line (RptWidth + 2, RptHight - 1.5)-(RptWidth + 3.5, RptHight - 3) Rpt.Line (RptWidth + 3.5, RptHight - 3)-(RptWidth + 3.25, RptHight - 3.25) Rpt.Line (RptWidth + 2.75, RptHight - 3.25)-(RptWidth + 1.5, RptHight - 2) Rpt.Line (RptWidth + 1.5, RptHight - 2)-(RptWidth + 1.5, RptHight - 3) Rpt.Line (RptWidth + 1.5, RptHight - 3)-(RptWidth + 2.5, RptHight - 4) Rpt.Line (RptWidth + 3.5, RptHight - 4)-(RptWidth + 4, RptHight - 3.5) Rpt.Line (RptWidth + 4, RptHight - 3.5)-(RptWidth + 5, RptHight - 4.5) Rpt.Line (RptWidth + 5, RptHight - 4.5)-(RptWidth + 4.5, RptHight - 5) Rpt.Line (RptWidth + 4.5, RptHight - 5)-(RptWidth + 4.5, RptHight - 6) Rpt.Line (RptWidth + 4.5, RptHight - 6)-(RptWidth + 5.5, RptHight - 5) Rpt.Line (RptWidth + 5.5, RptHight - 5)-(RptWidth + 7.5, RptHight - 7) Rpt.Line (RptWidth + 7.5, RptHight - 7)-(RptWidth + 7, RptHight - 7.5) Rpt.Line (RptWidth + 7, RptHight - 7.5)-(RptWidth + 6, RptHight - 6.5) Rpt.Line (RptWidth + 6, RptHight - 6.5)-(RptWidth + 5.5, RptHight - 7) Rpt.Line (RptWidth + 6, RptHight - 8.5)-(RptWidth + 6.5, RptHight - 8) Rpt.Line (RptWidth + 6.5, RptHight - 8)-(RptWidth + 6, RptHight - 7.5) Rpt.Line (RptWidth - 0, RptHight - 1)-(RptWidth + 0.5, RptHight - 1.5) Rpt.Line (RptWidth + 0.5, RptHight - 1.5)-(RptWidth + 3, RptHight + 1) Rpt.Line (RptWidth + 3, RptHight + 1)-(RptWidth - 3.5, RptHight + 7.5) Rpt.Line (RptWidth - 4, RptHight + 8)-(RptWidth - 8, RptHight + 4) Rpt.Line (RptWidth - 8, RptHight + 4)-(RptWidth - 8, RptHight + 3) Rpt.Line (RptWidth - 8, RptHight + 3)-(RptWidth - 5, RptHight + 6) Rpt.Line (RptWidth - 5, RptHight + 6)-(RptWidth - 3.5, RptHight + 4.5) Rpt.Line (RptWidth - 3.5, RptHight + 4.5)-(RptWidth - 4, RptHight + 4) Rpt.Line (RptWidth - 4, RptHight + 4)-(RptWidth - 5, RptHight + 5) Rpt.Line (RptWidth - 5, RptHight + 5)-(RptWidth - 5.5, RptHight + 4.5) Rpt.Line (RptWidth + 0.5, RptHight - 0.5)-(RptWidth + 1, RptHight + 0) Rpt.Line (RptWidth + 1, RptHight + 0)-(RptWidth + 0.5, RptHight + 0.5) Rpt.Line (RptWidth - 5.5, RptHight + 2.5)-(RptWidth - 5, RptHight + 2) Rpt.Line (RptWidth - 5, RptHight + 2)-(RptWidth - 3, RptHight + 4) Rpt.Line (RptWidth - 3, RptHight + 4)-(RptWidth - 1.5, RptHight + 2.5) Rpt.Line (RptWidth - 1.5, RptHight + 2.5)-(RptWidth - 2, RptHight + 2) Rpt.Line (RptWidth - 2, RptHight + 2)-(RptWidth - 3, RptHight + 3) Rpt.Line (RptWidth - 3, RptHight + 3)-(RptWidth - 3.5, RptHight + 2.5) Rpt.Line (RptWidth - 3.5, RptHight + 0.5)-(RptWidth - 3, RptHight + 0) Rpt.Line (RptWidth - 3, RptHight + 0)-(RptWidth - 1, RptHight + 2) Rpt.Line (RptWidth - 1, RptHight + 2)-(RptWidth - 0, RptHight + 1) Rpt.Line (RptWidth - 3, RptHight + 1)-(RptWidth - 2.5, RptHight + 1.5) Rpt.Line (RptWidth - 2.5, RptHight + 1.5)-(RptWidth - 3, RptHight + 2) Rpt.Line (RptWidth - 5, RptHight + 3)-(RptWidth - 4.5, RptHight + 3.5) Rpt.Line (RptWidth - 4.5, RptHight + 3.5)-(RptWidth - 5, RptHight + 4) Rpt.Circle ((RptWidth + 6.5), (RptHight - 8)), 0.7, , 2.35, 3.9 Rpt.Circle ((RptWidth + 6.5), (RptHight - 8)), 1.4, , 2.35, 3.9 Rpt.Circle ((RptWidth + 3), (RptHight - 3)), 0.35, , 0.8, 2.35 Rpt.Circle ((RptWidth + 3), (RptHight - 3.5)), 0.7, , 0.8, 2.35 Rpt.Circle ((RptWidth + 1), (RptHight + 0)), 0.7, , 2.35, 3.9 Rpt.Circle ((RptWidth + 1), (RptHight + 0)), 1.4, , 2.35, 3.9 Rpt.Circle ((RptWidth - 2.5), (RptHight + 1.5)), 0.7, , 2.35, 3.9 Rpt.Circle ((RptWidth - 2.5), (RptHight + 1.5)), 1.4, , 2.35, 3.9 Rpt.Circle ((RptWidth - 4.5), (RptHight + 3.5)), 0.7, , 2.35, 3.9 Rpt.Circle ((RptWidth - 4.5), (RptHight + 3.5)), 1.4, , 2.35, 3.9 Rpt.Circle ((RptWidth - 5), (RptHight + 8)), 1, , 3.5, 6.28318530718 Rpt.Circle ((RptWidth - 4.5), (RptHight + 8.5)), 1.4, , 3, 0.8 Rpt.Circle ((RptWidth + 5.5), (RptHight - 9.6)), 0.35 Rpt.Circle ((RptWidth + 5), (RptHight - 9.1)), 0.35 Rpt.Circle ((RptWidth - 3.5), (RptHight - 0.1)), 0.35 Rpt.Circle ((RptWidth - 4), (RptHight + 0.4)), 0.35 Rpt.Circle ((RptWidth - 5.7), (RptHight + 2.1)), 0.35 Rpt.Circle ((RptWidth + 7), (RptHight - 2.5)), 0.35 Rpt.Circle ((RptWidth + 6.5), (RptHight - 2)), 0.35 End Sub
    1 point
  16. السلام عليكم ورحمة الله وبركاته اولا لان عندك حقل بياخذ الوقت الحالي بالساعة والتاريخ نحن هنا لا نحتاج الحقل التاريخ ثانيا انا اضفت حقل ترقيم في جدولك ومتسلسل حسب حقل الوقت والتاريخ اي تم ترتيب حقل الوقت والتاريخ وبعدين اضفت حقل ترقيم و عملت الترقيم ثالثا تم عم هذا الاستعلام الحذف DELETE Emp_data.id, Emp_data.Emp_time, DateDiff("s",[Emp_time],DLookUp("[Emp_time] ","Emp_data","[Emp_data]![id]=" & [id]+1)) AS Expr1 FROM Emp_data WHERE (((DateDiff("s",[Emp_time],DLookUp("[Emp_time] ","Emp_data","[Emp_data]![id]=" & [id]+1)))<60)); اولا افتح استعلام العادي لكي تنظر الى السجلات وبعدين اذا تريد قم بفتح استعلام الحذف مرة واحدة اليك الملف Del_record (2).rar
    1 point
  17. السلام عليكم و رحمة الله وبركاته بعد الشكر الجزيل لأخي نبيل على الحل الرائع جزاه الله خيرا هذه فكرة اخرى للحل تعدد الأفكار يفيد الجميع ا شاء الله ممكن تضع التنسيقات في ورقة اخرى تضع التنسيق الحالي و التنسيق المطلوب اثناء الطباعة يقوم الكود بنسخ التنسيق فقط ووضعه للخلايا التي تم تحديدها وطبع الخلايا التي تم تحديدها ثم ينسخ التنسيق القديم و وضعه للخلايا التي تم تهديدها كما في المرفق حدد الصفوف التي تريد طباعتها شرط ان تكون من a الى G فقط ثم اضغط زر الطابعة طباعة-تغيرالتنسيق - ارجاع التنسيق السابق AZ.xls
    1 point
  18. بارك الله فيك اخي العزيز تفضل التعديل بالمرفق ... لاحظ وجود المعايير تحت حقل الكمية و حقل الاضافة بالتوفيق Qry2.rar
    1 point
  19. شكرا جزيلا اخي العزيز سليم هذا هو المطلوب دمت بهذا الابداع ودي والورد
    1 point
  20. الف شكرا على المساعدة وجاري التجربة
    1 point
  21. اهلا اهلا اهلا اخى الحبيب @sandanet دائما كعادتك المجامل المبالغ بكلماته الطيبة دائما ترفع معنوياتنا بطيب قلبكم جزاكم الله خيرا اشتاقت نفسي للقياكم اخى الحبيب
    1 point
  22. ونعم بالله استاذي الكريم وهذا يدل على طيبك كرمك بميزان حسناتك الله يعطيك العافيه ويرزقك من حيث لا تحتسب احبك الله بنا احببتنا فيه شكر اليك يالغالي
    1 point
  23. ماشاء الله عليك استاذنا الفاضل ابا جودي ابداع منقطع النظير كالعادة
    1 point
  24. الأخ الفاضل ابا جودي إحساس طيب و موهبه جميلة ، دمج المعارف و تطويع الادوات بمقدرة شيئ جميل اذا ارتبط بحس مرهف ... أحسن الله اليك طابع الصور تطبيق جيد أستخدمه منذ فترة على احد اجهزة الشركة لدي ويعمل بشكل كافي ولكنني أحب الاتمتة ( التشغيل و السيطرة الكترونية ) أكثر خاصة للوسائط ( الطرف الثاني ) أقدر فيك المحبة و الانحياز المطلق للشيخ الفاضل أبا خليل ... جمعنا الله على المحبة و الاحترام شكرا
    1 point
  25. العفو منكم استاذى الجليل ومعلمى القدير ووالدى الحبيب اولا انا اقل طالب علم فى هذا الصرح الشامخ ثانيا والاهم اعرف اننى قد اكون فى عمر احد ابنائك او اقل فلقد قابلت احد الاحباء فى مكة المكرمة يعرفك وتقابل معك واخبرنى عنك فبالله ولله ارجوك احب ان انادى باسمى بدون اى القاب وان كان لابد احب ان القب باسم ابنتى ولا غير ذلك وفى الختام احبكم فى الله
    1 point
  26. رفع الله قدرك ، ووفقك لكل خير ، الف شكر استاذ محمد
    1 point
  27. الحمد والشكر لله سبحانه لولا قدره ربي ان وفقنا ان اجتمع بكم بهذا المنتدي الرائع لكنت عانيت الكثر والكثير فشكر لكماحبتي جميعا
    1 point
  28. الله يسلم حضرتك الحمد لله الذى تتم بنعمته الصالحات
    1 point
  29. تسلم يديك استاذي@ابا جودى نعم هذا المطلو ب بارك الله فيك وزادك الله علما ولا ننسا ان نقدم جزيل الشكر والعرفان للاستاذ الفاضل يوسف ما قصر السموحه كان الشرح غير وافي الف تحيه وشكر لكم استاتذتي الكرام
    1 point
  30. بعد اذن استاذى الجليل ومعلمى القدير الاستاذ @يوسف أحمد اتفضل يا استاذ @ابو زاهر اتمنى على الله تعالى ان يكون ده طلب حضرتك ان شاء الله تعالى للتوضيح - 2.accdb
    1 point
  31. الله يجزيك كل خير كم انت طيب القلب استاذنا ابو جودي السموحه من استاذنا الفاضل يوسف اننا لم اتتطرق لهبالشرح له من البدايه انه يكون مشروط برقم الفاتوره
    1 point
  32. تفضل أتمنى أن يكون هو المطلوب مطلوب ترحيل الناجحين والراسبين.rar
    1 point
  33. ابشر بالخير ان شاء الله
    1 point
  34. صحيح استاذي المعيار مختلف لانه القيمه 14 مرتجع و13 بيع فانا وضعت حقل serialfatwra بالا ستعلام الذي عملته لي فصار يجمع لي حسب الفاتوره تمام القي اليه النظره باذن الله تكون فهمتني فاعتقد الان المطلوب التعديل بالداله يضاف اليها الشرط serialfatwra كي تجلب حسب رقم الصنف ومن فاتوره بالاستعلام الذي عملته لي فاتوره A00002 لها صنف واحد 1-1 وبقيه الاصناف بالنموذج الصنف 2-2و3-3 لا يوجد لها قرين بالاستعلام يحمل نفس رقم الفاتوره رقمA00002 اذا اعطينا قيمه صفر اشكرك علي سعه صدرك استاذي الفاضل ربنا يعطيك العافيه للتوضيح.rar
    1 point
  35. يا أستاذ مصطفى مع احترامي الكامل لشخصكم الكريم يجب عليك أن تنزل الناس على قدر منازلهم والأستاذ سليم من عمالقة المنتدى ومن الساعين دوما لمساعدة الأخرين ومن فريق الموقع المنوط به الرد على استفساراتنا ومطالبنا وأظن أنك تعلم أن أعضاء الفريق لهم مواصفات خاصة وأعذرنى فلم أستسغ منك ولم أحب أن تناديه باسمه مجردا .
    1 point
  36. مرفق المثال تغيير القيمة الافتراضية برمجياً.rar
    1 point
  37. جرب هذا الكود امكانية المعاينة قبل الطباعة ثم اختيار طباعة عمل الكود:- 1- تغير التنسيق (حجم الخط ونوعه) ويمكن لك تغيرهم في الكود نفسه 2-معاينة الطباعة 3- اختيار الطباعة 4- ارجاع تنسيق (حجم الخط ) الى ماكان عليه قبل تنفيذ الكود طباعة-تغيرالتنسيق - ارجاع التنسيق السابق.xlsm
    1 point
  38. تفضلوا إخوتي الكرام البرنامج الآن يعمل على صيغة accde و لا يفتح النموذج في وضع التصميم شريط طباعة accde.rar شريط طباعة.rar
    1 point
  39. اخوتي اعضاء المنتدى كما يعلم الجميع فإنه يتم الحكم على كفاءة اي برنامج من خلال مخرجاته أي تقاريره ومن يعمل في اكسس يلاحظ جمود تقاريره مقارنة بتقارير اكسل لذا فقد اخذت الكثير من الوقت في تصميم تقارير مرنة تشمل اهم الافكار المطلوبة في التقرير وكنت قد وضعتها في تقرير واحد بهدف رفعه للمنتدى ولكني رأيت ان ذلك يمكن ان يصعب على الأعضاء فهم الطريقة . لذا قررت ان اجعل المثال يحتوي على تقريرين . الأول : يوضح طريقة رسم الحدود وتحديد سجلات الصفحة والإقفال بعد آخر سجل . الثاني : يشمل جميع الأفكار . أرجو أن ينفع الله بهذا المثال كل طالب علم ... ملحوظة : المثال يحتوي على 80 سجل وتم تحديد عدد سجلات الصفحة 20 سجل لذا عند فتح التقرير سيطلب منك تحديد عدد السجلات المطلوبة لذا للتعرف على المثال بشكل واضح جرب تحديد عدد (5 و 20 و 21 و 40 و 45) على التوالي ولاحظ كيف سيظهر التقرير في كل مرة اسأل من الله الأجر والدعاء من كل من إستفاد من هذا العمل تحياتي,,, التقارير.rar
    1 point
  40. اخي الكريم كاسر طبعاً لاتوجد مشكلة لو استخدمت ذلك الكود في كل النماذج لكن لماذا نستخدمه في حين اننا يمكننا ان نستخدم الكود المبسط قلت لي انك واجهت خطأ في عدم تعرف البرنامج على قيمة x الخطا هو انك لم تقم بتعريف المتغير x كمتغير عام في البرنامج الحل هو انشاء وحدة نمطية وسمها variables وقم باضافة التالي Public x as Boolean وان شاء الله يعمل معك بصورة سليمة هنا قمنا بتعريف المتغير x كمتغير عام من نوع Boolean ليكون اما true او false .. هذا معناه انك لو وضعت x = true في النموذج رقم 1 ففي النموذج رقم 10 ستكون قيمة x = true ايضاً .. هذا مايسمى بالمتغير العام .. كما يمكنك اضافة اي متغيرات عامة اخرى في نفس الوحدة النمطية السابقة يعني مثلاً اريد اضافة متغير y قيمته 1 نأتي الى الوحدة النمطية السابقة ونضع Const y = 1 وهكذا تحياتي
    1 point
  41. اخي الكريم كاسر الامور لاتتم بهذا الشكل الذي تفضلت به ..ففي عالم البرمجة الامور تتم على نحو مغاير لما تقوله للآخرين .. دعنا نحلل المسألة بشكل بسيط في البداية يجب ان نعرف ان نموذج التسجيل وظيفته المحددة هي قراءة رقم التسجيل الذي يدخله المستخدم في مربع النص ويقارنها مع رقم الهارد مثلاً ومن ثم تخزين رقم التسجيل في الجدول ... هنا نلاحظ ان نموذج التسجيل لايقرأ القيمة التي يخزنها في الجدول لان وظيفته هي قراءة مايدخله المستخدم فقط ويقارنها بقيمة الهارد لكي يتم قراءة رقم التسجيل المخزن في الجدول في كل مرة يقوم المستخدم بفتح البرنامج فهنا نضع في حدث عند الفتح للنموذج الرئيسي كود فحص فإذا وجد ان القيمة المخزنة في الجدول صحيحة يقوم بفتح النموذج والا فسوف يظهر رسالة للمستخدم بعدم صحة البيانات ومن ثم يفتح له نموذج التسجيل طبعاً برمجياً نحن لاتحتاج الى التأكد من رقم التسجيل في كل مرة يتم فتح احدى تلك النماذج بل كل ماعليك فعله هو وضع متغير عام من نوع Boolean يعطيك true او false فقط مع استخدام عبارة if الشرطية كيف يتم ذلك؟ الجواب لنأتي الى بداية العملية .. عندما يقوم المستخدم بادخال رقم التسجيل الصحيح في نموذج التسجيل فسوف تظهر له رسالة بنجاح عملية التسجيل .. بعد تلك الرسالة نضع متغير عام (public) وليكن x = true اما عندما يكون رقم التسجيل خطأ فسوف تظهر له رسالة فشل التسجيل لان الرقم غير صحيح .. بعد تلك الرسالة نضع نفس المتغير السابق يساوي x = false في كلتا الحالتين سوف يتم تخزين رقم التسجيل الذي ادخله المستخدم في الجدول سواء كان صح ام خطأ لايهم لاننا سوف نتأكد من صحته عند فتح النموذج الرئيسي الآن نأتي على النموذج الرئيسي وضع في حدث عند الفتح كود التحقق من القيمة المخزنة في الجدول كالتالي x = false if Nz(Dlookup("[serial]", "tblsn"),0) = HardSerial() then x = true else: x = false if x = false msgbox "رقم تسجيل البرنامج غير صحيح" docmd.openform "reg" DoCmd.close acForm, Me.Name end if ومن ثم نأتي للنموذج الثاني وضع الكود التالي في حدث عند الفتح if x = false msgbox "رقم تسجيل البرنامج غير صحيح" docmd.openform "register" DoCmd.close acForm, Me.Name end if وكذلك لبقية النماذج نضع لها هذا الكود في حدث عند الفتح if x = false msgbox "رقم تسجيل البرنامج غير صحيح" docmd.openform "register" DoCmd.close acForm, Me.Name end if نلاحظ ان اعتمادنا على قيمة x التي لو كانت true فسوف يتم فتح النموذج بشكل طبيعي ولو كانت false فسوف يغلق النموذج ويفتح نموذج التسجيل قيمة x تخزن في الذاكرة عند فتح النموذج الرئيسي لان الكود في النموذج الرئيسي سوف يفحص رقم التسجيل المخزن في الجدول ويطابقه برقم الهارد فاذا وجدها قيمة مطابقة فسوف يخزن x = true والا فان x = false هذا كل مافي الامر .. اتمنى ان يكون شرحي واضح تحياتي
    1 point
  42. الكود اصبح هكذ في محرر فيجوال بعد تحديث لمبلغ 1 و مبلغ 2 بنكتب هذا حسب قاعدة بياناتك Me.MECMOA = IIF([MBLX2] = 0, [MBLX1] * 50, IIF([MBLX2] > [MBLX1], [MBLX1] * 50, [MBLX2] * 50)) نموذج لتعديل.rar
    1 point
×
×
  • اضف...

Important Information