events not populating calendar control - help! |
Post Reply |
Author | |
Jaymeister
Groupie Joined: 27 April 2009 Status: Offline Points: 32 |
Post Options
Thanks(0)
Posted: 27 May 2009 at 5:57am |
events not populating calendar controls - help!
no errors - but no events ??? I'm using CalMulti_AddEvent() to add events to 1 of 3 controls parameter 1 CtrlIndex% is 0, 1 or 2 (the calendar control index) parameter 2 is event data Sub CalMulti_AddEvent(ByVal CtrlIndex%, ByVal CallData$) On Local Error GoTo 0 On Error GoTo 0 Dim TimeObject As CalendarEvent Set TimeObject = frmMain.mCalendarControl(CtrlIndex%).DataProvider.CreateEvent StrSub CallData$, 1, UniqueID$ StrSub CallData$, 3, StartYYYYMMDD$ StrSub CallData$, 4, StopYYYYMMDD$ StrSub CallData$, 5, StartHHMM$ StrSub CallData$, 6, StopHHMM$ StrSub CallData$, 7, cTitle$ StrSub CallData$, 8, Body$ TimeObject.AllDayEvent = False TimeObject.Body = "" TimeObject.BusyStatus = xtpCalendarBusyStatusBusy TimeObject.StartTime = YYYYMMDD2Format$(StartYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StartHHMM$, 2) + ":" + Right$(StartHHMM$, 2) TimeObject.EndTime = YYYYMMDD2Format$(StopYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StopHHMM$, 2) + ":" + Right$(StopHHMM$, 2) TimeObject.Importance = xtpCalendarImportanceHigh TimeObject.Location = "" TimeObject.MeetingFlag = True TimeObject.PrivateFlag = True TimeObject.Reminder = False TimeObject.ScheduleID = UniqueID$ TimeObject.Subject = cTitle$ MsgBox cTitle$ & vbCrLf & vbCrLf & Format$(TimeObject.StartTime, "Ddd Dd Mmm YYYY"), vbInformation, Trim$(Str$(CtrlIndex%)) frmMain.mCalendarControl(CtrlIndex%).DataProvider.AddEvent TimeObject End Sub Sub CalMulti_Refresh_Cals() On Local Error GoTo NoMoreCals Index% = -1 Do Index% = Index% + 1 frmMain.mCalendarControl(Index%).Populate Loop NoMoreCals: End Sub |
|
Jaymeister
Groupie Joined: 27 April 2009 Status: Offline Points: 32 |
Post Options
Thanks(0)
|
I'm basically using CodeJock's supplied sample VB6 calendar app
to its original frmMain.CalendarControl using above code I can add an event and it appears. Im now after placing 3 CalendarControls frmMain.mCalendarControl(0) frmMain.mCalendarControl(1) and frmMain.mCalendarControl(2) I modded original to... frmMain.CalendarControl.SetDataProvider "Provider=Custom;DSN=ODBC_Engineers" and events can still be added to original control using code like above... frmMain.CalendarControl.DataProvider.AddEvent TimeObject ...the original CodeJock vb6 app has no "Do_" subs or functions, so I assumed the 3 new controls would be the same. however I cannot add events to the 3 new controls... I suspect the issue lies in my manual population of events, these events will exist in your controls memory only (as I have changed... frmMain.CalendarControl.SetDataProvider "Provider=Custom;DSN=XyzXyz" ...and added events still populate original control, without a valid DSN= ) Thanks for any help in advance, Jason |
|
Jaymeister
Groupie Joined: 27 April 2009 Status: Offline Points: 32 |
Post Options
Thanks(0)
|
when I switch to...
OpenProvider cjCalendarData_Memory, "Provider=XML;Data Source=" & App.Path & "\ASM_Events.xml" ...original frmMain.CalendarControl using above code I can add an event and it appears however still no events added to any of the 3 calendar controls OldCount% = frmMain.mCalendarControl(CtrlIndex%).DataProvider.GetAllEventsRaw.Count frmMain.mCalendarControl(CtrlIndex%).DataProvider.AddEvent TimeObject NewCount% = frmMain.mCalendarControl(CtrlIndex%).DataProvider.GetAllEventsRaw.Count OldCount% = 0 and NewCount% = 0 I suspect I'm doing some N00b mistake, any help would be greatly appreciated |
|
Jaymeister
Groupie Joined: 27 April 2009 Status: Offline Points: 32 |
Post Options
Thanks(0)
|
rewrote CalMulti_AddEvent() it works adding an event
renamed original to CalMulti_AddEvent_Old() the not working version I don't know why one works and not the other... Sub CalMulti_AddEvent(ByVal CtrlIndex%, ByVal CallData$) StrSub CallData$, 1, UniqueID$ StrSub CallData$, 2, temp$: Engineer2Use& = Val(Trim$(temp$)) StrSub CallData$, 3, StartYYYYMMDD$ StrSub CallData$, 4, StopYYYYMMDD$ StrSub CallData$, 5, StartHHMM$ StrSub CallData$, 6, StopHHMM$ StrSub CallData$, 7, cTitle$ StrSub CallData$, 8, Body$ Dim pEvent As CalendarEvent Set pEvent = frmMain.mCalendarControl(CtrlIndex%).DataProvider.CreateEvent With pEvent .Subject = cTitle$ .Body = Body$ .StartTime = YYYYMMDD2Format$(StartYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StartHHMM$, 2) + ":" + Right$(StartHHMM$, 2) .EndTime = YYYYMMDD2Format$(StopYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StopHHMM$, 2) + ":" + Right$(StopHHMM$, 2) .AllDayEvent = False .ScheduleID = UniqueID$ End With frmMain.mCalendarControl(CtrlIndex%).DataProvider.AddEvent pEvent frmMain.mCalendarControl(CtrlIndex%).Populate 'MsgBox "Event count: " + Str$(frmMain.mCalendarControl(CtrlIndex%).DataProvider.GetAllEventsRaw.Count) End Sub Sub CalMulti_AddEvent_Old(ByVal CtrlIndex%, ByVal CallData$) On Local Error GoTo 0 On Error GoTo 0 StrSub CallData$, 1, UniqueID$ StrSub CallData$, 2, temp$: Engineer2Use& = Val(Trim$(temp$)) StrSub CallData$, 3, StartYYYYMMDD$ StrSub CallData$, 4, StopYYYYMMDD$ StrSub CallData$, 5, StartHHMM$ StrSub CallData$, 6, StopHHMM$ StrSub CallData$, 7, cTitle$ StrSub CallData$, 8, Body$ UseExistingMethod% = False If UseExistingMethod% Then NewTimeObject frmMain.mCalendarControl(CtrlIndex%), UniqueID$, StartYYYYMMDD$, StopYYYYMMDD$, StartHHMM$, StopHHMM$, cTitle$, Body$, Engineer2Use&, True, True Else Dim TimeObject As CalendarEvent Set TimeObject = frmMain.mCalendarControl(CtrlIndex%).DataProvider.CreateEvent TimeObject.AllDayEvent = False TimeObject.Body = "" TimeObject.BusyStatus = xtpCalendarBusyStatusBusy TimeObject.StartTime = YYYYMMDD2Format$(StartYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StartHHMM$, 2) + ":" + Right$(StartHHMM$, 2) TimeObject.EndTime = YYYYMMDD2Format$(StopYYYYMMDD$, "dd Mmm yyyy") + " " + Left$(StopHHMM$, 2) + ":" + Right$(StopHHMM$, 2) TimeObject.Importance = xtpCalendarImportanceHigh TimeObject.Location = "" TimeObject.MeetingFlag = True TimeObject.PrivateFlag = True TimeObject.Reminder = False TimeObject.ScheduleID = UniqueID$ TimeObject.Subject = cTitle$ OldCount% = frmMain.mCalendarControl(CtrlIndex%).DataProvider.GetAllEventsRaw.Count frmMain.mCalendarControl(CtrlIndex%).DataProvider.AddEvent TimeObject NewCount% = frmMain.mCalendarControl(CtrlIndex%).DataProvider.GetAllEventsRaw.Count If OldCount% = OldCount% Then MsgBox "Event not added to control #" + Trim$(Str$(CtrlIndex%)) & vbCrLf & vbCrLf & cTitle$ & vbCrLf & vbCrLf & Format$(TimeObject.StartTime, "Ddd Dd Mmm YYYY"), vbInformation, "Event not added to control #" + Trim$(Str$(CtrlIndex%)) End If End If End Sub |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |