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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. أنصحك بأن تفتح موضوع جديد وان ترفق مثال مع عدد بسيط من السجلات لتطبيق الفكرة 😊
  2. استناداً لهذه الجملة ، جرب فكرتي 😅 Me.Child1.Form.FilterOn = False Me.Child1.Form.Requery وأهلاً بعودتك استاذنا @ابو جودي 🥰
  3. ما نسيتك اخي الكريم ، ولكن لأن اليوم إجازتي وليس أمامي جهاز كمبيوتر في الوقت الحالي 😊 ، فإن كان في العمر بقية غداً إن شاء الله.
  4. أهلاً بك معنا في منتدانا الكبير ، وأتمنى أن تجد الفائدة التي ترجوها . وما ذكرته لك حتى لا يتعرض موضوعك للإغلاق أخي @صالح الصالحي
  5. ارجو أخي الكريم @صالح الصالحي ان تقوم بالغاء افضل إجابة ، واستخدامها لحين ان تجد الإجابة الصحيحة أياً كان مقدمها ، هذا أولاً ثانياً ، التزاماً بقواعد المنتدى ادراج بعض البيانات التي ترغب بانتاج البحث والتقارير عنها ، وليس ارفاق ملف فارغ وكأنك تريد ممن يقدم المساعدة أن يملأه ثالثاً ، للوصول لحلول لمشكلتك :- لا تستخدم أسماء عربية في مسميات الحقول . لا تستعمل المسافات بين الأسماء . لا تستعمل اسماء حقول محجوزة للبرنامج مثل ( Name,Date,To,From ..... إلخ ) لا تستعمل رموز ( #، @،$،& .... إلخ ) في مسميات الحقول . لا تستعمل الأرقام في أسماء حقول الجداول أو تبدأ بها . قواعد المشاركة بمنتدي أوفيسنا
  6. جزاك الله خير على الهدية أخونا الفاضل @عبد اللطيف سلوم ، ولمشاركتك فكرة أستاذنا @ابو جودي ( رغم غيابه عنا في الفترة الأخيرة ) . إلا أني دائماً أتوجه إلى أن تكون بداية الأسبوع عندي يوم السبت وليس الإفتراضي حسب الكمبيوتر يوم الأحد ، فهذا تعديل لا يلمس شيء في هديتك سوى أنه يجعل احتساب الأسبوع يبدأ من يوم السبت لا الأحد . Private Sub salloum_AfterUpdate() Me.x1 = Me.salloum.Column(1) Select Case Me.salloum.Column(0) Case "1" Me.n1 = DateSerial(Year(Date), 1, 1) Me.n2 = DateSerial(Year(Date), 12, 31) Case "2" Me.n1 = DateSerial(Year(Date), Month(Date), 1) Me.n2 = DateSerial(Year(Date), Month(Date) + 1, 0) Case "3" Me.n1 = DateAdd("d", -Weekday(Date, vbSaturday) + 1, Date) Me.n2 = DateAdd("d", 6, Me.n1) Case "4" Me.n1 = DateSerial(Year(Date) - 1, 1, 1) Me.n2 = DateSerial(Year(Date) - 1, 12, 31) Case "5" Me.n1 = DateSerial(Year(Date), Month(Date) - 1, 1) Me.n2 = DateSerial(Year(Date) - 1, 12, 31) Case "6" Me.n1 = DateAdd("d", -Weekday(Date, vbSaturday) + 1, Date) - 7 Me.n2 = DateAdd("d", 6, Me.n1) Case "7" Me.n1 = Null Me.n2 = Null End Select End Sub
  7. طيب كفكرة ، جرب هذا المرفق وخذ لقطة للشاشة وادرجها هنا لرؤية النتيجة :- اختيار ماسح ضوئي.accdb
  8. اختلط علي الأمر هههههههه بسيطة دي يا دكتور .. احنا نحجز متغير من نوع Date وليكن اسمه التاريخ السابق ( PreviousDate ) ، ونحدد قيمته بناقص يوم للتاريخ الذي في مربع النص Text15 ، ثم نحدد قيمة مربع النص Text17 بتغيير بسيط ، ليصبح الكود كالآتي :- Dim PreviousDate As Date PreviousDate = DateAdd("d", -1, Me.Text15.Value) Me.Text17.Value = Nz(DLookup("rased", "T1", "mastedate = #" & Format(PreviousDate, "mm/dd/yyyy") & "#"), 0)
  9. صديقي الدكتور @الحلبي ، أعلم جيداً انك قد توجهت للدالة Dlookup وأنك لم تحصل ما تطلبه والسبب هو باعتقادي أنه بالتاريخ المطلوب الذي حددته سيقرأ اكسيس التاريخ على انه تنسيق dd/mm/yyyy ولكنه في الواقع بهذا التنسيق mm/dd/yyyy ، لذا تفضل بتجربة هذا السطر في حدث بعد التحديث لمربع نص التاريخ Text15 :- Me.Text17.Value = Nz(DLookup("rased", "T1", "mastedate = #" & Format(Me.Text15.Value, "mm/dd/yyyy") & "#"), 0) الرصيد.accdb جرب وأخبرني بالنتيجة
  10. فعلا الكود يعمل على نظام 32 بكفاءة ، لكن على نظام 64 فلا يعمل عند إضافة الجزء Ptrsafe كما حاول الأستاذ @عبد اللطيف سلوم 😉 . لربما موضوع أستاذنا جعفر واسع النطاق وأساس الإجابة كما تفضل استاذ خليفة .
  11. لما شرحته في طلبك ، ارفق ملف ليتم العمل عليه 😊
  12. تفضل أخي الكريم @أبو محمد سعيد ، هذا السطر :- Like "*" & [Forms]![Form_Name]![Text_Box] & "*" وهذا مثال تجريبي للفكرة Search By Like.accdb
  13. للأسف ليس لي تجربة حقيقية مع SQL Server لأخدمك بها
  14. وعليكم السلام ورحمة الله وبركاته أخي الكريم ، بالنسبة للأوفيس 365 فأنا لم أجربه للأسف كثيراً ومعتمد على 2016 لاستقراره وعدم مواجهتي لأي مشاكل عند استخدامه . أعتقد هي المشكلة في أوفيس 365 , وعل أحد الأساتذة والأخوة تجربة الكود على إصدار 365 لمن يملكه ! وإفادتنا بالنتيجة
  15. استكمالاً لما سبق في النموذج Home 👆 :- نستكمل العمل لضبط الوقت المتبقي ، و اليوم سنضيف وقت صلاة العشاء وما يتبعه كما يلي :- ✨ في الدالة Salawat داخل النموذج Home ، سنضيف السطرين المسؤولين عن إدراج وقت صلاة العشاء و وقت الإقامة . Me.isha = Format(GetTimes(Me.longitude, Me.latitude, Me.timezone, "Eshaa", Me.tx, dt, mydate), "hh:mm AM/PM") Me.Ish_Eq = Format(DateAdd("n", 10, CDate(Me.isha)), "hh:mm AM/PM") حيث سيكون وقت الإقامة 10 دقائق بعد نهاية الأذان . ✨ في حدث Form_Timer للنموذج Home سنقوم بحجز المتغير [ishaTime As Date] من نوع Date لصلاة العشاء وقيمته [ishaTime = CDate(Me.isha)] ، والحدث الذي سيقوم باحتساب الوقت المتبقي لموعد صلاة العشاء ؛ ليصبح الكود للحدث كما يلي :- Private Sub Form_Timer() On Error Resume Next Dim tfajr As Date, tzohr As Date, tasr As Date, tmagrib As Date, tisha As Date Dim dt As Integer Dim currentTime As Date, nextPrayerTime As Date, timeLeft As Date Dim hoursLeft As Integer, minutesLeft As Integer, secondsLeft As Integer Dim fajrTime As Date, zohrTime As Date, Country_Name As String, ishaTime As Date If Me.daylight = True Then dt = 1 Else dt = 0 End If tfajr = GetTimes(Me.longitude, Me.latitude, Me.timezone, "fajr", Me.tx, dt, Date) currentTime = Time fajrTime = CDate(Me.fajr) zohrTime = CDate(Me.zohr) ishaTime = CDate(Me.isha) Country_Name = DLookup("[city_name]", "City", "ID=" & [city_name]) If currentTime < fajrTime Then Txt_Pry_Name.Value = "الفجر" nextPrayerTime = fajrTime ElseIf currentTime < zohrTime Then Txt_Pry_Name.Value = "الظهر" nextPrayerTime = zohrTime ElseIf currentTime < ishaTime Then Txt_Pry_Name.Value = "العشاء" nextPrayerTime = ishaTime Else Txt_Pry_Name.Value = "الفجر" nextPrayerTime = DateAdd("d", 1, fajrTime) End If If currentTime < nextPrayerTime Then timeLeft = nextPrayerTime - currentTime Else timeLeft = DateAdd("h", 24, nextPrayerTime) - currentTime End If hoursLeft = Hour(timeLeft) minutesLeft = Minute(timeLeft) secondsLeft = Second(timeLeft) If Me.Txt_Time_Count = "00:00" Then Me.Txt_Time_Count = "00:00:59" Me.Txt_Time_Count = Format(hoursLeft, "00") & ":" & Format(minutesLeft, "00") & ":" & Format(secondsLeft, "00") Else Me.Txt_Time_Count = Format(hoursLeft, "00") & ":" & Format(minutesLeft, "00") End If Me.Caption = Country_Name & " " & "بقي لصلاة " & Txt_Pry_Name & " " & Txt_Time_Count & " تقريباً" & " ، في مدينة " If Time() = tfajr Then MsgBox "حان الآن موعد أذان الفجر", , "" End If End Sub Salawat.accdb يتبع ... 👈
  16. جرب هذا التعديل أخي الكريم ، بعد تجربته عندي طبعاً أعتقد أنه مطلبك قاعده بيانات للتجارب - Copy - Copy.mdb
  17. دي تحط تحتها 600 خط أحمر . هو مشروع جميل وفكرته حلوة بالنسبة لي ، ولكنه سيستغرق وقت وجهد طويل فعلاً ، لذا انصحك بانشاء الجداول بدايةً وباتباع اسلوب محدد وهو :- لا تستخدم أسماء عربية في مسميات الحقول . لا تستعمل المسافات بين الأسماء . لا تستعمل اسماء حقول محجوزة للبرنامج مثل ( Name,Date,To,From ..... إلخ ) لا تستعمل رموز ( #، @،$،& .... إلخ ) في مسميات الحقول . لا تستعمل الأرقام في أسماء حقول الجداول أو تبدأ بها . دي بعض الأساسيات بالنسبة لي اللي لازم أتبعها في تأسيس الجداول ، ثم اعتماد الحقل الرئيسي أو اللي لازم اربط فيه الأمور ببعضها ، وهنا هيكون رقم الكتاب المفتاح الفريد أو الغير مكرر . ابتدي وارفع ملفك ونتابع مع بعض لأنه طبعاً مستحيل يكون كل اللي انت وضحته في جلسة وحدة . بالتوفيق
  18. نعم أخي @Zooro1 . حتى تكون الفكرة واضحة
  19. أخي الكريم ، من يقدم المساعدة لا يعلم ما هو مقصودك بـ "مش شغال ؟؟؟؟؟؟؟؟" دون ان تطرح المشكلة ؟؟؟ وإن كان مقصدك بعدم اجراء وتنفيذ امر الطباعة !!!! فذلك لعدم وجود امر الطباعة DoCmd.PrintOut اما هذا السؤال :- فاعتقد حله كود اغلاق التقرير بعد امر الطباعة DoCmd.Close acReport, "SeparetrBySelection" مساهمة مع الأخ @Lover Karo 👍
  20. توضحت الفكرة .. اليك حلين اثنين واختر ما تريده . الأول لو كان الإسم أكبر من 4 مقاطع :- Private Sub comb1_Click() Dim parts() As String parts = Split(txtNm.Value, " ") If UBound(parts) > 3 Then MsgBox "النص أكبر من 4 مقاطع" Exit Sub End If name1 = parts(0) name2 = parts(1) name3 = parts(2) name4 = parts(3) End Sub والثاني تحسباً لو كان الإسم أقل من 4 مقاطع :- Private Sub comb1_Click() Dim parts() As String parts = Split(txtNm.Value, " ") If UBound(parts) > 3 Then MsgBox "النص أكبر من 4 مقاطع" Exit Sub ElseIf UBound(parts) < 3 Then MsgBox "النص أصغر من 4 مقاطع" Exit Sub End If name1 = parts(0) name2 = parts(1) name3 = parts(2) name4 = parts(3) End Sub جرب واخبرني بالنتيجة 😊
  21. للعلم اخي الكريم ، التعديل على برنامج جاهز ليلبي حاجتك قد يستغرق وقت أطول من بداية تصميمه من البداية 😅
  22. حالياً لاني متابع من الموبايل ، اكتب لي بشرح وافي ( ولا تبخل بالشرح الواضح ) الفكرة اللي متخيلها للبرنامج من لحظة أول نموذج ..... الخ 😅
  23. تفضل أخي الكريم Scanner DLL.accdb ارسل الكود الذي لديك لتجربته ومحاولة فهم سلوكه
×
×
  • اضف...

Important Information