i have a system in which when i entered data in tha database,it works fine,but when im going to update the database i encountered thi error "data type mismatch in criteria expression"
here is my code:
Dim lngCtr As Long
Dim Workdays As Integer
Dim TestDate As Date
Dim totalNumDays As Integer, X As Integer, myHoliday As Date, numHolidays As Integer, numholidays1 As Integer
totalNumDays = DateDiff("d", dtpbegin, dtpend)
X% = MsgBox("CONFIRM SAVE", vbInformation + vbYesNo, "Abeneca Inventory System")
If (X% = vbYes) Then
rs.Open "select * from employeeentry where beginningdate <=" & "'" & dtpbegin & "' and enddate<='" & enddate & "'", db, 1, 3----->THIS LINE WAS THE CAUSE OF ERROR.
'rs.Open "Select * from [Table_Name] where [Beginning_Date_field] >='" & dtFrom & "' and End_Date_field <='" & dtTo & "'", conn, adOpenDynamic, adLockOptimistic,
'Read more: How to Filter Records Using Date Range in Visual Basic 6 | eHow.com http://www.ehow.com/how_6228743_filt...#ixzz2PTiidi7Y
'rs.AddNew
'rs.Fields("name2") = txtname.Text
'rs.Fields("designation") = cbodesignation.Text
'rs.Fields("Dailyrate") = txtsalary.Text
rs.Fields("beginningdate") = dtpbegin.Value
rs.Fields("enddate") = dtpend.Value
rs.Fields("numberdays") = DateDiff("d", dtpbegin.Value, dtpend.Value) + 1
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate") ' '- Val(rs.Fields("totalsalary")) * 4 / 100
'rs.Fields("firstcutoffday") = Workdays - numHolidays
If Not IsDate(dtpbegin.Value) Or Not IsDate(dtpend.Value) Then
MsgBox "Invalid date entered"
Exit Sub
'End If
Else
If rs.Fields("workdays") = "nonWeekend" Then
'Call countNumDays
'MsgBox Workdays + 1
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHoliday = CDate(List1.Text & "/" & Year(Date)) 'appended the current year to the listing in the listbox, which is like this:
Rem "1/1" (without the REM) :)
Rem "1/16"
Rem "2/22" etc
If myHolidays >= DateSerial(Year(Now), Month(Now), 1) And myHolidays <= DateSerial(Year(Now), Month(Now), 15) Then
'List1.RemoveItem (x) 'not necessary.......
numHolidays = numHolidays + 1
End If
Next X
'rs.Fields("workdays") = "nonWeekend"
'rs.Fields("numberdays") = numHolidays
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHolidays = CDate(List1.Text & "/" & Year(Date))
If myHolidays >= DateSerial(Year(Now), Month(Now), 1) And myHolidays <= DateSerial(Year(Now), Month(Now), 15) Then
numHolidays = numHolidays + 1
End If
Next X
Workdays = GetWorkDays(DateSerial(Year(Now), Month(Now), 1), DateSerial(Year(Now), Month(Now), 15)) '' - DatePart("d", Now)
rs.Fields("firstcutoffday") = Workdays - numHolidays
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHoliday = CDate(List1.Text & "/" & Year(Date)) 'appended the current year to the listing in the listbox, which is like this:
Rem "1/1" (without the REM) :)
Rem "1/16"
Rem "2/22" etc
If myHolidays >= DateSerial(Year(Now), Month(Now), 16) And myHolidays <= DateSerial(Year(Now), Month(Now) + 1, 0) Then
'List1.RemoveItem (x) 'not necessary.......
numholidays1 = numholidays1 + 1
End If
Next X
'rs.Fields("workdays") = "nonWeekend"
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHolidays = CDate(List1.Text & "/" & Year(Date))
If myHolidays >= DateSerial(Year(Now), Month(Now), 16) And myHolidays <= DateSerial(Year(Now), Month(Now) + 1, 0) Then
numholidays1 = numholidays1 + 1
End If
Next X
Workdays = GetWorkDays(DateSerial(Year(Now), Month(Now), 16), DateSerial(Year(Now), Month(Now) + 1, 0)) '' - DatePart("d", Now)
rs.Fields("secondcutoffday") = Workdays - numHolidays
'totalNumDays = totalNumDays - numHolidays
Workdays = GetWorkDays(dtpbegin.Value, dtpend.Value) - numholidays1
rs.Fields("numberdays") = Workdays
'End If
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate")
'rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("secondcutoffday")
''''''If Day(Now) < 15 Then
rs.Fields("balance") = Val(rs.Fields("dailyrate")) * Val(rs.Fields("firstcutoffday"))
'Else
''''''If Day(Now) > 15 Then
rs.Fields("balance1") = Val(rs.Fields("dailyrate")) * Val(rs.Fields("secondcutoffday"))
'End If
'End If
End If
End If
If rs.Fields("workdays") = "withWeekend" Then
Workdays = DateDiff("d", dtpbegin.Value, dtpend.Value) + 1
rs.Fields("numberdays") = Workdays
'MsgBox Workdays + 1
'rs.Fields("numberdays") =
'End If
'rs.Fields("workdays") = "withWeekend"
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate")
'If Day(Now) < 15 Then
Workdays = DateDiff("d", DateSerial(Year(Now), Month(Now), 0), DateSerial(Year(Now), Month(Now), 15))
rs.Fields("firstCutOffDay") = Workdays
'rs.Fields("firstcutoffday") = Workdays 'DateSerial(Year(Now), Month(Now), 15) - DateSerial(Year(Now), Month(Now), 0)
'rs.Fields("secondcutoffday") = "29"
'rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("firstcutoffday")
'Else
'If Day(Now) > 15 Then
Workdays = DateDiff("d", DateSerial(Year(Now), Month(Now), 15), DateSerial(Year(Now), Month(Now) + 1, 0))
rs.Fields("secondcutoffday") = Workdays
'''''If Day(Now) < 15 Then
rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("firstcutoffday")
'Else
'''''If Day(Now) > 15 Then
rs.Fields("balance1") = rs.Fields("dailyrate") * rs.Fields("secondcutoffday")
'rs.Fields("perqty") = TXTPERQTY.Text
'rs.Fields("unit1") = cbounit1.Text
End If
End If
'End If
'End If
'If optadd.Value Then
'rs.Fields("withoutadd") = "No"
'Else
'rs.Fields("withoutadd") = "Yes"
'End If
rs.Update
'End If
'Call insert
'Call copydb
rs.Close
MsgBox " RECORD updated", vbInformation, "Abeneca POS and Inventory System"
Form7.Enabled = True
Command8.Enabled = False
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
Command8.Enabled = False
Frame1.Visible = False
PLEASE HELP.THANKS...
here is my code:
Dim lngCtr As Long
Dim Workdays As Integer
Dim TestDate As Date
Dim totalNumDays As Integer, X As Integer, myHoliday As Date, numHolidays As Integer, numholidays1 As Integer
totalNumDays = DateDiff("d", dtpbegin, dtpend)
X% = MsgBox("CONFIRM SAVE", vbInformation + vbYesNo, "Abeneca Inventory System")
If (X% = vbYes) Then
rs.Open "select * from employeeentry where beginningdate <=" & "'" & dtpbegin & "' and enddate<='" & enddate & "'", db, 1, 3----->THIS LINE WAS THE CAUSE OF ERROR.
'rs.Open "Select * from [Table_Name] where [Beginning_Date_field] >='" & dtFrom & "' and End_Date_field <='" & dtTo & "'", conn, adOpenDynamic, adLockOptimistic,
'Read more: How to Filter Records Using Date Range in Visual Basic 6 | eHow.com http://www.ehow.com/how_6228743_filt...#ixzz2PTiidi7Y
'rs.AddNew
'rs.Fields("name2") = txtname.Text
'rs.Fields("designation") = cbodesignation.Text
'rs.Fields("Dailyrate") = txtsalary.Text
rs.Fields("beginningdate") = dtpbegin.Value
rs.Fields("enddate") = dtpend.Value
rs.Fields("numberdays") = DateDiff("d", dtpbegin.Value, dtpend.Value) + 1
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate") ' '- Val(rs.Fields("totalsalary")) * 4 / 100
'rs.Fields("firstcutoffday") = Workdays - numHolidays
If Not IsDate(dtpbegin.Value) Or Not IsDate(dtpend.Value) Then
MsgBox "Invalid date entered"
Exit Sub
'End If
Else
If rs.Fields("workdays") = "nonWeekend" Then
'Call countNumDays
'MsgBox Workdays + 1
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHoliday = CDate(List1.Text & "/" & Year(Date)) 'appended the current year to the listing in the listbox, which is like this:
Rem "1/1" (without the REM) :)
Rem "1/16"
Rem "2/22" etc
If myHolidays >= DateSerial(Year(Now), Month(Now), 1) And myHolidays <= DateSerial(Year(Now), Month(Now), 15) Then
'List1.RemoveItem (x) 'not necessary.......
numHolidays = numHolidays + 1
End If
Next X
'rs.Fields("workdays") = "nonWeekend"
'rs.Fields("numberdays") = numHolidays
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHolidays = CDate(List1.Text & "/" & Year(Date))
If myHolidays >= DateSerial(Year(Now), Month(Now), 1) And myHolidays <= DateSerial(Year(Now), Month(Now), 15) Then
numHolidays = numHolidays + 1
End If
Next X
Workdays = GetWorkDays(DateSerial(Year(Now), Month(Now), 1), DateSerial(Year(Now), Month(Now), 15)) '' - DatePart("d", Now)
rs.Fields("firstcutoffday") = Workdays - numHolidays
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHoliday = CDate(List1.Text & "/" & Year(Date)) 'appended the current year to the listing in the listbox, which is like this:
Rem "1/1" (without the REM) :)
Rem "1/16"
Rem "2/22" etc
If myHolidays >= DateSerial(Year(Now), Month(Now), 16) And myHolidays <= DateSerial(Year(Now), Month(Now) + 1, 0) Then
'List1.RemoveItem (x) 'not necessary.......
numholidays1 = numholidays1 + 1
End If
Next X
'rs.Fields("workdays") = "nonWeekend"
For X = List1.ListCount - 1 To 0 Step -1
List1.ListIndex = X
myHolidays = CDate(List1.Text & "/" & Year(Date))
If myHolidays >= DateSerial(Year(Now), Month(Now), 16) And myHolidays <= DateSerial(Year(Now), Month(Now) + 1, 0) Then
numholidays1 = numholidays1 + 1
End If
Next X
Workdays = GetWorkDays(DateSerial(Year(Now), Month(Now), 16), DateSerial(Year(Now), Month(Now) + 1, 0)) '' - DatePart("d", Now)
rs.Fields("secondcutoffday") = Workdays - numHolidays
'totalNumDays = totalNumDays - numHolidays
Workdays = GetWorkDays(dtpbegin.Value, dtpend.Value) - numholidays1
rs.Fields("numberdays") = Workdays
'End If
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate")
'rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("secondcutoffday")
''''''If Day(Now) < 15 Then
rs.Fields("balance") = Val(rs.Fields("dailyrate")) * Val(rs.Fields("firstcutoffday"))
'Else
''''''If Day(Now) > 15 Then
rs.Fields("balance1") = Val(rs.Fields("dailyrate")) * Val(rs.Fields("secondcutoffday"))
'End If
'End If
End If
End If
If rs.Fields("workdays") = "withWeekend" Then
Workdays = DateDiff("d", dtpbegin.Value, dtpend.Value) + 1
rs.Fields("numberdays") = Workdays
'MsgBox Workdays + 1
'rs.Fields("numberdays") =
'End If
'rs.Fields("workdays") = "withWeekend"
rs.Fields("totalsalary") = rs.Fields("numberdays") * rs.Fields("dailyrate")
'If Day(Now) < 15 Then
Workdays = DateDiff("d", DateSerial(Year(Now), Month(Now), 0), DateSerial(Year(Now), Month(Now), 15))
rs.Fields("firstCutOffDay") = Workdays
'rs.Fields("firstcutoffday") = Workdays 'DateSerial(Year(Now), Month(Now), 15) - DateSerial(Year(Now), Month(Now), 0)
'rs.Fields("secondcutoffday") = "29"
'rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("firstcutoffday")
'Else
'If Day(Now) > 15 Then
Workdays = DateDiff("d", DateSerial(Year(Now), Month(Now), 15), DateSerial(Year(Now), Month(Now) + 1, 0))
rs.Fields("secondcutoffday") = Workdays
'''''If Day(Now) < 15 Then
rs.Fields("balance") = rs.Fields("dailyrate") * rs.Fields("firstcutoffday")
'Else
'''''If Day(Now) > 15 Then
rs.Fields("balance1") = rs.Fields("dailyrate") * rs.Fields("secondcutoffday")
'rs.Fields("perqty") = TXTPERQTY.Text
'rs.Fields("unit1") = cbounit1.Text
End If
End If
'End If
'End If
'If optadd.Value Then
'rs.Fields("withoutadd") = "No"
'Else
'rs.Fields("withoutadd") = "Yes"
'End If
rs.Update
'End If
'Call insert
'Call copydb
rs.Close
MsgBox " RECORD updated", vbInformation, "Abeneca POS and Inventory System"
Form7.Enabled = True
Command8.Enabled = False
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
Command8.Enabled = False
Frame1.Visible = False
PLEASE HELP.THANKS...