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

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

  1. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      15

    • Posts

      1,347


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      9,814


  3. ابوآمنة

    ابوآمنة

    الخبراء


    • نقاط

      8

    • Posts

      713


  4. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      5

    • Posts

      3,254


Popular Content

Showing content with the highest reputation on 02 أبر, 2020 in all areas

  1. ممكن وهذه احدى الطرق في الفورم الرئيسي الذي يحتوى على السجلات نضع ثلاث ازرار امر مخفية الاول للانتقال للسجل التالي Public Sub c_1_Click() DoCmd.GoToRecord , , acNext End Sub الثاني للسجل الاول Public Sub c_2_Click() DoCmd.GoToRecord , , acFirst End Sub الثالث للسجل الاخير Public Sub c_3_Click() DoCmd.GoToRecord , , acLast End Sub هذة الازرار الثلاثة جعلناها مشتركة وليست خاصة من خلال استبدال العبارة الافتراضية للحدث من Private اي خاص الى Public وبالتالي يمكن استدعاء هذا الحدث من نموذج اخر ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ الان العمل في الفورم الثاني ايضا في النموذج الثاني الخاص بازرار التنقل وضعنا في الامر الاول Form_Form2.SetFocus Call Form_Form2.c_2_Click اولا نقلنا التركيز للنموذج الخاص بالسجلات ثم ارسلنا امر لتنفيذ امر الانتقال للسجل الاول للانتقال للسجل التالي وضعنا الامر On Error GoTo ErrorHandler Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst rc = rst.RecordCount If Me.CurrentRecord < rc Then Form_Form2.SetFocus Call Form_Form2.c_1_Click End If Exit Sub ErrorHandler: MsgBox "السجل الاخير ", vbInformation, "تنبية" والهدف التخلص من رسالة خطا بعد السجل الاخير للانتقال لاخر سجل وضعنا الامر Form_Form2.SetFocus Call Form_Form2.c_3_Click ملفك في المرفقات ملاحظة ممكن اختصار الخطوات ولكن وحدت ان هذة الطريقة توضح الخطوات بشكل افضل تنقل بين سجلات من خلال ازرار فورم اخر.accdb
    6 points
  2. السلام عليكم ورحمة الله وبركاته أهديكم برنامج لقراءة حركات الكلمة أي قراءة تشكيل الحروف . مثلاً كلمة ( الرَّحْمَنِ ) يقرأ البرنامج حركاتها هكذا ( شدة ، فتحة ، الصفر المستدير ، فتحة ، كسرة ) ولا أخفيكم أن أحد الأخوة الزملاء المهتمين بالقرآن الكريم في منتدانا الحبيب طلب مني ذلك على الخاص فأردت أن شارككم . البرنامج قابل للتطوير إن وجد أخطاء . ولا تنسونا من دعائكم ،، Read_HarakatV20_1.zip
    3 points
  3. واذا ترغب اضافة امر السجل السابق جرب المرفق تنقل بين سجلات من خلال ازرار فورم اخر2.accdb
    3 points
  4. وعليكم السلام 🙂 جرب ضغط واصلاح ، وهذا الرابط قد ينفعك : جعفر
    3 points
  5. السلام عليكم اخي الفاضل فايز.. جرب كدة اتمني ان يكون طلبك mark.rar
    3 points
  6. الحلقة السابعة: التعامل مع الأحداث في صفحة ويب بعد إنقطاع طويل نعود لإكمال هذه السلسلة من الدروس بإذن الله. سوف نتطرق في هذا الدرس لأهم الأحداث التي نحتاجها مع أداة WebBrowser كما هو معلوم أنه عندما ندخل على خصائص أحد الكائنات بالتحديد على تبويب الأحداث تظهر لنا جميع أحداث هذا الكائن. لكن بالنسبة لأداة ويب براوز ليست كل الأحداث موجود في الخصائص. كما أنه توجد العديد من الأحداث لم تعمل معي هذا حسب تجربتي الخاصة. 1- حدث عند إنتهاء تحميل الصفحة: نقوم بإضافة هذا الحدث في محرر الفجوال بسيك مع تغيير اسم أداة التصفح عندك. ونضيف له الكود الذي نريد تنفيذه مع هذا الحدث. Private Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "complete" End Sub نضغط على زر تصفح في النموذج عند الإنتهاء من تحميل الصفحة تظهر لنا رسالة complete 2- حدث قبل التصفح: الكود في الحدث التالي يقوم بعرض رابط الصفحة التي سوف ننتقل إليها. Private Sub WebBrowser3_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) MsgBox URL End Sub 3- حدث فتح نافذة تصفح جديدة: يظهر هذا الحدث عند فتح صفحة ويب في نافذة جديدة. و الخاصية المسؤولة عن فتح نافذة جديدة هي target عندما تكون تساوي _blank معناه فتح الرابط في نافذة جديدة و عندما تساوي هذه الخاصية _self معناه افتح الرابط في نفس الصفحة و هناك قيم آخرى لهذه الخاصية. سوف نطبق هذا الحدث على صفحة أوفيسنا نضغط على زر فتح أوفيسنا و بعد ظهور الصفحة نضغط على زر البحث search تظهر لنا رسالة "نافذة جديدة". Private Sub WebBrowser3_NewWindow2(ppDisp As Object, Cancel As Boolean) MsgBox "نافذة جديدة" End Sub webbroser.accdb
    2 points
  7. جرب الان تنقل بين سجلات من خلال ازرار فورم اخر.accdb
    2 points
  8. .أسأل الله ان يجعل هذا العمل في ميزان حسناتك.. وأن يرزك الخير في الدنياء والاخرة جزاك الله خيرا .. وبارك الله فيك ..
    2 points
  9. كم عدد الحقول في الجدول لديك هل وصلت الى 255 حقل وهي الحد الاقصى للاصدارات الحديثة من اكسس على كل حال لم تضع مرفق ولا معلومات عن نوع الحقول لديك ولماذا كافة الحقول في جدول واحد ؟ معلومة اكسس من قواعد البيانات العلائقية اي ان الجداول يتم ربطها ببعضها البعض عن طريق العلاقات سواء راس براس او راس باطراف وهيالعلاقة الاكثر استخدام او علاقة اطراف باطراف وهي اقل استخدام ونحتاج الى ربط وسيط لربط الطرفين نصيحة اعد النظر في طريقة عملكمن خلال استخدام اكثر من جدول واطلع على رابط شرح العلاقات ادناة انقر لشرح العلاقات اعتذر لك اخي @jjafferr كنت اكتب الرد اوف لاين ولم اشاهد مشاركتك
    2 points
  10. نحن و ما نملك لخدمة أهل القرآن الكريم أهل الله وخاصته بارك الله في جهودكم وسدد خطاكم. ونحن معكم بما نستطيع في اكسيس هل تقصد نسخة سطح المكتب فجوال استديو بلغة فجوال بيسك أم موقع اكتروني. أم تطبيق جوال. للاسف استخدامي بسيط لفجوال استديو
    2 points
  11. إضافة قائمة فرعية.zip تفضل هذه محاولة مني لعلها تنفعك . وبالتوفيق
    2 points
  12. بعد اذن أستذنا jjafferr أرد أن أشارك في الموضوع test.accdb
    2 points
  13. أجذر من كذبة نيسان البيضاء في هذا الملف Poisson D'April.xlsm
    1 point
  14. أحسنت استاذ صالح بارك الله فيك وزادك الله من فضله
    1 point
  15. تم وضع رابط للتجربة وتم حذف . نلتمس منكم العذر.
    1 point
  16. مجرد الاختيار من القائمة يتم تعبئة العمود b تلقائي المطلوب.xlsm
    1 point
  17. في هذه الحالة ، السجل لم يتم حفظه بعد ، فلا يمكنك حذفه ، وانما يمكنك إلغاءه 🙂 Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 2113 Then Response = acDataErrContinue 'قد لا تحتاج الى هذا السطر me.undo End If End Sub او تحذف بيانات النموذج : me.text1="" me.text2="" ومن الصورة الاخيرة اللي ارفقتها ، انت لم تنسخ الكود بالكامل ، نسيت اهم سطر : جعفر
    1 point
  18. طبعا قصدك مع رقم الخطأ ، وإلا ، وبحدوث اي رسالة خطأ ، سيتم حذف الاخضر واليابس 🙂 اخي حسين ، صدقني لما قلت لك ، هذه طريقة اصطياد الخطأ ، والنتيجة ، وحسب طلبك : جعفر
    1 point
  19. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا سوف احاول فيه ان شاء الله لان وبصراحه من اول ما حملت مرفقك بالمشاركه الاولى وانا متلخبط وعند محاولتى الان عقدنى 😀 سوف احاول مره اخرى ان شاء الله ان شاء الله او احد اخواننا واساتذتنا الافاضل جزاهم الله خيرا يقدم يد المساعده باذن الله تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  20. السلام عليكم 🙂 عندك رقم الخطأ ، صح ؟ اذا ما عندك : على حدث "on Error" للنموذج (وليس للحقل) ، اكتب Private Sub Form_Error(DataErr As Integer, Response As Integer) MsgBox DataErr End Sub . وبعد ان تصطاد رقم الخطأ (مثلا 1111) ، استعمل كود اخوي احمد لحذف السجل : Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 1111 Then Response = acDataErrContinue 'قد لا تحتاج الى هذا السطر DoCmd.RunCommand acCmdDeleteRecord End If End Sub . جعفر
    1 point
  21. وعليكم السلام-اهلا بك فى المنتدى بارك الله فيك وزادك الله من فضله
    1 point
  22. 1 point
  23. بعد اذن الاستاذ الفاضل @أحمد الفلاحجى المتغيرات مهمه وفي حالات كثيرة يمكن الاستغناء عنها في بعض الحالات التي لا نستطيع فيها استخدام اكواد vba مثلا بعض الجهات تضع قيود في الشبكة على الاكواد وبالتالي لو اردنا ان نظهر رسالة في حالة عدم توفر سجلات لعملية البحث هنا وغيرها من الحالات ممكن ان نستخدم مربعات النص غير المنظمة سواء في منشئ التعبير مباشرة او عن طريق المايكرو
    1 point
  24. 1 point
  25. السلام عليكم اخى حسين اقتبس لك جزء من شرح اخى وحبيبى ياسر ابو البراء فى منتدى الاكسيل جزاه الله خيرا لتوضيح فائده المتعيرات وان شاء الله يفيدك نبدأ الحلقة : هنرغي النهاردة عن المتغيرات .. لاحظت في كل الشروحات اللي شفتها إن درس المتغيرات بيكون دمه تقيل ورخم ؛ لأن كله بيكون غالبا نظري أكتر منه عملي وبيكون في درس واحد مرة واحدة . إحنا لأننا اتبعنا أسلوب مختلف تماما هنتكلم عنه واحدة واحدة متغير متغير ، وبالأمثلة والتطبيق ، ومش مهم الكم بقدر الكيف (ومحدش يفهم الكيف دي غلط) نفهم الأول يعني ايه متغير .. يعني مش ثابت (صح يا حسام .. حد عنده إجابة تانية كله ساكت يعني مفيش غير حسام اللي عارف ..)! عشان نقدر نخزن الأرقام والنصوص دي لازم نستعين بالمتغير .. ييجي المتغير ويقولنا تحت أمرك يا فندم أنا في الخدمة ، وطبعا الذاكرة بردو متأخرتش عننا في تقديم المساعدة. بس المتغير له شروط عشان نقدر نستفيد منه ..أولاً عايز حاجة تسنده عشان بيتكسف يقف لوحده فبنستدعي كلمة اسمها Dim ، ومن غير الكلمة دي يبقا المتغير وحيد ومش هيرضى يساعدك (هي دي اللي بنعلن بيها عن المتغيرات) ثانياً بنديله اسم تمام .. فاكرين شروط تسميه الإجراء الفرعي تقريبا نفس شروط تسمية المتغير .. يعني مينفعش يبدأ برقم لكن ممكن الرقم ييجي بعدين في الاسم بس في أول الاسم لا .. وممنوع الحروف الخاصة زي علامة # $ % ^ & * @ عموما لو فيه حاجة غلط محرر الأكواد هيظهر لك رسالة Syntax error تعرف إن فيه حاجة غلط.. دا كان الشرط التاني للمتغير إن يكون له اسم ، تالت شرط اللي هو نوع المتغير ( ودا ضروري بس اختياري ) فزورة دي ..>> أيوا هو اختياري يعني ممكن ميتكتبش ومفيش مشكلة ، بس طبعا ذوي الخبرة يعرفوا إن كدا محرر الأكواد بيحدد نوعه بردو ، بس بيحدده نوع اسمه Variant ودا له ميزة وعيب .. ميزته إنك لو مش عارف نوع المتغير بيكون دا الافتراضي وبيعفيك من تعريف نوع المتغير .. وعيبه إنه بيستهلك مساحة كبيرة في الذاكرة .. يعني لما ربنا يكرمكم وتكتبوا أسطر كتيرة من الأكواد لو معرفناش نوع المتغير ، هيكون الكود بطيء جدا مقارنة بإننا نعرف الكود بنوع محدد ..! عشان كدا قلنا إنه ضروري يعني هو اختياري ، بس ممكن إحنا نخليه إجباري ؛ عشان نتعود على الصح من البداية (مش كدا ولا ايه!) طيب إحنا هنعرف نوعه إزاي ؟؟ إنت اللي بتحدد نوعه حسب ما تريد وهنتعرف على الأنواع بس بالراحة عليا ..أنا أحب أرغي وآخد وقتي في الرغي قبل ما أكمل بكدا نكون عرفنا شكل السطر اللي هيتم الإعلان فيه عن المتغير ، هيكون ببساطة بالشكل اللي جاي حالا هنفترض إني هخزن في الذاكرة رقم صحيح وهنسميه MyNumber Dim MyNumber As Integer أيوا نحفظ بقا الشكل دا كويس ونشوف الشروط اللي قلنا عليها انطبقت ولا لا ! أول شرط الكلمة Dim اللي هتخلي المتغير ميخافش ، وتاني شرط اسم المتغير وهو هنا MyNumber ودا أنا اللي سميته مش محرر الأكواد عشان محدش يفكر إنه لازم يكون بالاسم ده يعني الاسم إنت حر فيه إن شا الله تسميه (مكرونة) ، وبعدين هنلاقي كلمة من حرفين As ودي متكلمناش عليها دي اللي بتفصل بين الاسم والنوع .. صحيح الاسم مرتبط بالنوع بس لسه في مرحلة الخطوبة والخطوبة هتطول فنفصل بينهم بمحرم اللي هو As وأخيرا النوع Integer ودا بيستخدم للأرقام الصحيحة (أول نوع خلصنا منه الحمد لله)... يبقا خلاصة الكلام السطر ده بنقول لمحرر الأكواد إننا هنستخدم متغير باسم MyNumber وهيكون نوعه عدد صحيح (إحنا كدا بنوفر في الذاكرة مساحة وبنخلي الكود يكون أسرع لما نحدد النوع) طبعا الطالب الناصح هيقولي هو فين الرقم اللي إحنا خزناه في الذاكرة دا ملوش أثر هقوله لسه الحتة دي جاية دلوقتي .. السطر دا بس كأننا بنكلم الذاكرة ونقولها : استعدي أيتها الذاكرة آتٍ إليكي متغير بهذا الاسم ومعاه بطاقة الرقم القومي بتاعته ابدأي اتعاملي معاه .. فالذاكرة تشوف اسمه لو كان اسمه صحيح تقوله اتفضل ، وتشوف نوعه وتحجز له مكان مناسب على أده .. ما هو كل نوع على أد حجمه (زي المثل اللي بيقول كل برغوت على أد دمه) ..يعني النوع Integer غلبان وصحته على أده هتحجزله مكان صغير ، أما Variant فربنا يديله الصحة هياخد مكان لا بأس به (يا ريت تكون النقطة دي بقت واضحة) طيب بعد ما عرفنا المتغير .. نديله قيمة وعشان ندي قيمة قلنا قبل كدا لازم علامة = يساوي ، وتكون القيمة اللي عايزين نخزنها على اليمين بعد علامة يساوي مش قبليها ومينفعش نحط القيمة الأول كدا غلط .. عايزين نتعلم صح ! زي ما أخدنا في الخصائص إن كل خاصية ليها قيمة بنحددلها قيمة .. بردو المتغير بنحدد له قيمة زي كدا MyNumber = 70 يبقا إحنا كدا حددنا قيمة المتغير بـ 70 طيب واحد يقولي يعني عشان أخزن الرقم 70 في الذاكرة هكتب سطرين ، طب ما نختصرهم في سطر واحد يا معلمي (طبعا هو مش معلمي بضم الميم لا دا بقولها بكسر الميم ، على أساس إننا قاعدين على قهوة) .. وبعدين يقولي هختصره كدا Dim MyNumber As Integer = 70 هقوله جرب بنفسك هتلاقي محرر الأكواد أظهر لك رسالة خطأ .. اللي اشتغل على Visual Basic.Net الفكرة دي مقبولة لكن هنا في الـ VBA غير مقبولة.. طيب دلوقتي نطبق عملي السطرين اللي فاتوا .عايزين مثلا نحط قيمة المتغير في الخلية A1 >> Range("A1").Value = MyNumber الخلية A1 وبعدين نقطة متبوعة بخاصية أول مرة تقابلنا دلوقتي ، ودي مهمة جدا ومعناها القيمة Value .. يعني خلي قيمة الخلية A1 تساوي المتغير اللي اسمه MyNumber ، فيقوم محرر الأكواد يروح للذاكرة يسألها عندك متغير اسمه MyNumber ، ترد تقوله أيوا قاعد مرزوع هناك أهو .. يقوم المحرر يشده من قفاه (شكلها كدا أنا اللي هيتعمل فيا كدا النهاردة .. مش جايبها لبر من بدري عمال أقول 4 واستدعاء وشد من القفا ربنا يستر ..) المحرر يشوف قيمة المتغير اللي تم تخزينها ويحطها في الخلية A1 .. اعذروني إذا كنت بشرح اللي بيحصل بالتفصيل بس التفصيل دا مهم .. واحد تاني مخه شغال هيقولي طيب أنا أقدر أختصر الكود بتاعك اللي هو 3 أسطر في سطر واحد وهيطلع الناتج صح Dim MyNumber As Integer MyNumber = 70 Range("A1").Value = MyNumber هيقولي بص بقا السحر أهو الكود بتاعك في سطر واحد Range("A1").Value = 70 هقوله برافو عليك دا صحيح بس مش هو دا المهم إننا نحط القيمة 70 في الخلية A1 وخلصت الحكاية .. الفكرة إن المتغير هنستخدمه مثلا في أكتر من سطر .. وليكن هستخدمه 10 مرات .. لو أنا سمعت كلامك يا نبيه يبقا لو حبيت أغير قيمة المتغير لـ 100 مثلا هضطر أدور على القيمة 70 في كل أسطر الكود وأغيرها 10 مرات .. لكن بالطريقة اللي قلت عليها المتغير لو حبيت أغيره هغيره مرة واحدة بس في أول الكود وخلصت الحكاية!! دي نقطة نقطة تانية إن ممكن يتم على المتغير عمليات حسابية متداخلة ، فلو استعملنا القيمة من غير المتغير هيكون صعب التعامل مع الكود طيب نجرب نحذف كلمة Dim من الكود ونخلي الكود بالشكل ده MyNumber As Integer MyNumber = 70 Range("A1").Value = MyNumber شيلنا كلمة Dim الغريب إن محرر الأكواد مبيديش خطأ لما بتشيلها .. لكن ساعة التنفيذ يخضك برسالة ويقولك معنى الكلام ده إن المتغير مينفعش يتم الإعلان عنه إلا بكلمة Dim ، وإلا سيتعبر الإعلان غير قانوني وسيتم إحالة الكود للمحاكمة (مش بقولكم مش جايبها لبر) بكدا نكون اتعرفنا على أول نوع من المتغيرات اللي هو Integer !! نتعرف سريعا على نوع تاني مشهور جدا اللي هو String ودا بيكون للقيم النصية بالمثال يتضح المقال : Dim Myname As String Myname = "Yasser" MsgBox Myname طبعا بقت الأمور أوضح دلوقتي المتغير اسمه Mname ونوعه String يعني نص .. وتم وضع القيمة النصية Yasser له ، ومننساش مع النصوص أقواس التنصيص .. وآخر سطر مش محتاج إني أشرحه بس نلاحظ في آخر سطر فايدة تانية للإعلان عن المتغيرات .. هنا لما حطينا القيمة النصية Yasser وأسندناها للمتغير Myname ، لما نيجي بعد كدا نستخدمه خلاص هنرتاح من أقواس التنصيص .. وهنعتبر دي فايدة تانية يلا بقا خدوا الواجب عشان أنا تعبت ... 1 - قم بالإعلان عن متغير بأي اسم يعجبك من أي نوع يعجبك وخليه يظهر في الخلية C5 ويظهر معاه رسالة مضمونها أنه قد تم وضع القيمة للمتغير اللي إنت سميته في الخلية C5 2 - قم بالإعلان عن متغيرين من النوع Integer وقم بعمل عملية جمع وناتج الجمع في الخلية E5 إلى لقاء مع حلقة جديدة من حلقات افتح الباب وزغردي يا رباب (دا إذا عدا اليوم بسلام ومكانش فيه استدعاء) دمتم في عون الله وحفظه
    1 point
  26. من اهم فوائد العلاقات التكامل المرجعي تتالي تحديث الحقول المرتبطة تتالي الحذف تقليل حجم القاعدة عدم تكرار البيانات في الجدول تخيل لو كان لديك قاعدة بيانات من جدول واحد تحتوى على سجلات 100 موظف ولكل موظف راتب شهري ستكون مجبر على تسجيل كل موظف 12 مرة اي سيكون عدد السجلات لاسماء الموظفين 100 * 12=1200 اضافة للحقول الاخرى المكررة
    1 point
  27. السلام عليكم مشاركه مع اخوانى واساتذتى @اشرف و @jjafferr بما ان المرفق معمول على اصدار 2003 والتعديل الذى قام به اخى اشرف جيد ولكن لم يظهر على اصدار 2003 فقمت باستخدام هذا الكود عند الفتح او كما تحب وممكن تستخدمه مع dfirst ان قمت بالتعديل كما اشار لك معلمنا العزيز جعفر وارجح اقتراح اخى واستاذى ومعلمنا العزيز @jjafferr فلقد استفدت من طريقته كثيرا جزاه الله خيرا Me.photo1.Picture = DLookup("Path", "data") تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق
    1 point
  28. جزاك الله خير الجزاء تم حل المشكلة جزاك الله خير استاذ صراحة لا اعلم كثيرا في ربط الجداول العلاقات جزاك الله خير استاذ صراحة لا اعلم كثيرا في ربط الجداول العلاقات
    1 point
  29. الاستاذ المحترم سليم حاصبيا تم الانتباه الي رقم الزر BUTTON وتم تعديل الكود الكود يعمل بكفاءة شكرا لحضرتك
    1 point
  30. جزاكم الله خيرا وفرصة سعيدة تعرفنا عليكم واستفدنا منكم نسال الله التوفيق والقبول
    1 point
  31. وعليكم السلام اتفضل على قد حالى تعديل بسيط فالكود Private Sub Nu_Vo1_Click() Forms![Ha_rkat2]![تابع69]![Nu_Vo1] = Me![Nu_Vo1] Forms![Ha_rkat2]![تابع69]![na_Br] = Me![na_Br] Forms![Ha_rkat2]![تابع69]![St_ew] = Me![St_ew] Forms![Ha_rkat2]![تابع69]![Di_sp] = Me![Di_sp] Forms![Ha_rkat2]![تابع69]![Le_ng] = Me![Le_ng] Forms![Ha_rkat2]![تابع69]![pr_Pu] = Me![pr_Pu] Form.Visible = False Forms![Ha_rkat2]![تابع69].SetFocus 'Form.Visible = True End Sub بالتوفيق اخى ان شاء الله 2_2.rar
    1 point
  32. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا بارك الله فيك اخى
    1 point
  33. تفضل 🙂 Private Sub B_Code_AfterUpdate() If DCount("*", "المستخدمين", "[المعرف]=" & [Forms]![الدخول]![B_Code]) > 0 Then Dim SplitUp() As String Dim StrMyLookup As String StrMyLookup = DLookup("[الصلاحية] & '|' & [اضافة] & '|' & [حذف] & '|' & [تعديل] & '|' & [كلمة السر] & '|' & [اسم المستخدم]", "المستخدمين", "[المعرف]=" & [Forms]![الدخول]![B_Code]) SplitUp = Split(StrMyLookup, "|") Me.الصلاحية = SplitUp(0) Me.اضافة = SplitUp(1) Me.حذف = SplitUp(2) Me.تعديل = SplitUp(3) Me.كلمة_السر = SplitUp(4) Me.اسم_المستخدم = SplitUp(5) Else Exit Sub End If End Sub جعفر 1198.مستخدم.accdb.zip
    1 point
  34. وعليكم السلام 🙂 اللي اشوفه من صورة ، واللي يمكن قراءته بجهاز قارئ الباركود : الهوية : فيها باركود اُحادي ، والباركود عبارة عن رقم ، ولا اعرف اذا هذا الرقم له علاقة بمعلومات الشخص ، او هو مجرد رقم تسلسل ، فلا ادري اذا ممكن الاستفادة منه ، الجواز : فيه باركود من نوع PDF417 ، وبحثت في الانترنت على جوازات سعودية ، وحاولت استعمل مجموعة من برامج قراءة الباركود في هاتفي ، لقراءة هذا الباركود ، واتضح انه لا يمكن قراءته (يمكن عند الجهات الرسمية Decoder خاص لقراءة هذا الباركود) ، لذا ، كذلك لا يمكن الاستفادة منه ، الجواز : فيه كود من نوع MRZ (في اسفل الجواز ، ذو السطرين) ، وهاي مافيه بيانات عربية ، وفيه : الاسم بالانجليزي ، الجنسية ، رقم الجواز ، تاريخ الميلاد ، تاريخ الاصدار ، وتاريخ الانتهاء ، فهنا ممكن تستفيد من هذه البيانات 🙂 طبعا علشان تقدر تقرأ هذه البيانات ، لازم يكون عندك برنامج يقرأ MRZ ، ويوجد منهم الكثير ، وحسب تجربتي في استعمال برامج تحويل الصورة الى نص (OCR) ، فارى ان برنامج Abbyy Fine Reader عنده القابلية ، وصحيح ممكن تستعمل نسخة Professional ولكن نسخة Corporate هي الاصلح في حالتك ، ويجب ان يكون البرنامج متنصب على الكمبيوتر ، والذي نطلب منه ان يصدر بيانات MRZ الى ملف TXT او xls ، وبإسم كل ملف حسب اسم ملف pdf الموجود عندك ، ومنه نعمل كود لقراءة هذه الملفات ، ونُدخل/نقارن البيانات بالموجوده عندك ، والطريقة الاخرى ، انك تستعمل برنامج آخر من شركة Abbyy واسمه ABBYY FlexiCapture ، وفيه امكانيات مهولة ، بحيث تخبره بكل حقل من الجواز ومافيه ، فيقوم بجمع جميع بيانات الجواز ، باللغة العربية والانجليزية ، ويحفظها في ملف xls ، ومنه نعمل كود لقراءة هذه الملفات ، ونُدخل/نقارن البيانات بالموجوده عندك 🙂 سهلة هاه 🙂 ولكن وقبل ان تشمّر عن ساعديك وتشتري برنامج ABBYY FlexiCapture ، رجاء انظر الى مواصفات الصورة التي قمت بعمل سكان لها ، فإذا كان نقاوة الصورة اقل من 300dpi ، فلا تتعب نفسك ، فلن يستطيع برنامج OCR من قراءة بيانات الصورة ، وخصوصا بالعربية !! جعفر
    1 point
  35. تفضل ما أردت ولكن فقط أذكرك بأن هذه المعادلات تتعامل مع الصفيف يعني بعد ما تكتب المعادلة تضغط Ctr + Shift + Enter ولهذا ترى علامة { في بداية ونهاية المعادلات عملاء استحقاق (1).xlsx
    1 point
  36. السلام عليكم اخي اسلام السيد ارفقت لك مثال لاعمار الذمم وانا جربته على حوالي 24000 سجل وكان سريعا المشكلة عند تطبيقك للمثال يجب تصفية البيانات من اول استعلام تكون النتيجة اسرع على كل ولشرح الفكرة اكثر راجع مشروعي للمستودعات هنا وانظر الى الفرز في الاستعلامات الخاصة باعمار الذمم ادخل 30000سجل وانظرهل النتيجة سريعة ام بطيئة
    1 point
  37. السلام عليكم ورجمة الله احببت كما هي العادة ان انشر تحديثي على مشروعي للمستودعات ومراقبة مندوبي المبيعات ربما يستفيد احد الاخوة من فكرة او موضوع اهم ما تم تحديثة اضافة الفواتير والمرتجعات منع حذف السند اوتعديله في حال اصبحت المواد بالسالب الا اذا سمخ بالارصدة السالبة في صلاحيات المستخدمين اضافة العملات اضافة سندات القبض والخطأ ملازم للانسان والتغذية العكسية مفيدة له final7.accdb
    1 point
  38. و هذا الكود المناظر لحذف الاسطر و هنا لم يتم اختيار مجال باسم محدد ، و لكن يتم التنفيذ بناء علي اختيار المستخدم للخلاية selection Sub deleteemptyRow() ' ' deleteemptyRow Macro ' Macro recorded 19/07/2000 by taher to delete empty rows in aselection Application.ScreenUpdating = False Dim MyRow As Long, origraw As Long ' Z As String MyRow = Selection.Rows.Count origraw = MyRow ActiveCell.Select 'MsgBox MyRow For i = 1 To MyRow If ActiveCell.Value <> "" Then ActiveCell.Offset(1, 0).Activate If ActiveCell.Value = "" Then ActiveCell.EntireRow.Delete MyRow = MyRow - 1 End If Application.StatusBar = "Parsing / deleting ...." & _ Format(i / origraw, "0.0%") & " Please Wait......." Next i Application.ScreenUpdating = True Application.StatusBar = False End Sub[/sql] DeleteemptyRows.zip
    1 point
×
×
  • اضف...

Important Information