اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ادراج جميع ايام الشهر بمجرد اختيار الشهر


إذهب إلى أفضل إجابة Solved by ابوخليل,

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته برجاء مساعدتي عايز اختار تاريخ من الفورم وبالضغط على الزر يقوم بإضافة جميع ايام الشهر بالاسماء 

مرفق صورة تشرح ما اريد والبرنامج جزاكم الله خيرا

WhatsApp Image 2024-08-14 at 10.12.55_bce4f325.jpg

db11.rar

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته..

بسبب بعدي عن الكمبيوتر ، هذه مشاركة متصورة . مفترضاً ان لديك العناصر التالية:-

1. كومبوبوكس مكون من عامودين الأول ترقيم من 1 الى 12 ومقابلها اسماء الأشهر حسبما تريد وترغب .

2. مربع نص أو كومبوبوكس لكتابة السنة كمثال ( 2024 , 2025 , 2026 .... إلخ )

3. مربعات نص عدد 31 ويتم تسميتها ترتيباً كما يلي ( txday1 ,txday2, txday3 .... txday31 ) .

4. زر لتنفيذ المطلوب يحتوي الكود التالي :-

private sub btn_getdays_click()
dim i as integer
dim monthnumber as integer
dim yearnumber as integer
dim daydate as date
dim totaldays as integer
dim dayname as string
dim txtcontrol as textbox
if isnull(me.comboboxname) or isnull(me.txtyears) then
msgbox "يرجى التأكد من اختيار الشهر أو السنة", , ""
exit sub
end if
monthnumber = me.comboboxname.column(0)
yearnumber = me.txtyears.value
totaldays = day(dateserial(yearnumber, monthnumber + 1, 0))
for i = 1 to 31
set txtcontrol = me.controls("txday" & i)
if i <= totaldays then
daydate = dateserial(yearnumber, monthnumber, i)
dayname = format(daydate, "dddd")
txtcontrol.value = i & " / " & dayname
else
txtcontrol.value = null
end if
next i
end sub

 

لم أقم بالتنفيذ على الملف المرفق لعدم وجودي عند الكمبيوتر 😅 .

تم تعديل بواسطه Foksh
تصحيح خطأ في الكود
رابط هذا التعليق
شارك

3 ساعات مضت, Foksh said:

وعليكم السلام ورحمة الله وبركاته..

بسبب بعدي عن الكمبيوتر ، هذه مشاركة متصورة . مفترضاً ان لديك العناصر التالية:-

1. كومبوبوكس مكون من عامودين الأول ترقيم من 1 الى 12 ومقابلها اسماء الأشهر حسبما تريد وترغب .

2. مربع نص أو كومبوبوكس لكتابة السنة كمثال ( 2024 , 2025 , 2026 .... إلخ )

3. مربعات نص عدد 31 ويتم تسميتها ترتيباً كما يلي ( txday1 ,txday2, txday3 .... txday31 ) .

4. زر لتنفيذ المطلوب يحتوي الكود التالي :-

private sub btn_getdays_click()
dim i as integer
dim monthnumber as integer
dim yearnumber as integer
dim daydate as date
dim totaldays as integer
dim dayname as string
dim txtcontrol as textbox
if isnull(me.comboboxname) or isnull(me.txtyears) then
msgbox "يرجى التأكد من اختيار الشهر أو السنة", , ""
exit sub
end if
monthnumber = me.comboboxname.column(0)
yearnumber = me.txtyears.value
totaldays = day(dateserial(yearnumber, monthnumber + 1, 0))
for i = 1 to 31
set txtcontrol = me.controls("txday" & i)
if i <= totaldays then
daydate = dateserial(yearnumber, monthnumber, i)
dayname = format(daydate, "dddd")
txtcontrol.value = i & " / " & dayname
else
txtcontrol.value = null
end if
next i
end sub

 

لم أقم بالتنفيذ على الملف المرفق لعدم وجودي عند الكمبيوتر 😅 .

اخي foksh يا ريت لو تقدر تطبقها على المثال لما تكون فاضي وبجانب كمبيوتر اكون شاكر ليك

تم تعديل بواسطه ahmedabuzena
رابط هذا التعليق
شارك

  • أفضل إجابة

مشاركة مع احبتي

Function DaysInMonth(Month As Integer, Year As Integer)
DaysInMonth = DateSerial(Year, Month + 1, 1) - DateSerial(Year, Month, 1)
End Function
Function InsertDaysInMonth()
Dim dx As Date
Dim rs As Recordset
Dim i As Integer, r As Integer, yerthx As Integer, mnthx As Integer, dythx As Integer
yerthx = Year(Me.MonthName)
mnthx = Month(Me.MonthName)
r = DaysInMonth(mnthx, yerthx)
Set rs = CurrentDb.OpenRecordset("XDay")
For i = 1 To r
rs.AddNew
dx = DateSerial(yerthx, mnthx, i)
rs!Id_month = mnthx
rs!dailyDate = dx
rs.Update
Next
XDaySubform.Requery
End Function

 

db12.rar

  • Like 1
رابط هذا التعليق
شارك

الاول الصورة لم يتم تحميلها

وبعد ان اتضحت الصورة بعد تحميلها 

هذا هو المرفق بالتمام على طريقة استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل :fff:

db12.mdb

رابط هذا التعليق
شارك

7 ساعات مضت, ابو جودي said:

الاول الصورة لم يتم تحميلها

