بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
1731 -
تاريخ الانضمام
-
Days Won
5
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبو عبدالله الحلوانى
-
وعليكم السلام ورحمة الله وبركاته أعتقد أن الأمر سهل كل ما تحتاجه هو تكرار الكود وتعديل ما يلزم من أسماء عناصر التحكم مثل هذا Dim Psh As String, psh2 As String On Error GoTo Err Psh = CurrentProject.Path & "/" & "الصور" & "/" & [ID] & ".jpg" Psh2 = CurrentProject.Path & "/" & "1الصور" & "/" & [ID] & ".jpg" pic.Picture = Psh pic1.Picture = Psh2 Exit Sub Err: pic.Picture = "" pic1.Picture = "" Exit Sub جرب هذا ووافنا بالنتائج - وان كنت قد فهمت مرادك بشكل خاطئ فأرجو مزيد من الايضاح. تمنياتي بالتوفيق
-
السلام عليكم ورحمة الله وبركاته فتحت اليوم قاعدة البيانات التي أعمل عليها منذ عدة أيام وعند بدأ العمل علي تعديل أحد التقرير ظهرت لي هذه الرسالة ولا أذكر أني رأيتها من قبل مع العلم أن البرنامج كان يعمل بصورة جيدة مع آخر تجربة بالأمس. وكذلك باقي الكائنات بالبرنامج تعمل بشكل جيد والحمد لله أرجو الافادة عن سبب ظهور هذه الرسالة وطرق العلاج. وجزاكم الله خيرا
-
تسجيل التغيرات التي تحدث على قاعدة البيانات
أبو عبدالله الحلوانى replied to يونس الخطابي's topic in قسم الأكسيس Access
هلا جعلت اجابت أخيك أفضل اجابة - ان كانت اجابته وفت مرادك - وليبدو موضوعك أنه مجاب -
قم بعمل ضغط واصلاح للملف لديك يبدو أن لديك صور مضمنة كثيرة بالنماذج والتقارير أو قم بسحب النموذج الذي به المشكلة بملف فارغ جديد ثم قم برفع الملف الجديد هنا. تمنياتي بالتوفيق
-
ارسال ملف وورد بالاوتلوك عن طرق الاكسس كمرفق
أبو عبدالله الحلوانى replied to aaabade's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته جرب هذا المرفق لعله يوافق مرادك وأخبرنا بالنتائج ملاحظة: غير عنوان الايميل المرسل اليه قي هذا السطر من الكود Call sendAsAttach(docname, "testEmil@gmail.com") Barna.rar -
اختفاء النموذج خلف واجهة البرنامج عند تصغيرة
أبو عبدالله الحلوانى replied to f16's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته بالاضافة الي ما تفضل به أستاذنا @محمد أبوعبدالله لماذا لا تجرب القيام باغلاق النموذج أو اخفاءه بدلا من التصغير - فان النماذج تعمل داخل بيئة الأكسس حتي لو قمت باخفاء الأكسس فإنه لا يزال متحكم بعمل النماذج والتقارير - فتصغير النموذج يودي الي بقائه تحت النماذج المفتوحة فقط ولا يختفي كما هو معلوم. كنت أتفادي التصغير دائما باغلاق النموذج أو اخفاءه واعادة فتحة مرة أخري عند الحاجة. تمنياتي بالتوفيق -
وعليكم السلام ورحمة الله وبركاته ان كان طلبك لبرنامج متكامل بمقابل مادي فضع موضوعك بقسم الاعلانات بالموقع وضع وسيلة للتواصل معك. وان كنت تريد المساعدة لاعداد برنامجك بنفسك فقم بوضع مشكلتك التي تواجهك واحدة تلو الأخري بمواضيع مستقلة وفقا لقواعد المنتدي حتي تجد من يساعدك بحلها من الاساتذة الكرام بالمنتدي ولن يبخل أحد منهم بأن يجود بما يعلم. تمنياتي لكم بالتوفيق والسداد.
-
البحث بأى كلمة داخل نموذج غرعى
أبو عبدالله الحلوانى replied to ahmed sherif's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته مساهمة مع أستاذنا @محمد أبوعبدالله انظر الي هذا المرفق بالمشاركة التالية لعله يفيدك بشئ -
السلام عليكم ورحمة الله وبركاته الحقل يحوي نص بهذا الشكل "25.1*12.25*14.6" أو هذا الشكل "65.12+65+98+3.25" أو أيا كانت العملية الحسابية أحتاج الي كود ينفذ العملية الحسابية التي بداخل النص حاولت بهذا الكود ولكن الأمر لم يفلح معي حيث أني استخدمت الدالة mid لتقطيع النص ولكن تم التقطيع حرف حرف وليس رقم رقم وهذا هو كودي البسيط الغير ناجح Function CalcMsahaAkar(ByRef txtx As String) As Double 'If InStr(1, txtx, "*") > 0 Then 'CalcMsahaAkar = Round(Split(txtx, "*")(0) * Split(txtx, "*")(1), 2) 'End If Dim no As Double Dim no1 As Double no1 = 1 'CalcMsahaAkar = Val(txtx) For n = 1 To Len(txtx) If Mid(txtx, n, 1) <> "*" Or Mid(txtx, n, 1) <> "+" Then Debug.Print Mid(txtx, n, 1) no = Mid(txtx, n, 1) if Instr(1,txtx,"*")>0 then no1 = no1 * no Elseif Instr(1,txtx,"+")>0 then no1 = no1 + no end if End If Next CalcMsahaAkar =Round(no1,2) Debug.Print CalcMsahaAkar End Function وجزاكم الله عنا خيرا .
-
شكرا لكم علي هذا العمل الرائع ما شاء الله جعله الله في موازين حسناتكم
-
السلام عليكم ورحمة الله وبركاته الحمد لله تم اكتشاف الخطأ بالكود هو عند الخروج من الدوار فور قبل نتيجة الدالة الصورة توضح المقال الخطأ هنا If AutoAmount <= (Amount + 100) And AutoAmount >= (Amount - 100) Then Exit For <<====================== here a wrong tstAmont = "AmountCalculit: " & AutoAmount & vbCrLf & _ "Until date: " & IIf(stopDat > 0, stopDat, EndDate) Else كان يجب أن يكتب هكذا If AutoAmount <= (Amount + 100) And AutoAmount >= (Amount - 100) Then tstAmont = "AmountCalculit: " & AutoAmount & vbCrLf & _ "Until date: " & IIf(stopDat > 0, stopDat, EndDate) Exit For <<=============== must write here after calculate function Else ربما هذا الدالة الطويلة لن يستفيد منها أحد!! ولكن تلك المعلومة البسيطة هامة جدا حتي لا يقع أحد في مثل ما وقعت به (أعلم أن جميعكم أساتذتي لا يخفي عليكم مثل هذا ولكن للتوثيق ولربما مر من هنا مبتدأ مثلي فتفده تلك المعلومة). (أن الكود يسير من الأعلي الي الأسفل فمن الواجب أن ننتبه أن لا ننهي الكود قبل اتمام احتساب النتائج! كما هو موضح بالأعلي) وجزاكم الله خيرا جميعا
- 1 reply
-
- 1
-
-
كيفية تحديث الشيت دون فتحها أو التنقل إليها
أبو عبدالله الحلوانى replied to شكيب عمار's topic in منتدى الاكسيل Excel
السلام عليكم أعتقد أن هذا الكود يعمل ولكن لم اجربه أرجو التجربة والافادة Sheets(2).RefreshAll ملاحظة: الرقم بين الاقواس هو رقم الشيت المراد تحديثه وأعتقد أن هذا الاعداد سيغنيك عن هذا -
السلام عليكم ورحمة الله وبركاته أرجو من السادة الخبراء المساعدة في توضيح سبب عدم وجود أي مخرجات لهذه الدالة وهل يوجد سبيل لاختصارها وجزاكم الله خيرا Function tstAmont(ByVal Amount As Double, ByVal Nsht As Integer, ByVal strtDat As Date, ByVal srf As Integer, _ ByVal ktr As Integer, ByVal whdat As Integer, Optional stopDat As Date = 0) As String 'this code for test amount and return correct date for 'this amount main idea will use 'for loop' to add 1 month 'to start date and calc amount if our amount = user amount 'stop her. else add another month and so on. '====================== Dim n As Integer Dim shozDat As Integer Dim dats(5) As Date Dim prsHom(5) As Double Dim prsTjry(5) As Double Dim Kmya As Integer Dim srfHom(5) As Double Dim srfTgry(5) As Double Dim FrstDate As Date Dim EndDate As Date Dim AutoAmount As Double '====================== Kmya = Choose(ktr, 90, 135, 180, 270, 360, 225) dats(1) = (#2/28/2016#) dats(2) = (#5/30/2016#) dats(3) = (#8/31/2017#) dats(4) = (#6/30/2018#) dats(5) = (Date) prsHom(1) = 30 prsHom(2) = 50 prsHom(3) = 52 prsHom(4) = 64.5 prsHom(5) = 67.5 prsTjry(1) = 1.16 prsTjry(2) = 1.6 prsTjry(3) = 2 prsTjry(4) = 2.4 prsTjry(5) = 3.6 srfHom(1) = 0.52 srfHom(2) = 0.51 srfHom(3) = 0.57 srfHom(4) = 0.63 srfHom(5) = 0.75 srfTgry(1) = 0.81 srfTgry(2) = 0.8 srfTgry(3) = 0.86 srfTgry(4) = 0.92 srfTgry(5) = 0.98 '======================= 'If strtDat <= dats(1) Then For n = 1 To DateDiff("m", strtDat, Date) If AutoAmount <= (Amount + 100) And AutoAmount >= (Amount - 100) Then Exit For tstAmont = "AmountCalculit: " & AutoAmount & vbCrLf & _ "Until date: " & IIf(stopDat > 0, stopDat, EndDate) Debug.Print AutoAmount Debug.Print Amount Debug.Print n Debug.Print stopDat Debug.Print EndDate Else n = n + 1 EndDate = DateAdd("m", n, strtDat) If Nsht = 1 Then If (stopDat <= dats(1)) Then AutoAmount = DateDiff("m", EndDate, stopDat) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) ElseIf (EndDate <= dats(1)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) End If If (stopDat <= dats(2) And stopDat > dats(1)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = DateDiff("m", dats(1), stopDat) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1) ElseIf (EndDate <= dats(2) And EndDate > dats(1)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = AutoAmount + (DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1)) End If If stopDat <= dats(3) And stopDat > dats(2) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1) AutoAmount = DateDiff("m", dats(2), stopDat) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1) ElseIf (EndDate <= dats(3) And EndDate > dats(2)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = AutoAmount + (DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(2), dats(3)) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1)) End If If stopDat <= dats(4) And stopDat > dats(3) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1) AutoAmount = DateDiff("m", dats(2), dats(3)) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1) AutoAmount = DateDiff("m", dats(3), stopDat) * whdat * prsHom(4) * IIf(srf = 1, 1 + srfHom(4), 1) ElseIf (EndDate <= dats(4) And EndDate > dats(3)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = AutoAmount + (DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(2), dats(3)) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(3), dats(4)) * whdat * prsHom(4) * IIf(srf = 1, 1 + srfHom(4), 1)) End If If stopDat <= dats(5) And stopDat > dats(4) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1) AutoAmount = DateDiff("m", dats(2), dats(3)) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1) AutoAmount = DateDiff("m", dats(3), dats(4)) * whdat * prsHom(4) * IIf(srf = 1, 1 + srfHom(4), 1) AutoAmount = DateDiff("m", dats(4), stopDat) * whdat * prsHom(5) * IIf(srf = 1, 1 + srfHom(5), 1) ElseIf (EndDate <= dats(5) And EndDate > dats(4)) Then AutoAmount = DateDiff("m", EndDate, dats(1)) * whdat * prsHom(1) * IIf(srf = 1, 1 + srfHom(1), 1) AutoAmount = AutoAmount + (DateDiff("m", dats(1), dats(2)) * whdat * prsHom(2) * IIf(srf = 1, 1 + srfHom(2), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(2), dats(3)) * whdat * prsHom(3) * IIf(srf = 1, 1 + srfHom(3), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(3), dats(4)) * whdat * prsHom(4) * IIf(srf = 1, 1 + srfHom(4), 1)) AutoAmount = AutoAmount + (DateDiff("m", dats(4), dats(5)) * whdat * prsHom(5) * IIf(srf = 1, 1 + srfHom(5), 1)) End If End If 'else tjary End If Next End Function وعند اختبارها لم تظهر أي نتائج أو حتي أخطاء!! ولا أدري لما؟! ?tstAmont(450,1,#8/5/2014#,0,1,1)
-
السلام عليكم ورحمة الله وبركاته خبرتي بدوال الاكسل ليست كبيرة ولكن الأمر أعتقد أنه بسيط ولكن لا تظهر لي نتائج صحيحة ولا أدري لماذا استخدمت هذه المعادلة للمقارنة بين تاريخين في حقول الشيت =if(A1>B1;A1;B1) ودائما تظهر لي قيمة الخلية A1 في كل الأحوال ولا أدري لماذا مع أني ضبط تنسيق الخلايا علي أنها short date تحياتي للجميع
-
طريقة اظهار رسالة التنبيه لمدة 3ثواني
أبو عبدالله الحلوانى replied to بلال اليامين's topic in قسم الأكسيس Access
هذا رابط صاحب المرفق الأصلي لعلي أكون قد عبثت ببعض الأكود بدون قصد -
طريقة اظهار رسالة التنبيه لمدة 3ثواني
أبو عبدالله الحلوانى replied to بلال اليامين's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته أظنك تريد شيئا كهذا هذا مثال أجنبي به ما تريد وزيادة (105 كيلو علي البيعة 😄) رجائا فك الضغط عن المجلد وأبقي كل شئ بداخله في نفس المسار قم بفتح ملف الأكسس وخذ جولة بين الأزرار والتبويبات ثم وافنا بالنتائج DynamicMessage.rar -
مساعدة في تنسيق النموذج و التقرير (المستمر)
أبو عبدالله الحلوانى replied to ABUTALAL2015's topic in قسم الأكسيس Access
السلام عليكم اولا أخي أنصحك أن تبتعد عن الأسماء المحجوزة بالأكسس لا تستعملها لتسمية عناصر التحكم أو الحقول بالجداول وهكذا فهذا سيؤدي بك للوقوع بمشاكل عند استخدام الأكواد فمثلا كلمة (Width) كلمة محجوزة ثانيا- هذا محاولة للحل لعلها تفيدك جرب هذا test.accdb -
السلام عليكم ورحمة الله وبركاته جمعة مباركة عليكم جميعا ان شاء الله أساتذتي الأحبة أستخدم استعلام داخل فورم للبحث بهذا الشكل الموضح بالصورة , ولكن دعت حاجة العمل لربط البرنامج بقاعدة الـ sql server فلم يعد يعمل الفورم كما كان بعهده السابق - فهل هنالك اختلافات معينة يجب مراعاتها عند انشاء الاستعلام بعد الربط بال sql server وهذا هو شكل الاستعلام SELECT databyBranchQry.* FROM databyBranchQry WHERE (((databyBranchQry.CustID)=[Forms]![InquiryFrm]![Tx0])) OR (((databyBranchQry.CustName) Like "*" & [Forms]![InquiryFrm]![tx0] & "*")) OR (((databyBranchQry.Address) Like "*" & [Forms]![InquiryFrm]![tx0] & "*")) OR (((databyBranchQry.KomiCrdNo)=[Forms]![InquiryFrm]![tx0])); قد وجد هذه الاختلافات التي تحدثت عنها مايكرسوفت هنا https://support.microsoft.com/ar-sa/office/مقارنه-access-sql-مع-sql-server-tsql-f09f180f-c005-4ff3-812f-14a5eb7902c8 ولكن بعد اجراء التغيرات من النجمة الي العلامة المؤية لم يحدث أي تغير وظل الفورم صامتا لا يبحث أرجو المساعدة فقد حاولت كثيرا عقد مصالحة بين الأكسس والسرفر ولم يقبلا التصالح حتي الآن - الفزعة يا أهل الخير 😀 وتحياتي للجميع