यहाँ मेरी ले है - मुझे पता है कि अगर मैं कुछ भी याद आ रही है तो कृपया:
आउटलुक पुनरावृत्ति विकल्पों के आधार पर, आप नियमित रूप से आवश्यक क्षेत्रों के साथ एक मेज है:
FieldName DataType Sample Data
ID int primary key
EventID int foreign key (to EventID from Event Table)
StartTime DateTime 8:00 AM
EndTime DateTime 8:30 AM
Duration int 30 (minutes)
StartDate DateTime 01/25/2014
EndBy DateTime 01/25/2024
NoEndDate bit False
NumOccurrences int 10
RecurrenceType int ****See below for instructions on how to use these last 6 fields
Int1 int
Int2 int
Int3 int
String1 nvarchar(50)
IntYears int
यहां जादू होता है। इस तर्क के लिए केवल 4 पूर्णांक और एक स्ट्रिंग की आवश्यकता है।
The month of year (1 = Jan, 12 = Dec),
The day of the month (1 = the 1st, 31 = 31st),
Day of the week (0 = Sunday, 1=Monday, 6= Saturday),
Week of the month (1 = first, 4 = forth, 5 = last),
Yearly reocurrence (1=1,2=2)
When multiple days can be selected I use a comma delimited string (1,3,5 = Monday, Wed, Friday)
मैं क्रम में वे दृष्टिकोण नियुक्ति पुनरावृत्ति अनुसूचक में प्रदर्शित में 3 पूर्णांक दर्ज करते हैं, इस अतिरिक्त feilds, तर्क, झुंझलाहट बचाता है। * आप दृष्टिकोण appt नियोजक को खोलते हैं, तो यह पालन करने के लिए थोड़ा आसान हो जाएगा:
The RecurrenceType field can be any of the 7 following choices
(दैनिक, मासिक और वार्षिक के लिए 2 विकल्प होते हैं और साप्ताहिक के लिए एक विकल्प हैं):
10 = Daily (Every `Int1` day(s))
Every 4 day(s)
11 = Daily (Every Weekday) -- no variables needed
Every Weekday (MTWTF)
20 = Weekly (Recur every `Int1` week(s) on: `String1`
Recur every 3 week(s) on Monday, Wednesday, Friday
(`String1` will be a list of days selected (0=Sunday, 1=Monday, 2=Tuesday... 7=Saturday) so for (Mon, Wed, Fri) String1 would hold "1,3,5". You would parse this on the code side to pull the actual days.)
30 = Monthly (Day `Int1` of every `int2' month(s)
Day 28 of every 2 month(s)
31 = Monthly (The `Int1` `Int2` of every `Int3` month(s)
The forth Tuesday of every 1 month(s)
40 = Yearly (Recur every `intYears` year(s) On `Int1` `Int2`) --
Recur every 1 year(s) on Jan 28th
41 = Yearly (Recur every `intYears` year(s) on the `Int1` `Int2` of `Int3`) --
Recur every 1 year(s) on the forth Tuesday of January
खींच या reocurrence को बचाने के लिए कोड काफी सरल हो जाता है
if (RecurrenceType = 10)
Every `int1` days
if (RecurrenceType = 11)
Every Weekday
if (RecurrenceType = 20)
Every `int1 weeks on
parse `string1` and populate checkboxes for Mon, Tues, ...
if (RecurrenceType = 30)
`int1 day of every `int2` month
etc...
मुझे उम्मीद है कि मैं इसे पूरी तरह से समझा रहा हूं। अगर कुछ अस्पष्ट है या यह काम नहीं करेगा तो मुझे बताएं। मैं इसे एक मौजूदा ऐप के लिए बना रहा हूं। सभी को धन्यवाद।
हे! बहुत बढ़िया जवाब! यह मुझे एक खुले प्रश्न के साथ छोड़ देता है: क्या प्रत्येक तिथि को फिर से शुरू किए बिना, आरंभ तिथि और अंत तक सभी तिथियों की गणना करने का एक तेज़ तरीका है? –