وبعد ان اتضحت الصورة بعد تحميلها 

هذا هو المرفق بالتمام على طريقة استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل :fff:

db12.mdb 408 kB · 4 downloads

جميل ابا جودي 

كنت اتمنى احد الخبراء يعلق على مشاركتي من اجل القي القبض عليه :wub: .. واللي وقع في شبكتي هو حبيبي ابو جودي

طبعا استفسار

السطر :

i = i + 1 - 1

انا لا اعرف ليه وضعت -1 ( ناقص واحد ) هي جت كذا .. جربت وضبطت

المنطق يقول  i = i + 1  انه يزيد واحد في كل دورة .. ولكني لاحظت انه يزيد 2 

ممكن تفسير هذا ؟

  • Haha 1
رابط هذا التعليق
شارك

 

25 دقائق مضت, ابوخليل said:

نت اتمنى احد الخبراء يعلق على مشاركتي من اجل القي القبض عليه :wub: .. واللي وقع في شبكتي هو حبيبي ابو جودي

احبكم الله الذى احببتمونا فيه ولأجله استاذى الجليل ومعلمى القدير و والدى الحبيب :fff::wub:

والاجابــــة كالأتى

الحلقة

For i = 1 To r

تقوم بزيادة i تلقائيًا في كل تكرار

لذلك عندما تضيف السطر i = i + 1 داخل الحلقة فإنه بذلك  نقوم بزيادة i مرتين

الزيادة التلقائية بواسطة الحلقة >>--> الحلقة تزيد i بمقدار 1 في كل تكرار

الزيادة اليدوية >>--> في السطر i = i + 1 تقوم بزيادة i مرة أخرى

علشان كده الزيادة تكون بمقدار 2 

وعلشان كده الأفضل يكون الكود بالشكل 


 

    For i = 1 To r
        rs.AddNew
            dx = DateSerial(yerthx, mnthx, i)
            rs!Id_month = mnthx
            rs!dailyDate = dx
        rs.Update
    Next
    XDaySubform.Requery

 

 

ليكون المرفق بشكلة النهائى كالاتى 

 

 

db12.mdb

رابط هذا التعليق
شارك

26 دقائق مضت, ابوخليل said:

يعني انا اقحمتها ورجعت الغيتها في السطر نفسه :wallbash:

 

نعم :yes:

26 دقائق مضت, ابوخليل said:

الف شكر :fff:

لكم كل الشكر استاذى :fff:

اعجبنى هذا الامتحان المفاجئ :biggrin2:

رابط هذا التعليق
شارك

2 ساعات مضت, ابو جودي said:

لا لو التاريخ اتنفذ لازم تحذفه مش تعدله 

أما إذا أردت إضافة سجل جديد تقوم بإضافة السجل اولا ثم كتابة التاريخ الجديد

هو مش ممكن تعديل الكود بدل من اني ادخل سجل جديد في كل مرة،

اريد ان اتعامل مع اول سجل فقط بان أغير التاريخ يتم تغيير الايام واكون قادر اطبع التقرير

ده عامل زي كارت حضور وغياب لكل عامل محتاج اني اطبع هذا الكارت بالشهر الجديد وأيام هذا الشهر 

 

رابط هذا التعليق
شارك

12 دقائق مضت, ahmedabuzena said:

هو مش ممكن تعديل الكود بدل من اني ادخل سجل جديد في كل مرة،

اريد ان اتعامل مع اول سجل فقط بان أغير التاريخ يتم تغيير الايام واكون قادر اطبع التقرير

ده عامل زي كارت حضور وغياب لكل عامل محتاج اني اطبع هذا الكارت بالشهر الجديد وأيام هذا الشهر

بالطريقة دى انت مش هتحتفظ بالبيانات ؟؟
متأكد انك عاوز كده ؟؟؟

رابط هذا التعليق
شارك

6 ساعات مضت, ابو جودي said:

بالطريقة دى انت مش هتحتفظ بالبيانات ؟؟
متأكد انك عاوز كده ؟؟؟

مظبوط أنا عايزة زي ملف الاكسيل دة مجرد اختار الشهر فيتغير بكل ايام الشهر واطبع التقرير 

SHADY TIME TABLE 1_V4.xls

  • Confused 1
رابط هذا التعليق
شارك

1 دقيقه مضت, ahmedabuzena said:

أنا عايزة

احمد و وبتقول عايزة  :eek2: يا مثبت العقل يارب

ماشى ما علينا

بدون تحميل او فتح ملف الاكسل وبدون حتى الاطلاع عليه حالا اقوم بتعديل الكود

 

رابط هذا التعليق
شارك

6 ساعات مضت, ابو جودي said:

احمد و وبتقول عايزة  :eek2: يا مثبت العقل يارب

ماشى ما علينا

بدون تحميل او فتح ملف الاكسل وبدون حتى الاطلاع عليه حالا اقوم بتعديل الكود

 

هههه غلطة موبايل لا تؤاخذنا

5 ساعات مضت, ابو جودي said:

قاعدة البيانات بعد التعديل 

 

db13.mdb 408 kB · 3 downloads

تسلم جزاكم الله خيرا

رابط هذا التعليق
شارك

يعنى الحمد الحمد لله رجل

والله خوفت اقول لك اتفضل وابعت لك ورده :fff:

لحسن تكون بنت ونقع فى المحظور

هههههه

جزانا الله وإياكم خير الجزاء إن شاء الله 

المهم تكون وجدت ضالتك

 

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information