محمد حسن المحمد قام بنشر أغسطس 17, 2015 الكاتب قام بنشر أغسطس 17, 2015 السلام عليكم ورحمة الله وبركاته إخوتي الأكارم: نتابع من حيث وصلنا:كما يمكن وضع علامة * بدلاً من ظهور الأرقام كما أخبرنا الأستاذ الكريم ياسر في بداية هذا البحث من خلال خصائص النص PasswordChar نضع علامة* بجوارها وبالانتفال إلى زر الخروج CommandButton2 الذي نستكمل به أول نموذج والمخصص للخروج من البرنامج عندما لا يتم وضع كلمة مرور صحيحة Private Sub CommandButton2_Click() Dim pp pp = MsgBox("خروج نهائي من البرنامج . هل أنت موافق؟؟؟", 36, "!!! تحذير") If pp = 6 Then Application.Quit TextBox1.SetFocus End Sub حيث يودعك البرنامج بمثل ما استقبلك بكل حفاوة وتكريم عندها يصدر الأمر بإغلاق البرنامج هذا ما استطعت معرفته عن النموذج الأول Start Up والتي تعطينا الإذن بالدخول Sign In فمن كان من إخوتي لديه زيادة أو إضافة أو تنقيح لمعلومة وردت أو سقط منها سهواً فليبادر مشكوراً إلى إسعافي بها لإتمام هذه النقطة من البحث ثم الانطلاق إلى نقطة جديدة جديرة بالاهتمام كما سابقتها...والسلام عليكم بانتظار ردودكم ومشاركاتكم الكريمة............. 1
محمد حسن المحمد قام بنشر أغسطس 17, 2015 الكاتب قام بنشر أغسطس 17, 2015 السلام عليكم ورحمة الله وبركاته إخوتي الأكارم: ندخل الآن بعون الله وتوفيقه إلى فحوى هذا السند - صلب الموضوع - الذي من خلاله ندون سطور سندات الصرف بمجال ثابت ألا وهو النموذج لمجال متغير ألا وهو البيانات DATA حيث سيقوم هذا النموذج مشكوراً بعمل كتابة وترحيل ثم استدعاء سند ما عند الحاجة للتعديل عليه أو طباعته وكما أشرت سابقاً أنه مصمم للطباعة ولكن - للأمانة - بحاجة إلى تنسيق لمنع ظهور بعض الأزرار التي تظهر أثناء العمل فلا حاجة لظهورها أثناء الطباعة. وقد لفت انتباهي أنه قد وضع في حدث المصنف الكود التالي:وأظن غايته إظهار النماذج دون الصفحات وذلك ما أودّ الاستفسار عنه من أساتذتي الكرام الذين يتابعونا مشكورين. Private Sub Workbook_Open() On Error Resume Next Application.EnableCancelKey = xlDisabled Application.Visible = False 'Toumana.Show STARTUP.Show End Sub لنا عودة غداً إن شاء الله تعالى حيث أنني قد قارب دوامي على الانتهاء اليوم والسلام عليكم ورحمة الله وبركاته.
ياسر خليل أبو البراء قام بنشر أغسطس 17, 2015 قام بنشر أغسطس 17, 2015 أخي الحبيب أبو يوسف بالفعل كما ذكرت في حدث فتح المصنف يتم إلغاء مفتاح الهروب Esc لئلا يتحايل المستخدم ويلغي الأكواد ثم يأتي السطر التالي Application.Visible = False ويقوم السطر بإخفاء التطبيق (تطبيق الإكسيل) ثم آخر سطر يقوم بإظهار النموذج (الفورم) 1
محمد حسن المحمد قام بنشر أغسطس 17, 2015 الكاتب قام بنشر أغسطس 17, 2015 (معدل) السلام عليكم ورحمة الله وبركاته أخي الحبيب أبو البراء.. جزاكم الله خيرا على مروركم العطر وأشكركم على هذه المعلومة القيمة...كما أرجو من إخوتي الكرام متابعة وتصحيح شرحي على الرغم من سذاجة كتابتي وقلة مادتها العلمية...وإلا فإنني كمن يكتب على لوح الجليد / البوظ/ في حر الصيف اللاهب...تقبلوا تحياتي... السلام عليكم ورحمة الله وبركاته. تم تعديل أغسطس 17, 2015 بواسطه محمد حسن المحمد
محمد حسن المحمد قام بنشر أغسطس 18, 2015 الكاتب قام بنشر أغسطس 18, 2015 P إخوتي الكرام السلام عليكم ورحمة الله وبركاته ...اللهم يا من علم داود علمنا ويا مفهم سليمان فهمنا...على بركة الله نبدأ.... بعد أن أذن لنا النموذج الأول بالدخول إلى صرح النموذج الثاني حيث قدمنا كلمة المرور المطلوبة انتهى بنا المطاف إلى النموذج المراد دراسته في القسم الثاني الذي يختص بكتابة وترحيل واستدعاء البيانات( منه وإليه) وكذلك إمكانية البحث والتعديل والطباعة ومسح البيانات والنموذج . سنقوم بهذا البحث بتقسيم هذا النموذج إلى ثلاثة أجزاء هامة ورئيسية الأول منها لكتابة وترحيل البيانات إلى ورقة DATA ، والثاني لاستدعاء سند صرف معين بأحد رقمين (برقم السند أو حسب رقم الشيك) حيث تستطيع من خلاله البحث والتعديل والطباعة، وجزء ثالث يعتني بمسح البيانات ومسح النموذج: أما من حيث ملاحظة الأخ الكريم عبد العزيز البسكري المحترم أنه وضع ليبلات فوق بعضها فالغاية منها هي أنه عندما يكتب سند صرف جديد تبقى الليبلات الخارجية ظاهرة مثلاً: رقم السند ...أما عندما يريد أن يستدعي سنداً ما فتظهر تلك المخفية ..مثلاً: بحث برقم السند...ولذلك اقتضى التنويه... والصورة المرفقة ستكون خارطة نرسم عليها طريق البحث بالقسم الأول : - ملاحظة: يرجى من الإخوة الكرام متابعي هذا العمل إسداء آرائهم ونصائحهم إن كنا نسير على الطريق الصحيح ...تقبلوا تحياتي...السلام عليكم
الصـقر قام بنشر أغسطس 18, 2015 قام بنشر أغسطس 18, 2015 (معدل) استاذى الكريم وبعد اذن الاستاذ ضاحى سوف اقدم شرح بسيط حسب ما يتسع لى الوقت نمسك اول شئ رقم 1 كما هو موضح بالصورة عاليه وهى عباره عن تشيك بوكس جديد وتشيك بوكس بحث وتعديل وطباعه طبعا عند عمل سند صرف وتنشيط الفورم أما نقوم بتسجيل سند جديد او اننا نبحث عن سند ما لتعديله وطباعته أولا الجزئيه الاولى وهى وهى عند ما نريد عمل سند جديد نقوم بالضغط على التشيك بوكس سيظهر لنا علامة صح داخل المربع ويتم تنفيذ الكود تلقائيا ما هو الكود الذى يتم تنفيذه عند الضغط على التشيك بوكس جديد اضغط دبل كليك على التشيك بوكس ستجد الكود التالى Private Sub ChNew_Click() On Error GoTo 1 If ChNew.Value = True Then Clear ChCmdSearch.Value = False ChCash.Value = True CmdSearch.Visible = False TxNo.Visible = True LabNo.Caption = "ÑÞÜÜã ÇáÓäÜÏ / " CmdPrint.Visible = False CmdSave.Visible = True CmdEdit.Visible = False ChCash.Value = True Lpay.Caption = "ÓäÏ ÕÑÝ" CkqTxt.Visible = False Lbl40.Visible = False ChNames.Visible = True L1.Visible = False Chabout.Visible = True L2.Visible = False ChBank.Visible = True L3.Visible = False m = sheet1.[M9] mm = 9 Do Until sheet1.Cells(mm, "a").Text = "" mm = mm + 1 Loop TxNo.Value = mm + 1 - 10 + m TxDate.Text = Format(Date, "yyyy/mm/dd") End If 1 End Sub عندما نريد عمل تشيك بوكس فى الفورم فأن الفيجوال بيسك يقوم بتسمية التشيك بوكس CheckBox1 واذا اردنا رسم تشيك اخر فان الفيجوال بيسك يقوم بتسميته تلقائيا CheckBox2 فالاستاذ ضاحى بعد ما رسم عدد 2 تشيك بوكس قام بتغيير الاسم CheckBox1 تم تغيير الاسم " name" الى ChNew CheckBox2 تم تغيير الاسم " name" الى ChCmdSearch وللتاكد من ذالك قم بالوقوف على التشيك بوكس جديد ستجد فى الخصائص اول سطر هو ( Name) وبجواره ChNew وكذالك بكل الادوات والازرار الموجوده بالفورم الاسم ChNew الذى قام بتغيره الاستاذ ضاحى هو الاسم الذى يعتمد علية فى كتابه الاكود فلولاحظنا بالكود عاليه اول سطر Private Sub ChNew_Click() ستجد ان الاسم هو ChNew وليس CheckBox1 ثم بعد ذالك السطر التالى On Error GoTo 1 وهو يعنى ان فى حال حدوث اى خطأ يقوم الكود بالانتقال الى رقم 1 ثم يستأنف عمله 1 End Sub فحينما يحدث خطأ ما بالكود وينتقل الى رقم 1 ثم يباشر الكود تنفيذ مهامه سيجد نفسه وصل الى End sub نهاية الكود بعد كدا السطر التالى If ChNew.Value = True Then تم استخدام if لو كان التشيك بوكس اللى هو اسمه " ChNew" يساوى true أى تم الضغط عليه وعمل علامه صح then نفذ ما يلى Clear Clear هنا تشير الى كود موجود بالفورم لو بحثت عنه ستجد هذا الكود كان ممكن يكون السطر بالشكل التالى Call Clear بمعنى وضع كلمة Call قبل Clear وهى تعنى الاتصال بالكود Clear لتنفيذه فيقوم الكود الاساسى بعمل توقف مؤقت ويذهب الى الكود Clear لتنفيذه ثم يعود لاستئناف الكود مره اخرى بعد الانتهاء منه الكود Clear هو Sub Clear() TxNo = vbNullString TxDate = vbNullString TxName = vbNullString TxDescription = vbNullString TxAmount = vbNullString TxChDate = vbNullString TxChBank = vbNullString TxChNo = vbNullString ChCash.Value = False ChChaqe.Value = False TxDate.Text = Format(Date, "yyyy/mm/dd") End Sub طبعا لازم نشرح كل سطر بهذا الكود وهو كود Clear بختصار TxNo هو اسم تكست بوكس وقام الاستاذ ضاحى بتغيير اسمه كما وضحنا سابقا طيب اين هو هذا التكست لو نظرت للفروم ستجد رقم السند / وبجواره كمبوبكس لو قمت بتصغير الكمبوكس ستجد تحته تكست بوكس لو وقفت علية ونظرت لخصائصه ستجد اسمه ( Name ) هو TxNo طيب سؤال واحد هيقولى هو ليه واضع التكست بوكس والكمبوبكس فى التصميم فوق بعض الاجابه هى عند الضغط على جديد سيظهر التكست بوكس وبه رقم السند ويختفى الكمبوبكس وعند الضغط على تشيك بحث يظهر الكمبوبكس لاختيار رقم السند المراد البحث عنه ويختفى التكست بوكس طيب ماذا يعنى هذا السطر TxNo = vbNullString هو يعنى افرغ محتوى التكست بوكس اللى هو اسمه TxNo يعنى جعله فارغ وكان ممكن يكون بالشكل التالى TxNo = "" وكان ممكن يكون كدا TxNo = Empty لكن الاستاذ ضاحى كتبه بهذه الطريقه TxNo = vbNullString وكما قلت ان كل هذه الاسطر تعنى جعل التكست فارغ ليكون جاهز لكتابه شئ جديد به من قبل المستخدم وهكذا باقى الاسطر بالكود حتى نصل الى ChCash.Value = False ChChaqe.Value = False السطرين السابقين التشيك بوكس رقم 3 والتشيك بوكس رقم 4 قم بالوقوف على تشيك بوكس نقدا وانظر بالخصائص ما هو اسمه ستجده ChCash وايضا قم بالوقوف على تشيك بوكس شيك وانظر بالخصائص ما هو اسامه ستجده ChChaqe يبقى احنا عرفنا ماذا يعنى ChCash وماذا يعنى ChChaqe طيب عند الضغط على تشيك بوكس جديد نريد ان يكون التشيك بوكس نقدا والتشيك بوكس شيك بدون علامة صح ليكون جاهز امام المستخدم الخيارين ليختار اى منهما ولجعل التشيك بوكس بدون علامه صح قلنا انه = False ChCash.Value = False ثم ننتقل الى السطر الاخير وهو TxDate.Text = Format(Date, "yyyy/mm/dd") TxDate هو تكست بوكس بتاع التاريخ وكما قلنا سابقا كيف يتم تغيير مسمى التكست بوكس الى اى مسمى نريده ولكن بشرط بعد التغيير للاسم لازم نلتزم به فى كتابته داخل الاكواد فهنا التكست بوكس بتاع التاريخ اسمه TxDate طيب ليه كتب TxDate.Text .Text لاننا عندما نتعامل مع تاريخ نتعامل معه كانه نص ثم قلنا = Format(Date, "yyyy/mm/dd") يعنى ادرج تاريخ اليوم بالتكست بوكس وبالتنسيق التالى "yyyy/mm/dd" ثم يتنهى الكود بتاع Clear ويعود الكود الى الكود الاصلى وهو Private Sub ChNew_Click() لو رجعنا للكود سنجد اننا قمنا بشرح الاسطر التالية Private Sub ChNew_Click() On Error GoTo 1 If ChNew.Value = True Then Clear ان شاء الله المره الجايه سنبدء من هذا السطر ChCmdSearch.Value = False اتمنى ان اكون وفقت بشرح تقبلوا تحياتى اخوكم حسام تم تعديل أغسطس 18, 2015 بواسطه الصـقـر 1
محمد حسن المحمد قام بنشر أغسطس 18, 2015 الكاتب قام بنشر أغسطس 18, 2015 (معدل) P إخوتي الكرام السلام عليكم ورحمة الله وبركاته ...أخي العزيز الصقر ما شاء الله لا قوة إلا بالله أبدعت...جزاكم الله خيراً...هي مشاركة رائعة حقاً...وليست مروراً بل لمست من خلالها بوادر إيجابية لمتابعة موضوعنا هذا الذي كاد أن تطوى صفحاته دون أن تجنى ثماره...بارك الله بكم جميعاً ...وليت إخوتي الباقين يساهمون كهذه المساهمة التي أعطت دفعاً وزخماً طيباً...والسلام عليكم. تم تعديل أغسطس 18, 2015 بواسطه محمد حسن المحمد 1
محمد حسن المحمد قام بنشر أغسطس 19, 2015 الكاتب قام بنشر أغسطس 19, 2015 (معدل) P السلام عليكم إخوتي الكرام...جزى الله خيراً من شارك ومن مر على موضوعنا مروراً عطراً ...وما زلنا ننتظر ...نبدأ على بركة الله تعالى: حيث كما أسلف الأخ الصقر أن مفترق الطرق بين القسمين الأول والثاني هو زر الاختيار جديد المسمى ChNew Private Sub ChNew_Click() On Error GoTo 1 If ChNew.Value = True Then Clear ChCmdSearch.Value = False ChCash.Value = True CmdSearch.Visible = False TxNo.Visible = True LabNo.Caption = "رقــم السنـد / " CmdPrint.Visible = False CmdSave.Visible = True CmdEdit.Visible = False ChCash.Value = True Lpay.Caption = "سند صرف" CkqTxt.Visible = False Lbl40.Visible = False ChNames.Visible = True L1.Visible = False Chabout.Visible = True L2.Visible = False ChBank.Visible = True L3.Visible = False m = sheet1.[M9] mm = 9 Do Until sheet1.Cells(mm, "a").Text = "" mm = mm + 1 Loop TxNo.Value = mm + 1 - 10 + m TxDate.Text = Format(Date, "yyyy/mm/dd") End If 1 End Sub فعندما نختار الزر "جديد" يوقف العمل بزر البحث وسيفعل حقل قيمة المبلغ وكذلك ليبل رقم السند وحقل الحفظ دون الطباعة وعند ما يفعل حقل الدفع نقداً يوقف العمل بمجال الشيكات وكذلك يبدأ الترقيم استناداً إلى الخلية M9 في Sheet1 ليبدأ الترقيم في العمود A بدءاً من الرقم في M9 وفي حقل التاريخ يوضع التاريخ بتنسيق معين. أما التفقيط فيؤخذ من Module2 وهنا اختار العملة "درهم" و أجزاؤه "فلس" تم تعديل أغسطس 19, 2015 بواسطه محمد حسن المحمد 1
محمد حسن المحمد قام بنشر أغسطس 19, 2015 الكاتب قام بنشر أغسطس 19, 2015 على الرغم من قلة المشاركات سأتابعه حتى يقضي الله أمراً كان مفعولاً وسأفترض أن المنتدى خالياً فأسلم على نفسي تحية من عند الله مباركة طيبة.... أقول لنفسي:بصراحة أنتِ تعلمتِ الكثير ما لم تكوني تعلمينه فاعلمي أن فوقك علام الغيوب فما علمك أيتها النفس أنت وكل من عليها إلا كطائر أخذ قطرة من ماء بحر واسع ...فتوبي وأنيبي وأقبلي ولا تعرضي عن ذكر ربك (ومن أعرض عن ذكري فإن له معيشة ضنكاً ونحشره يوم القيامة أعمى) ولا يغرنك إقبال البشر أو إدبارهم فستحاسبين وتجازين ... واذكري قول ربك (وما كان ربك نسياً) أي ما تفعلين من خير مع الإيمان فستثابين عليه وتؤجرين...سلام على نفسٍ تزكى لتصبح نفساً مطمئنة راضية ، وويل لتلك التي تدسى لتصبح تعيش لتأكل وتتنعم بنعيم زائل. 1
ضاحي الغريب قام بنشر أغسطس 19, 2015 قام بنشر أغسطس 19, 2015 اخي الفاضل أ/ محمد حسن بارك الله فيك اسلوب سلس للشرح اضافة بسيطة علي زر الاختيار جديد المسمى ChNew 1
محمد حسن المحمد قام بنشر أغسطس 19, 2015 الكاتب قام بنشر أغسطس 19, 2015 السلام عليكم ورحمة الله وبركاته..أستاذي الكريم ضاحي الغريب مرور عطر طيب ومشاركة طيبة ....أشكرك على تفضلك بتقديمها ..وقد جاءت بمكانها الصحيح من البحث...أكرر شكري لكم ...وأرجو تقويم ما ترونه سهوا أو خطأ..كما أعتذر عن بطء مشاركاتي لانقطاعات الكهرباء والأنترنت أثناءها...والسلام عليكم.
محمد حسن المحمد قام بنشر أغسطس 19, 2015 الكاتب قام بنشر أغسطس 19, 2015 السلام عليكم ورحمة الله وبركاته... سيكون غدا إن شاء الله تعالى شرحا أكثر بساطة وأوسع مدى بشكل لا تتوقعونه من طالب مبتدئ.. إن قدر الله لنا البقاء واللقاء...فتابعونا...ولكم جزيل الشكر وجزاكم الله خيرا...ولا بأس بإضافة تضفي جمالا..ونقد بناء يحفز ...وأعوذ بالله من زهو بعلم ...فما فعل علم قارون وماله...أخوكم أبو يوسف.
محمد حسن المحمد قام بنشر أغسطس 20, 2015 الكاتب قام بنشر أغسطس 20, 2015 P السلام عليكم ورحمة الله وبركاته... كانت ملاحظة الأستاذ الكريم ضاحي الغريب بمحلها حيث تبين أن Clear في الكود قد نظفت جميع الحقول المطلوبة ليحل محلها كل بيانات السند الجديدة ففي وضع اسم مستحق السند توجد إمكانيتان الأولى باختيار اسم من القائمة بواسطة زر الاختيار حيث يلغى تفعيل كتابة اسم تلقائياً ويفعل CombNames Private Sub ChNames_Click() On Error GoTo 1 If ChNames.Value = True Then CombNames.Visible = True 'TxName.Value = CombNames.Value ElseIfChNames.Value = False Then CombNames.Visible = False End If 1 End Sub أما الاختيار الثاني فكتابة الاسم مباشرة يلغى تفعيل CombNames ويفعل TxName فإن حركت الأول ستجد الثاني أسفل منه. Private Sub TxName_Change() End Sub ثم ننتقل إلى سبب صرف هذا السند والذي عبر عنه بكلمة (وذلك عن /) وهنا كما رأينا بحقل الاسم نجده هنا عند تفعيل الكومبوبوكسCmbabout يلغى تفعيل Chabout والعكس صحيح في الحالة الثانية لأنه زود ورقة العمل تحت اسم About بأسباب صرف معينة وترك المجال لك لتكتب السبب الذي تريد عند تفعيل Chabout. Private Sub Cmbabout_Change() TxDescription.Value = Cmbabout.Value Chabout.Value = False End Sub لاحظ كود وصف التكست TxDescription: Private Sub TxDescription_Change() End Sub ثم ننتقل إلى طريقة صرف السند وهنا وضعها ضمن مجالين للصرف: الأول منهما نقداًChCash:فعندما يكون هذا الخيار محققاً يلغى تفعيل الصرف بشيك كما يلغى تفعيل الإطارFrame5 الذي يحتوي على بيانات الشيك.لتظهر عبارة سند صرف نقدي كعنوان لسند الصرف أعلى الصفحة... Private Sub ChCash_Click() On Error GoTo 1 If ChCash.Value = True Then ChChaqe.Value = False Frame5.Visible = False Lpay.Caption = " سند صرف / نقدي" End If 1 End Sub الثاني منهما شيك ChChaqe حيث يتم عكس عملية الصرف الأولى يلغى تفعيل صرف نقدي كما يفعل الإطار5( Frame5) ويظهر التاريخ بصيغة معينة كما أنه لا يفعل الكومبو بانك ويظهر أعلى صفحة السند عنوان (سند صرف / شيك): Private Sub ChChaqe_Click() On Error GoTo 1 If ChChaqe.Value = True Then ChCash.Value = False Frame5.Visible = True TxChDate.Value = Format(Date, "yyyy/mm/dd") Lpay.Caption = "سند صرف / شيك" CmbBank.Visible = False End If 1 End Sub ولكي تتم كتابة وتدوين سند صرف كان لا بد من تذييله بتوقيعات اللجنة المختصة من مستلم ومحاسب ومدير المؤسسة ليتم توثيقه واعتباره سنداً صحيحاً معترف عليه وذكر عنوان المؤسسة ورقم هاتفها وبريدها الإلكتروني والفاكس وما إلى هنالك. أكتفي بهذا القدر...وسأكمل بعونه تعالى..إلى لقاء متجدد ...يحدونا الرجاء بأن نفي هذه الدراسة حقها بمساهماتكم الكريمة والسلام عليكم ورحمة الله وبركاته. 1
عبد العزيز البسكري قام بنشر أغسطس 20, 2015 قام بنشر أغسطس 20, 2015 (معدل) السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا محمد حسن المحمد على الشرح المميّز و الممتاز ..جزاك الله خيرًا و زادها بميزان حسناتك عبد العزيز البسكري تم تعديل أغسطس 20, 2015 بواسطه عبد العزيز البسكري 1
محمد حسن المحمد قام بنشر أغسطس 20, 2015 الكاتب قام بنشر أغسطس 20, 2015 (معدل) السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا محمد حسن المحمد على الشرح المميّز و الممتاز ..جزاك الله خيرًا و زادها بميزان حسناتك عبد العزيز البسكري السلام عليكم أخي الحبيب عبد العزيزالبسكري جزاك الله خيراً على مرورك العطر...وإن كنت قد افتقدتك لفترة طويلة ، لقد تركتموني وتعلمون أني أغرق بشبرماء ولم أتعلم العوم بعد ...تركتموني في بحر متلاطم الأمواج بنظري وقد يكون بالنسبة لكم غير ذلك ، وها أنت ذا قد عدت والعود أحمد فلله الفضل والمنة... المحب لكم أبو يوسف تم تعديل أغسطس 20, 2015 بواسطه محمد حسن المحمد بعض العتب .والفرح بعودة الغياب. 1
عبد العزيز البسكري قام بنشر أغسطس 20, 2015 قام بنشر أغسطس 20, 2015 السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا محمد حسن المحمد على الشرح المميّز و الممتاز ..جزاك الله خيرًا و زادها بميزان حسناتك عبد العزيز البسكري السلام عليكم أخي الحبيب عبد العزيزالبسكري جزاك الله خيراً على مرورك العطر...وإن كنت قد افتقدتك لفترة طويلة ، لقد تركتموني وتعلمون أني أغرق بشبرماء ولم أتعلم العوم بعد ...تركتموني في بحر متلاطم الأمواج بنظري وقد يكون بالنسبة لكم غير ذلك ، وها أنت ذا قد عدت والعود أحمد فلله الفضل والمنة... المحب لكم أبو يوسف السلام عليكم و رحمة الله و بركاته من خلال شروحاتك المميّزة أستاذنا الغالي محمد حسن المحمد يبدو لي أنّك الغطّاس الماهر الذي سينقذنا جميعًا من هول بحر الأكواد و أمواجه .. بارك الله فيك و جزاك الله خيرًا ..لم نكن لنتركك وحدك فقط كنت مسافرًا غائبًا عن المنزل وليس معي أي وسيلة إتّصال .. البركة فيك أنتَ سيّدي الكريم .. واصل وفّقك الله و سدّد خطاك .. 1
محمد حسن المحمد قام بنشر أغسطس 20, 2015 الكاتب قام بنشر أغسطس 20, 2015 السلام عليكم ورحمة الله وبركاته استبيان:يرجى من إخوتي الكرام تقييم ما قدمناه حتى الآن..نقوم من خلاله الانطلاق نحو الآتي بعد أخذ وجهات نظركم الكريمة بعين الاعتبار... والسلام عليكم
محمد حسن المحمد قام بنشر أغسطس 26, 2015 الكاتب قام بنشر أغسطس 26, 2015 (معدل) P السلام عليكم ورحمة الله وبركاته... نكمل بحول الله وقوته من حيث توقفنا، قلنا أنه قام السيد المحترم ضاحي الغريب بتذييل سند الصرف بالمعلومات الضرورية لتوثيق السند ومصداقيته وبتلك الأخرى الضرورية للتواصل مع الجهة المصدرة للسند وهناك نقوم بملء الحقل النصي بالمطلوب حسب صفة كل عضو ليقوم بمهره بتوقيعه الكريم بعد الطباعة ..أما ليبل كتابة عنوان الجهة المصدرة للسند LaST تكتب عنوانها: Private Sub LaST_Click() End Sub وليبل آخر لكتابة أرقام الهواتف...والمسمى LaTe: Private Sub LaTe_Click() End Sub وبذلك نكون قد انتهينا من بحث القسم الأول ..راجين من الله التوفيق و السداد. ب – القسم الثاني: بحث وتعديل وطباعة حيث نلاحظ أن هذا القسم يعتني باستدعاء البيانات التي أدخلت من قبل والتعامل معها حسب مقتضى الحاجة( تعديل – طباعة) وسنرى أن طريقة التعامل مع البحث تختلف عن كتابتها وترحيل (فرق بين من يصدر ومن يستورد) وهنا عصا القيادة لهذا الجانب يتحكم بها زر ChCmdSearch وهنا نرى وجوب تفعيل أزرار وإيقاف أخرى عن العمل فبداية نرى Clear التي عرفنا وظيفته سابقاً وكما رأينا بمشاركة الأستاذ ضاحي الآنفة الذكر(تفريغ حقول العمل من أية كتابات سابقة)، إلغاء تفعيل (تسجيل سند ) جديد ،والترقيم الجديد ،والحفظ للجديد. وبالمقابل تفعيل (الكومبوسيرتش) قائمة البحث ، والطباعة ، والتحرير وإظهار أعلى شاشة السند (سند صرف) وزر CkqTxt التحقق. Private Sub ChCmdSearch_Click() On Error GoTo 1 If ChCmdSearch.Value = True Then Clear ChNew.Value = False 'TxNo.Visible = False CmdSearch.Visible = True CmdPrint.Visible = True CmdSave.Visible = False CmdEdit.Visible = True LabNo.Caption = "بحث برقــم السنـد /" Lpay.Caption = "سند صرف" ChNames.Visible = False CkqTxt.Visible = True Lbl40.Visible = True CkqTxt.Text = "" L1.Visible = True Chabout.Visible = False L2.Visible = True ChBank.Visible = False L3.Visible = True End If 1 End Sub تظهر ليبلات كانت مخفية لأنها مصممة للبحث والاستدعاء ننتقل إلى طريقة البحث برقم الشيك: Private Sub ComboBox1_Change() sheet1.Activate II = 9 Do Until sheet1.Cells(II, "F").Text = "" If ComboBox1.Text = sheet1.Cells(II, "F").Text Then Cells(II, "F").Activate ChCash.Value = False ChChaqe = True CmdSearch = ActiveCell.Offset(0, -5).Text End If II = II + 1 Loop End Sub يتم عن طريق تفعيل الورقة1 (Sheet1 ) حيث تبدأ المعلومات في الصف9 في العمود F وهنا أطلب من إخوتي الكرام شرح هذا الكود لتعم الفائدة....((((( البحث بالاسم وبرقم الشيك))))).. إخوتي الأكارم يرجى التكرم بإيجاد إجابة شافية كافية،والله في عون العبد ما كان العبد في عون أخيه. والصلاة والسلام على سيد المرسلين والحمد لله رب العالمين. والسلام عليكم ورحمة الله وبركاته... أخوكم المحب لكم أبو يوسف تم تعديل أغسطس 26, 2015 بواسطه محمد حسن المحمد تنسيق أكواد
محمد حسن المحمد قام بنشر أغسطس 26, 2015 الكاتب قام بنشر أغسطس 26, 2015 P السلام عليكم ورحمة الله وبركاته... أما من حيث البحث برقم السند فإنني أرجو من الإخوة الكرام التفضل بعرض كوده وشرح مؤداه علماً أنني وجدت هذا الكود يتمحور حول هذا المجال...تاركاً لكم التوسع بشرحه Private Sub CmdSearch_Change() D_Search End Sub أما الحقول التي تعرض بشكل افتراضي أسماء المستلم والمحاسب والمدير هي عبارة عن TextBox أطلق اسم TDebtor على الخاص بالمدير وحقول التعريف بجهة إصدار السند،وقد صمم كوداً لتظهر الأسماء المسجلة في ورقة العمل DATA كما يلي: Private Sub TDebtor_Change() End Sub Private Sub UserForm_Initialize() '''''''''''''''''''''''''''''''''''''''''''''''''''''' m = sheet1.[M9] mm = 9 Do Until sheet1.Cells(mm, "a").Text = "" mm = mm + 1 Loop TxNo.Value = mm + 1 - 10 + m TxDate.Text = Format(Date, "yyyy/mm/dd") ChCmdSearch.Value = True TxNo.Locked = True CombNames.Visible = False Cmbabout.Visible = False TextBox5.Value = sheet1.[m2] TextBox4.Value = sheet1.[m3] TextBox3.Value = sheet1.[m4] TDebtor.Value = sheet1.[m6] LaST.Caption = sheet1.[m7] LaTe.Caption = sheet1.[m8] End Sub تم عرض تاريخ تحرير السند وهنا تم إعداد مربعات نصوص مساوية لما يقابلها من نصوص في العمود حيث الخلية كما يلي: أسم الشركة شركة اوفيسنا التعليمية M2 TextBox5 المستلم خالد خليل M3 TextBox4 المحاسب ضاحي الغريب M4 TextBox3 المدير خبور خير M6 TDebtor عنوان الشركة شركة أوفيسنا التعليمية - ميدان أوفيسنا - شارع 10 M7 LaST تليفونات وايميل وفاكس ت : 322145678 فاكس :- 325641471 M8 LaTe وبذلك أكون قد عرضت القسم الثاني من البحث بما أمدني الله ...وتركت لإخوتي الكرام التفضل بشرح ما لم يدركه علمي الضحل ...فهم أجدر بذلك وأقدر عليه؟ والصلاة والسلام على سيد المرسلين والحمد لله رب العالمين. والسلام عليكم ورحمة الله وبركاته... أخوكم المحب لكم أبو يوسف يتبع إن شاء الله تعالى.... 1
عبد العزيز البسكري قام بنشر أغسطس 26, 2015 قام بنشر أغسطس 26, 2015 (معدل) السلام عليكم و رحمة الله و بركاته أتمنى أن تكون و جميع أعضاء منتدى أوفيسنا بألف خير عودة ميمونة و موفّقة بإذن الله .. إشتقنا لكم و الله بارك الله فيك أستاذنا القدير محمد حسن المحمد على مواضيعك الشيّقة ..جزاك الله خيرًا و زادها بميزان حسناتك .. تم تعديل أغسطس 26, 2015 بواسطه عبد العزيز البسكري 1
محمد حسن المحمد قام بنشر أغسطس 26, 2015 الكاتب قام بنشر أغسطس 26, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الحمد لله رب العالمين ...الحمد لله الذي بنعمته تتم الصالحات وكما قلت أخي الحبيب عبد العزيز عوداً حميداً وجزاكم الله خيراً تهانينا لكل أعضاء المنتدى الكرام .....أسبوع طويل مر دون أوفيسنا. تم تعديل أغسطس 26, 2015 بواسطه محمد حسن المحمد
محمد حسن المحمد قام بنشر أغسطس 26, 2015 الكاتب قام بنشر أغسطس 26, 2015 P السلام عليكم ورحمة الله وبركاته... بعد أن تجاوزنا بفضل الله تعالى ومنته البحث – حسب المستطاع – باتجاهيه الكتابة والترحيل ثم البحث والتعديل نقوم بعرض الأزرار التي تهتم بالنموذج كما في الصورة أدناه حيث سنستعرضها حسب موقعها من النموذج من اليمين إلى اليسار: 1 – مسح جميع البيانات CmbClearSheet1:حيث يقوم الزر بالضغط عليه بمسح البيانات من الورقة DATA للبدء بورقة جديدة خالية من البيانات التي تم تحميلها إليها بعد عرض رسالة للسماح جميع البيانات : Private Sub CmbClearSheet1_Click() Clear_Sheet1 End Sub بعد إعطاء الزر الأمر بالمسح لبيانات سندات الصرف ننتقل إلى الكود التالي حيث سيتم اختيار النطاق من A9 حتى I1000 تظهر الرسالة وعند توكيدها بالموافقة يتم مسح المحتويات أما إن ضغطت على الزر لا سيتم التراجع عن قرارك السابق بالمسح ولا تمس بياناتك. Sub Clear_Sheet1() Dim Msg As String Dim Amr As Integer With sheet1 .Activate .[A9:I1000].Select Msg = " هل انت متأكد من مسح جميع بيانات سندات الصرف " Amr = MsgBox(Msg, vbYesNo) If Amr = vbYes Then Selection.ClearContents End If Range("A9").Select End With End Sub 2- مسح الفورم: CmdClear وهنا يقوم بمسح البيانات التي دوّنت على النموذج كما هو موضّح أدناه: Private Sub CmdClear_Click() Clear End Sub 3- زر طباعة: CmdPrintعندما تريد طباعة سند تم تصميم عرض وارتفاع وهوامش المستند على جانبيه الأيمن والأيسر."يرجى التداخل لشرح هذا الكود".. Private Sub CmdPrint_Click() On Error GoTo 0 If CmdSearch.Text = "" Then MsgBox "من فضلك أدخل رقم السند", vbOKOnly, "طباعة خطأ!" Exit Sub Else Frame6.Visible = False Frame11.Visible = False 'TextBox1.ShowDropButtonWhen = 0 Toumana.Zoom = (Toumana.Zoom * 1) Toumana.Width = (Toumana.Width * 1) Toumana.Height = (Toumana.Height * 1.1) Toumana.Left = 200: Toumana.Top = 30 Toumana.PrintForm End If Call RestForm 0 End Sub 4- التعديل: وهنا التعديل على بيانات النموذج: CmdEdit Private Sub CmdEdit_Click() Amendment End Sub 5- إغلاق: وهنا يتم إغلاق النموذج فتدخل إلى ورقة البيانات... Private Sub CmdExit_Click() On Error GoTo 1 Application.Visible = True sheet1.Activate Unload Me 1 End Sub 6- حفظ وخروج:يتم حفظ البيانات ثم الخروج من التطبيق: Private Sub CommandButton1_Click() Me.Hide ActiveWorkbook.Save Workbooks.Application.Quit End Sub كما أننا نلاحظ أن النموذج يطالبك بملء البيانات المطلوبة كاملة قبل الحفظ والطباعة فعندما تضع البيانات عدا المبلغ تطالبك رسالة بإدخال المبلغ، وكذلك الاسم ثم سبب الصرف حسب تسلسل الخطأ قبل الترحيل أي:( لا يتم ترحيل البيانات إلا إذا كانت متكاملة ضمن حقول النموذج): Sub AddNew() Dim Msg As String Dim Amr As Integer Dim totalrows As Long Dim str As String On Error GoTo 1 If TxAmount.Text = "" Then MsgBox "من فضلك ادخل المبلغ", vbOKOnly, "المبلغ خطأ!" Exit Sub End If If TxName.Text = "" Then MsgBox "من فضلك ادخل الأسم", vbOKOnly, "الأسم خطأ!" Exit Sub End If If TxDescription.Text = "" Then MsgBox "من فضلك ادخل سبب الصرف", vbOKOnly, "الوصف خطأ!" Exit Sub End If If ChChaqe.Value = False And ChCash.Value = False Then MsgBox "من فضلك أختار طريقة الصرف ", vbOKOnly, "الصرف!" Exit Sub ElseIf ChChaqe.Value = True And TxChNo.Text = "" Then MsgBox "من فضلك أدخل رقم الشيك ", vbOKOnly, "رقم الشيك!" Exit Sub ElseIf ChChaqe.Value = True And TxChDate.Text = "" Then MsgBox "من فضلك أدخل تاريخ الشيك ", vbOKOnly, "تاريخ الشيك!" Exit Sub ElseIf ChChaqe.Value = True And TxChBank.Text = "" Then MsgBox "من فضلك أدخل البنك ", vbOKOnly, "البنك!" Exit Sub End If totalrows = sheet1.Cells(Rows.Count, "A").End(xlUp).Row If totalrows < 8 Then totalrows = 8 Else totalrows = totalrows End If sheet1.Cells(totalrows + 1, 1) = Format(TxNo.Text, "0") sheet1.Cells(totalrows + 1, 2) = Format(TxDate.Text, "yyyy/mm/dd") sheet1.Cells(totalrows + 1, 3) = TxName.Text sheet1.Cells(totalrows + 1, 4) = TxDescription.Text If ChCash.Value = True Then sheet1.Cells(totalrows + 1, 5) = Format(TxAmount.Text, "0") ElseIf ChChaqe.Value = True Then sheet1.Cells(totalrows + 1, 8) = Format(TxAmount.Text, "0") sheet1.Cells(totalrows + 1, 6) = Format(TxChNo.Text, "0") sheet1.Cells(totalrows + 1, 7) = Format(TxChDate.Text, "yyyy/mm/dd") sheet1.Cells(totalrows + 1, 9) = Format(TxChBank.Text, "0") End If MsgBox "تم ترحيل وحفظ السند بنجاح" 'Sheet1.Range("A9:I" & totalrows + 1).Sort Key1:=Sheet1.Range("A9"), Order1:=xlAscending Msg = "هل تريد طباعة السند" Amr = MsgBox(Msg, vbYesNo) If Amr = vbYes Then ChCmdSearch.Value = True CmdSearch.Text = TxNo.Value CmdPrint_Click End If Clear m = sheet1.[M9] mm = 9 Do Until sheet1.Cells(mm, "a").Text = "" mm = mm + 1 Loop TxNo.Value = mm + 1 - 10 + m 1 End Sub وأخيراً أقول لأستاذي الكريم ضاحي الغريب وإخوتي الذين شاركوني إياه جزاكم الله خيراً وبالنسبة لي هذا الجهد المستطاع والجود من الموجود وفقني الله وإياكم لما يحب ويرضي وجعلنا من أهل البر والتقوى...آمين . أعتذر إليك أستاذي الكريم ضاحي الغريب فالموضوع أكبر من حجمي وتصوري وأعلم أنه لا زال الكثير منه لم نتطرق له أو أنني قد أخطأت في تفسير كود ما أو أكثر وذلك لقلة خبرتي ودرايتي.. والحمد لله الذي بنعمته تتم الصالحات والصلاة والسلام على سيد المرسلين والحمد لله رب العالمين أخوكم المحب لكم أبو يوسف. 1
محمد حسن المحمد قام بنشر أغسطس 26, 2015 الكاتب قام بنشر أغسطس 26, 2015 بسم الله والصلاة والسلام على رسول الله وعلى آله وصحبه ومن والاه أما بعد: السلام عليكم ورحمة الله وبركاته... مباركة عليكم عودة المنتدى إلى سابق عهده...أما من حيث دراستنا هذه فإنني أعتبر أن هذه ليست نهاية المطاف فبإمكان أي من إخوتي الأكارم تعويض النقص وسد الخلل وإتمام البحث الذي أقف شخصياً - لقلة علمي فقط - عاجزاً معتذراً...شاكراً لكل من ساهم ...متمنياً عليكم إيفاءه حقه لأكون طالباً أجثو على ركبتي مستلهماً من علمكم الفياض مستنيراً بقبس من نوركم فهلا أكملتم المشوار. والصلاة والسلام على سيد المرسلين والحمد لله رب العالمين أخوكم المحب لكم أبو يوسف. 2
ضاحي الغريب قام بنشر أغسطس 26, 2015 قام بنشر أغسطس 26, 2015 أخي الحبيب أ/ محمدحسن السلام عليكم ورحمة الله وبركاته وفيت وكفيت ولا اروع من شرحك بارك الله فيك وجزاك خيرا واللهم يجعله في ميزان حسناتك مع تحياتي واحترامي 1
ahmed masrawy75 قام بنشر أغسطس 26, 2015 قام بنشر أغسطس 26, 2015 استاذ ضاحى الغريب اريد ان اتواصل معك بشان برنامج الشيكات من فضلك
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان