الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل على كود ادراج التاريخ فرديا او زوجيا

مغلقمُجاب
بدأه morad2012 في 8 مارس 2014 · 14 رد · 783 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم اسعد الله اوقاتكم بكل خير

 

في المرفق ،،،

 

مثال بسيط تم تعديله من قبل الاستاذ المبدع جعفر حفظه الله ورعاه يقوم بادراج التاريخ فرديا او زوجيا ،،،

 

ولكنه لا يبدأ في الادراج من التاريخ المدخل بل يهمله ثم يبدأ بعده بالعمل

 

ما اريده فضلا لا امراً:

 

ان يتم ادراج التاريخ فرديا مبدوءاً بالتاريخ الذي يتم ادخاله في مربع النص (بداية التاريخ)

 

شكراً لكم مقدماً

 

::

 

تحياتي

DateSFRRR.rar

تم تعديل هذه المشاركة بواسطة morad2012 في 8 مارس 2014 في 21:23

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#2

وعليكم السلام اخي مراد :)

 

يعني اذا عندنا التواريخ التالية:

1-3-2014

2-3-2014

3-3-2014

4-3-2014

5-3-2014

6-3-2014

7-3-2014

8-3-2014

 

وفي مربع النص ، بداية التاريخ ، انت كتبت 4 ، واخترت رؤية الارقام الفردية ، فكيف يجب ان تكون النتيجة؟

 

جعفر :)

#3

حياك الله استاذي

 

لا اريد نظام الفلترة ،،، اريد ان يتم الادراج زوجيا او فرديا بناء على تاريخ البداية

المثال المرفق والكود الذي كتبته انت فيه يعمل مئة بالمئة لكن يبدأ بعد تاريخ البداية

 

انا اريد ان يبدأ بتاريخ البداية

 

-------

 

عندي تاريخ البداية ::

 

اريد ان يتم الادراج بناء عليه

 

اذا كان التاريخ

01/03/2014

 

يتم الادراج هكذا

01/03/2014

03/03/2014

05/03/2014

 

وهكذا

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#4

اذا فهمي صح ، فانت لا تريد ان ترى التواريخ السابقة لبداية التاريخ ،

اذا كان الامر كذلك ، رجاء استخدام هذا الكود بدلا من الكود السابق:

    If Me.Day_Type = 0 Then
        Me.Filter = ""
        Me.FilterOn = False
        
    ElseIf Me.Day_Type = 1 Then
        Me.Filter = "Day([w_number])/2<>Int(Day([w_number])/2) AND [w_number]>=#" & Me.DateF & "#"
        Me.FilterOn = True
        
    ElseIf Me.Day_Type = 2 Then
        Me.Filter = "Day([w_number])/2=Int(Day([w_number])/2) AND [w_number]>=#" & Me.DateF & "#"
        Me.FilterOn = True
        
    End If
    
    Me.OrderBy = "[w_number]"
    Me.OrderByOn = True

جعفر

#5

السلام عليكم ،،،

 

ليس هذا ما اريده استاذي

 

اريد ان يرتكز الادراج على حقل بداية التاريخ دون ان يهمله

 

في المثال يتم اهمال حقل بداية التاريخ ويبدأ في العد بعده

 

اريد ان يضع في اول سطر عند الادراج نفس قيمة حقل بداية التاريخ

 

لاحظ في المثال انه يهمل تاريخ البداية

Me.InputDate = DateAdd("d", I - 1, strt)

انا استخدم هذا الكود لادراج التاريخ ولا يهمل الحقل strt

 

هل باالمكان استخدام هذا الكود كي يدرج التاريخ فرديا او زوجيا مع الاحتفاظ بعدم اهمال التاريخ الاول

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#6

اخي مراد :)

 

صدقني ، انا لست بالذكاء اللي تتوقعه ، فانا على قدر حالي :)

 

الله يخليك ، انظر الى مشاركتي رقم 2 ، فانا عملت لك الارقام علشان افهم بطريقتي :)

رجاء الرد على مشاركتي رقم 2 بالارقام والمثال اللي انا استعملتها :)

 

جعفر

#7

:blush:  استاذ جعفر ،،، قد اكون قصرت في ايصال المعلومة ،،، سامحني

 

لاحظ الصورة معي وان شاء الله سوف تصل اليك المعلومة 

 

 

 

::

 

تحياتي

post-251232-0-74823400-1394310492_thumb.

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#8

اعتقد باني فهمت الان :)

يعني انه لا توجد تواريخ في الجدول والتي بموجبها يتم تحديدها زوجيا او فردياً ، وانما المطلوب عمل/ادراج هذه التواريخ ، ابتدأً من تاريخ البداية ، صح؟

طيب نعمل/ندرج الى اي تاريخ؟

وكلما ضغطت على زر الادراج ، تريد ان المعلومات السابقة تحذف من الجدول (اي معلومات ، من متى والى متى) ، ونعيد ادراج معلومات جديدة زوجيا او فردياً ، صح؟

 

جعفر

#9
jjafferr كتب:

اعتقد باني فهمت الان :)

يعني انه لا توجد تواريخ في الجدول والتي بموجبها يتم تحديدها زوجيا او فردياً ، وانما المطلوب عمل/ادراج هذه التواريخ ، ابتدأً من تاريخ البداية ، صح؟

طيب نعمل/ندرج الى اي تاريخ؟

وكلما ضغطت على زر الادراج ، تريد ان المعلومات السابقة تحذف من الجدول (اي معلومات ، من متى والى متى) ، ونعيد ادراج معلومات جديدة زوجيا او فردياً ، صح؟

 

جعفر

 

بالضبط ،،، اريده ان يبدأ من حقل تاريخ البداية

 

لا توجد تواريخ في الجدول انما نريد ادراجها بناء على حقل تاريخ البداية ،،،  ;)

اما بخصوص الى اي تاريخ ،،، فهناك حقل يكتب فيه عدد المرات ،،، ضمن حلقة التكرار For i 

::

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#10

بعد اذن اخونا جعفر

 

كل ما تريده اخى هو تعديل هذا السطر

For i = 1 To 30

الى 

For i = 0 To 30

يعنى فقط 1 الى 0

1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#11

تفضل :)

 

الكود:

Private Sub Append_Dates(N)
      
    'N is either Odd or Even, which is sent from the command button
    
    If Len(Me.DateF & "") = 0 Then
        MsgBox "ÑÌÇÁ ßÊÇÈÉ ÊÇÑíÎ ÇáÈÏÁ" & vbCrLf & "Please insert a Date"
        Me.DateF.SetFocus
        Exit Sub
    End If
    
    'loop twice as much, as the numbers will be divided by 2
    For i = N - 1 To Nz(Me.Loop_Count, 31) * 2
        
        'get the next day of the month
        D1 = DateAdd("d", i, Me.DateF)
            
        'if this is not the day we want, odd or even, skip it
        If N = 1 And Day(D1) / 2 = Int(Day(D1) / 2) Then GoTo Nexti
        If N <> 1 And Day(D1) / 2 <> Int(Day(D1) / 2) Then GoTo Nexti
         
        'this date is ok, append it to the table
        mySQL = "INSERT INTO Table2 ( w_number ) SELECT #" & D1 & "#"
        'Debug.Print mySQL
        CurrentDb.Execute mySQL

Nexti:
    Next i
    
    'show the results in the Form
    Me.Requery
    
    End Sub

Private Sub cmd_Even_Dates_Click()

    Call Append_Dates(2)
End Sub

Private Sub cmd_Odd_Dates_Click()

    Call Append_Dates(1)
End Sub

والنتيجة:

 

post-273849-0-87097900-1394360091_thumb.

 

 

 

جعفر

 

170.1.DateSF.mdb.zip

2
#12

يا عيني عليك ،،، معلـــــــم  :)   ;)

 

هو المطلوب بالضبط 

 

5+

 

 

الف الف شكر استاذي ،،، 

 

ادامك الله ذخرا لهذا الصرح الشامخ

 

تحياتي

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#13 أفضل إجابة

شكرا جزيلا على الكلمات اللطيفة ، اخي مراد :)

واشكرك استاذنا ابويوسف لمشاركتك في هذا الموضوع :)

 

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

post-273849-0-76695800-1394392947_thumb.

 

 

وعندي سؤال:

انا شخصيا لا احب حفظ البيانات في الجدول ثم حذفها ، باستمرار ، فهذا يضخم قاعدة البيانات ، ومن ثم يجب ضغطها لإسترجاع مساحة البيانات المحذوفة :(

لذا ، اذا كنت ستستفيد من الجدول في امور اخرى ، فنور على نور ، واما اذا كنت تريد هذه البيانات لغرض مؤقت ، ثم تحذفها ، فقد تكون هنا طرق افضل لمعالجة الموضوع ، خصوصا وانه لديك الآن دالة تصنع لك التواريخ المطلوبة :)

 

جعفر

170.1.DateSF.mdb.zip

2
#14

بارك الله فيك اخي الكريم جعفر على دقتك في الحل

 

حل شافي ووافي

 

هو بالضبط ما احتجت

 

الله ينور عليك

 

تحياتي

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#15

هلا والله :)

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…