I have a form that is 15 text boxes wide by several rows deep (depends on criteria). The text boxes are populated using a vbscript function, this works great (code to follow). The problem is in changing the data. I thought I could do an onChange event to vbscript that puts together a SQL update or Insert (as the case may be).
How do I get the onChange event to reference a vbScript function or sub?
How do I refer to the new entry in the textbox?
How do I build the SQL statement to do a bunch of these at one time? I could do it one at a time, but I want the reset button to put the form back to it's original state.
note: I colored the code in question
thanks
Rob
-------------code------------
<%
dim xday1,xday2,xday3,xday4,xday5,xday6,xday7,xday8,xday9,xday10,xday11,xday12,xday13,xday14
dim wkday
wkday = request.Form("datebox"
xday14=WeekDayName(weekday(dateadd("d",0,wkday)),true)
xday13=WeekDayName(weekday(dateadd("d",-1,wkday)),true)
xday12=WeekDayName(weekday(dateadd("d",-2,wkday)),true)
xday11=weekdayname(weekday(dateadd("d",-3,wkday)),true)
xday10=weekdayname(weekday(dateadd("d",-4,wkday)),true)
xday9=weekdayname(weekday(dateadd("d",-5,wkday)),true)
xday8=weekdayname(weekday(dateadd("d",-6,wkday)),true)
xday7=weekdayname(weekday(dateadd("d",-7,wkday)),true)
xday6=weekdayname(weekday(dateadd("d",-8,wkday)),true)
xday5=weekdayname(weekday(dateadd("d",-9,wkday)),true)
xday4=weekdayname(weekday(dateadd("d",-10,wkday)),true)
xday3=weekdayname(weekday(dateadd("d",-11,wkday)),true)
xday2=weekdayname(weekday(dateadd("d",-12,wkday)),true)
xday1=weekdayname(weekday(dateadd("d",-13,wkday)),true)
%>
<%
function finddate(dayspan,subcat)
dim lookdate,foundit,qrydata2
' on error resume next
lookdate = dateadd("d",dayspan,request.form("datebox"
)
foundit=0
set qryData2=Server.CreateObject("ADODB.Recordset"
qryData2.ActiveConnection = MM_OTReporting_STRING
qryData2.Source = "Select * From dbo.tblData WHERE dtDate = '" & lookdate & "' AND numsubcatagoryid = " & subcat & ""
qryData2.CursorType = 0
qryData2.CursorLocation = 2
qryData2.LockType = 1
qryData2.Open()
if qrydata2.eof and qrydata2.bof then
finddate=0
exit function
end if
qrydata2.movefirst
finddate =qrydata2("numEntry"
qryData2.Close()
Set qryData2 = Nothing
end function
sub ChangeBox(newnum,dayspan,subcat)
dim addSQL,modSQL,curnum,subsite,lookdate
response.Write("newnum = "&newnum&", dayspan = "&dayspan&", subcat="&subcat)
if newnum = 0 or newnum = "" then
exit sub
end if
subsite = request.Form("subcategoryselect"
curnum = finddate(dayspan,subcat)
lookdate = dateadd("d",dayspan,request.form("datebox"
)
if curnum = 0 then
'add new record
addSQL = "Insert into dbo.tblData (numSubCatagoryID,dtDate,flgLocked,numEntry,numSubSiteID) "
addSQL = addSQL & "VALUES ("&subcat&",'"&lookdate&"',0,"&newnum&","&subsite&"
"
else
'update SQL statement here
end if
end sub
%>
<form name="form1" method="post" action="dataentry2.asp?mode=doit">
<table width="98%" border="1">
<tr bgcolor="#99CCFF">
<td> </td>
<td>
<div align="center"><strong><%= xday1 %></strong></div></td>
<td>
<div align="center"><strong><%= xday2 %></strong></div></td>
<td>
<div align="center"><strong><%= xday3 %></strong></div></td>
<td>
<div align="center"><strong><%= xday4 %></strong></div></td>
<td>
<div align="center"><strong><%= xday5 %></strong></div></td>
<td>
<div align="center"><strong><%= xday6 %></strong></div></td>
<td>
<div align="center"><strong><%= xday7 %></strong></div></td>
<td>
<div align="center"><strong><%= xday8 %></strong></div></td>
<td>
<div align="center"><strong><%= xday9 %></strong></div></td>
<td>
<div align="center"><strong><%= xday10 %></strong></div></td>
<td>
<div align="center"><strong><%= xday11 %></strong></div></td>
<td>
<div align="center"><strong><%= xday12 %></strong></div></td>
<td>
<div align="center"><strong><%= xday13 %></strong></div></td>
<td>
<div align="center"><strong><%= xday14 %></strong></div></td>
</tr>
<tr bgcolor="#99CCFF">
<td width="28%"><strong>Element</strong></td>
<td width="6%">
<div align="center"> <strong>
<input name="date1" type="text" id="date1" value="<%=dateadd("d",-13,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day16" type="text" id="date2" value="<%=dateadd("d",-12,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day17" type="text" id="date3" value="<%=dateadd("d",-11,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day18" type="text" id="date4" value="<%=dateadd("d",-10,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day19" type="text" id="date5" value="<%=dateadd("d",-9,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day110" type="text" id="date6" value="<%=dateadd("d",-8,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day111" type="text" id="date7" value="<%=dateadd("d",-7,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day112" type="text" id="date8" value="<%=dateadd("d",-6,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day113" type="text" id="date9" value="<%=dateadd("d",-5,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day114" type="text" id="date10" value="<%=dateadd("d",-4,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day115" type="text" id="date11" value="<%=dateadd("d",-3,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day116" type="text" id="date12" value="<%=dateadd("d",-2,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day117" type="text" id="date13" value="<%=dateadd("d",-1,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
<td width="18%">
<div align="center"> <strong>
<input name="day118" type="text" id="date14" value="<%=dateadd("d",0,request.form("datebox"
)%>" size="5" readonly="true">
</strong></div></td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT qryElements.EOF))
%>
<tr>
<td height="26"><%=(qryElements.Fields.Item("strSubCatagoryName"
.Value)%></td>
<td>
<div align="center">
<input name="day1" type="text" id="day1" onChange="<%call Changebox(value,-13,qryElements.Fields.Item("numsubcatagoryid"
.Value)%>" value="<%=finddate(-13,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day2" type="text" id="day2" value="<%=finddate(-12,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day3" type="text" id="day3" value="<%=finddate(-11,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day4" type="text" id="day4" value="<%=finddate(-10,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day5" type="text" id="day5" value="<%=finddate(-9,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day6" type="text" id="day6" value="<%=finddate(-8,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day7" type="text" id="day7" value="<%=finddate(-7,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day8" type="text" id="day8" value="<%=finddate(-6,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day9" type="text" id="day9" value="<%=finddate(-5,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day10" type="text" id="day10" value="<%=finddate(-4,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day11" type="text" id="day11" value="<%=finddate(-3,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day12" type="text" id="day12" value="<%=finddate(-2,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day13" type="text" id="day13" value="<%=finddate(-1,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
<td>
<div align="center">
<input name="day14" type="text" id="day14" value="<%=finddate(0,(qryElements.Fields.Item("numsubcatagoryid"
.Value)) %>" size="5">
</div></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
qryElements.MoveNext()
Wend
%>
</table>
<input name="datebox" type="hidden" value="<%=request.form("datebox"
%>">
<input type="hidden" name="subcategoryselect" value="<%=request.form("subcategoryselect"
%>">
<input type="hidden" name="categoryselect" value="<%=request.form("categoryselect"
%>">
<br>
<input type="submit" name="Submit" value="Save">
<input type="reset" name="Submit2" value="Reset">
</form>
<p> </p>
<p><font size="2" face="Arial, Helvetica, sans-serif"><a href="home.asp"><img src="images/home.gif" width="70" height="35" border="0" align="left"></a></font></p>
</html>
Rob Mills
System Analyst
Correctional Services Canada
(all statements are my own ...., ah hell, its the government, sue'em anyway)
How do I get the onChange event to reference a vbScript function or sub?
How do I refer to the new entry in the textbox?
How do I build the SQL statement to do a bunch of these at one time? I could do it one at a time, but I want the reset button to put the form back to it's original state.
note: I colored the code in question
thanks
Rob
-------------code------------
<%
dim xday1,xday2,xday3,xday4,xday5,xday6,xday7,xday8,xday9,xday10,xday11,xday12,xday13,xday14
dim wkday
wkday = request.Form("datebox"
xday14=WeekDayName(weekday(dateadd("d",0,wkday)),true)
xday13=WeekDayName(weekday(dateadd("d",-1,wkday)),true)
xday12=WeekDayName(weekday(dateadd("d",-2,wkday)),true)
xday11=weekdayname(weekday(dateadd("d",-3,wkday)),true)
xday10=weekdayname(weekday(dateadd("d",-4,wkday)),true)
xday9=weekdayname(weekday(dateadd("d",-5,wkday)),true)
xday8=weekdayname(weekday(dateadd("d",-6,wkday)),true)
xday7=weekdayname(weekday(dateadd("d",-7,wkday)),true)
xday6=weekdayname(weekday(dateadd("d",-8,wkday)),true)
xday5=weekdayname(weekday(dateadd("d",-9,wkday)),true)
xday4=weekdayname(weekday(dateadd("d",-10,wkday)),true)
xday3=weekdayname(weekday(dateadd("d",-11,wkday)),true)
xday2=weekdayname(weekday(dateadd("d",-12,wkday)),true)
xday1=weekdayname(weekday(dateadd("d",-13,wkday)),true)
%>
<%
function finddate(dayspan,subcat)
dim lookdate,foundit,qrydata2
' on error resume next
lookdate = dateadd("d",dayspan,request.form("datebox"
foundit=0
set qryData2=Server.CreateObject("ADODB.Recordset"
qryData2.ActiveConnection = MM_OTReporting_STRING
qryData2.Source = "Select * From dbo.tblData WHERE dtDate = '" & lookdate & "' AND numsubcatagoryid = " & subcat & ""
qryData2.CursorType = 0
qryData2.CursorLocation = 2
qryData2.LockType = 1
qryData2.Open()
if qrydata2.eof and qrydata2.bof then
finddate=0
exit function
end if
qrydata2.movefirst
finddate =qrydata2("numEntry"
qryData2.Close()
Set qryData2 = Nothing
end function
sub ChangeBox(newnum,dayspan,subcat)
dim addSQL,modSQL,curnum,subsite,lookdate
response.Write("newnum = "&newnum&", dayspan = "&dayspan&", subcat="&subcat)
if newnum = 0 or newnum = "" then
exit sub
end if
subsite = request.Form("subcategoryselect"
curnum = finddate(dayspan,subcat)
lookdate = dateadd("d",dayspan,request.form("datebox"
if curnum = 0 then
'add new record
addSQL = "Insert into dbo.tblData (numSubCatagoryID,dtDate,flgLocked,numEntry,numSubSiteID) "
addSQL = addSQL & "VALUES ("&subcat&",'"&lookdate&"',0,"&newnum&","&subsite&"
else
'update SQL statement here
end if
end sub
%>
<form name="form1" method="post" action="dataentry2.asp?mode=doit">
<table width="98%" border="1">
<tr bgcolor="#99CCFF">
<td> </td>
<td>
<div align="center"><strong><%= xday1 %></strong></div></td>
<td>
<div align="center"><strong><%= xday2 %></strong></div></td>
<td>
<div align="center"><strong><%= xday3 %></strong></div></td>
<td>
<div align="center"><strong><%= xday4 %></strong></div></td>
<td>
<div align="center"><strong><%= xday5 %></strong></div></td>
<td>
<div align="center"><strong><%= xday6 %></strong></div></td>
<td>
<div align="center"><strong><%= xday7 %></strong></div></td>
<td>
<div align="center"><strong><%= xday8 %></strong></div></td>
<td>
<div align="center"><strong><%= xday9 %></strong></div></td>
<td>
<div align="center"><strong><%= xday10 %></strong></div></td>
<td>
<div align="center"><strong><%= xday11 %></strong></div></td>
<td>
<div align="center"><strong><%= xday12 %></strong></div></td>
<td>
<div align="center"><strong><%= xday13 %></strong></div></td>
<td>
<div align="center"><strong><%= xday14 %></strong></div></td>
</tr>
<tr bgcolor="#99CCFF">
<td width="28%"><strong>Element</strong></td>
<td width="6%">
<div align="center"> <strong>
<input name="date1" type="text" id="date1" value="<%=dateadd("d",-13,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day16" type="text" id="date2" value="<%=dateadd("d",-12,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day17" type="text" id="date3" value="<%=dateadd("d",-11,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day18" type="text" id="date4" value="<%=dateadd("d",-10,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day19" type="text" id="date5" value="<%=dateadd("d",-9,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day110" type="text" id="date6" value="<%=dateadd("d",-8,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day111" type="text" id="date7" value="<%=dateadd("d",-7,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day112" type="text" id="date8" value="<%=dateadd("d",-6,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day113" type="text" id="date9" value="<%=dateadd("d",-5,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day114" type="text" id="date10" value="<%=dateadd("d",-4,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day115" type="text" id="date11" value="<%=dateadd("d",-3,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day116" type="text" id="date12" value="<%=dateadd("d",-2,request.form("datebox"
</strong></div></td>
<td width="4%">
<div align="center"> <strong>
<input name="day117" type="text" id="date13" value="<%=dateadd("d",-1,request.form("datebox"
</strong></div></td>
<td width="18%">
<div align="center"> <strong>
<input name="day118" type="text" id="date14" value="<%=dateadd("d",0,request.form("datebox"
</strong></div></td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT qryElements.EOF))
%>
<tr>
<td height="26"><%=(qryElements.Fields.Item("strSubCatagoryName"
<td>
<div align="center">
<input name="day1" type="text" id="day1" onChange="<%call Changebox(value,-13,qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day2" type="text" id="day2" value="<%=finddate(-12,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day3" type="text" id="day3" value="<%=finddate(-11,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day4" type="text" id="day4" value="<%=finddate(-10,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day5" type="text" id="day5" value="<%=finddate(-9,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day6" type="text" id="day6" value="<%=finddate(-8,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day7" type="text" id="day7" value="<%=finddate(-7,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day8" type="text" id="day8" value="<%=finddate(-6,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day9" type="text" id="day9" value="<%=finddate(-5,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day10" type="text" id="day10" value="<%=finddate(-4,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day11" type="text" id="day11" value="<%=finddate(-3,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day12" type="text" id="day12" value="<%=finddate(-2,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day13" type="text" id="day13" value="<%=finddate(-1,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
<td>
<div align="center">
<input name="day14" type="text" id="day14" value="<%=finddate(0,(qryElements.Fields.Item("numsubcatagoryid"
</div></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
qryElements.MoveNext()
Wend
%>
</table>
<input name="datebox" type="hidden" value="<%=request.form("datebox"
<input type="hidden" name="subcategoryselect" value="<%=request.form("subcategoryselect"
<input type="hidden" name="categoryselect" value="<%=request.form("categoryselect"
<br>
<input type="submit" name="Submit" value="Save">
<input type="reset" name="Submit2" value="Reset">
</form>
<p> </p>
<p><font size="2" face="Arial, Helvetica, sans-serif"><a href="home.asp"><img src="images/home.gif" width="70" height="35" border="0" align="left"></a></font></p>
</html>
Rob Mills
System Analyst
Correctional Services Canada
(all statements are my own ...., ah hell, its the government, sue'em anyway)