I have 2 text box, Text1 is to display the week no and Text2 is to display start date of the week. Do anyone know what function I should use in VB6?
Annie, I almost missed this post, sorry.;)
To determine the week number, use something like -
Private Sub getWeekNumber() Dim iNumberOfTheWeek As Integer iNumberOfTheWeek = DatePart("ww", Now()) End Sub
To get the day currently active -
Dim y As Integer Dim w As Integer Dim d As Integer Dim sDate As Date ' What Year is it? y = 2010 ' What week is it? w = 49 ' Start with Jan 01 of the current year sDate = "01/01/" & y ' Get the date the first Sunday is on d = 8 - Weekday(sDate, vbMonday) ' Add the number of weeks to it (minus 1). sDate = DateAdd("ww", w - 1, CDate("01/" & d & "/" & y)) ' This is the Sunday in the week you have for the given year MsgBox sDate
This will now find the beginning/End of the returned week...
Function FindDateOfWeek(Week As Long, Optional lngYear As Long, Optional FirstDayOfWeek As VbDayOfWeek = vbSunday) As Date If lngYear = 0 Then lngYear = Year(Date) FindDateOfWeek = DateSerial(lngYear, 1, 1) If DatePart("ww", FindDateOfWeek, FirstDayOfWeek) <> 1 Then FindDateOfWeek = FindDateOfWeek + 7 FindDateOfWeek = FindDateOfWeek - Weekday(FindDateOfWeek, FirstDayOfWeek) + 7 * (Week - 1) End Function
Lucky u didn't miss my post ;o)
I need the date show 11-Dec-2010, how i can set the mmm in the code below?
sDate = DateAdd("ww", w - 1, CDate("01/" & d & "/" & y))
It's a pleasure.:)
Just change the "ww" to "mm". Year will be "yy".;)
I change already, it got problem run-time error '13', type mismatch.
Paste us your code and tell us on which line the error occurs. There seems to be a mismatch call in the code, something like returning a date when a string is dimensioned...
The one in red colour code is the error occurs.
Private Sub Form_Load() Dim Mydb As ADODB.Connection Set Mydb = New ADODB.Connection GetDB Mydb Dim y As Integer Dim w As Integer Dim d As Integer Dim sDate As Date Dim iNumberOfTheWeek As Integer Dim RS As ADODB.Recordset Set RS = New ADODB.Recordset Dim strName As String strName = frmLogin.txtUserName.Text RS.Open "Select * from UserTable WHERE UserName =" & "'" & strName & "'", Mydb, adOpenKeyset txtEmpNo.Text = RS!EmpID txtPosition.Text = RS!Position txtPrjCode.Text = frmMainMenu.PrjCode txtPrjName.Text = frmMainMenu.PrjName txtRegisterDate.Text = Date y = 2010 w = 50 sDate = "01/01/" & y d = 7 - Weekday(sDate, vbMonday) sDate = DateAdd("mm", w - 1, CDate("01/" & d & "/" & yy)) txtStartDate = sDate iNumberOfTheWeek = DatePart("ww", Now()) txtWeekNo = iNumberOfTheWeek RS.Close Mydb.Close End Sub
your suntax is completely incorrect.:)
Try the following -
sDate = DateAdd("m", -1, Now) 'm = the current month '-1 will deduct a month which will return November the 13th 'Now = todays date to calculate from.
you mean the date syntax is total wrong? Could you guide me more details?
I try to use the code you give, but the result is not correct.
I'm find out the way...I use the same code I send to you and just change the format.
I want to count each Sat of each week. Last line is the code I add to change the format.
Dim y As Integer Dim w As Integer Dim d As Integer Dim sDate As Date y = 2010 w = 50 sDate = "01/01/" & y d = 7 - Weekday(sDate, vbMonday) sDate = DateAdd("ww", w - 1, CDate("01/" & d & "/" & y)) txtStartDate = Format$(sDate, "dd/mmm/yyyy")
Well done, your code is perfect for what you want.:)