Hi, guys!
I am a beginner on asp-access.
Now working on a calendar db, the part-2 works but the part-1 doesn't.
I have a error message:
> ADODB.Recordset error '800a0cc1'
> Item cannot be found in the collection corresponding to the requested
name or ordinal.
at the line: rs.addnew
Will you show me what the problem is?
Thanks
*************************************************************************
<!-- part 1 -->
<%
if request.form("reg")="ister" then
set conn = server.createobject("ADODB.connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("sched.mdb")
dteFdate=dateserial(year(date),month(date),1)
dteLdate=dateserial(year(date),month(date)+1,0)
set cmd = server.createobject("ADODB.command")
cmd.activeconnection = conn
cmd.commandtype = &h0004
cmd.commandtext = "qDates"
set prm = cmd.createparameter("fDate",7,&h0001,,dteFdate)
set prm2 = cmd.createparameter("lDate",7,&h0001,,dteLdate)
cmd.parameters.append prm
cmd.parameters.append prm2
set rs = cmd.execute
i=0
do while i < day(dteLdate)
if not rs.EOF then
if i=day(rs("sDate"))-1 then
rs("weight") = request.form(dateAdd("d",i,dteFdate))
rs.movenext
else
rs.addnew
rs("sDate")=dateAdd("d",i,dteFdate)
rs("weight")=request.form(dateAdd("d",i,dteFdate))
rs("Date")=date
rs.update
end if
else
rs.addnew
rs("sDate")=dateAdd("d",i,dteFdate)
rs("weight")=request.form(dateAdd("d",i,dteFdate))
rs("Date")=date
rs.update
end if
i=i+1
loop
rs.close
conn.close
set conn = nothing
end if
%>
<!-- part 2 -->
<br><br>
<p align="center">
<font color="blue">place numbers and register</font><br>
<form action="schedtest.asp" method=post>
<table align="center" class=med>
<tr><th>sun</th><th> </th><th>mon</th><th> </th><th>tu
e</th><th>&
nbsp;</th><th>wed</th><th> </th><th>thu</th><th> </th><th
>fri</th
><th> </th><th>sat</th><th> </th></tr>
<tr><% call calendar %></tr></table>
<br><br>
<input type="hidden" name="reg" value="ister">
<input type="submit" value="register">
</form>
</p>
<%
sub calendar()
'accessing to mdb
if request.form("mahead")="" then
dteFdate=dateserial(year(date),month(date),1)
dteLdate=dateserial(year(date),month(date)+1,0)
else
dteFdate=dateserial(year(date),month(date)+cint(request.form("mahead")),1)
dteLdate=dateserial(year(date),month(date)+cint(request.form("mahead"))+1,
0)
end if
set conn = server.createobject("ADODB.connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("sched.mdb")
set cmd = server.createobject("ADODB.command")
cmd.activeconnection = conn
cmd.commandtype = &h0004
cmd.commandtext = "qDates"
set prm = cmd.createparameter("fDate",7,&h0001,,dteFdate)
set prm2 = cmd.createparameter("lDate",7,&h0001,,dteLdate)
cmd.parameters.append prm
cmd.parameters.append prm2
set rs = cmd.execute
'calendar
j=weekday(dteFdate)
do while j-1>0
response.write "<td align='center'> </td>"
response.write "<td align='center'> </td>"
j=j-1
loop
i=0
j=weekday(dteFdate)
do while i < day(dteLdate)
if not rs.EOF then
if i=day(rs("sDate"))-1 then
x=rs("weight")
rs.movenext
else
x=""
end if
else
x=""
end if
if j mod 7 = 0 then
if i=day(dteLdate) then
response.write "<td align='center'>" & right("0" &
day(dateAdd("d",i,dteFdate)),2) & "</td><td><input type='text' size='2'
name=#" & dateAdd("d",i,dteFdate) & "# value=" & x & "></td>" & vbCR &vbCR
else
response.write "<td align='center'>" & right("0" &
day(dateAdd("d",i,dteFdate)),2) & "</td><td><input type='text' size='2'
name=#" & dateAdd("d",i,dteFdate) & "# value=" & x & "></td></tr><tr>" &
vbCR &vbCR
end if
else
if j mod 7 = 1 then
response.write "<td align='center' bgcolor='lightblue'>" & right("0"
& day(dateAdd("d",i,dteFdate)),2) & "</td><td><input type='text' size='2'
name=#" & dateAdd("d",i,dteFdate) & "# value=" & x & "></td>"
else
response.write "<td align='center'>" & right("0" &
day(dateAdd("d",i,dteFdate)),2) & "</td><td><input type='text' size='2'
name=#" & dateAdd("d",i,dteFdate) & "# value=" & x & "></td>"
end if
end if
j=j+1
i=i+1
loop
rs.close
conn.close
set conn = nothing
end sub
%>