Wrox Home  
Search P2P Archive for: Go

  Return to Index  

access_asp thread: rs.addnew problem


Message #1 by tetsu <MAH03271@n...> on Tue, 16 Jul 2002 23:36:57 +0900
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>&nbsp;</th><th>mon</th><th>&nbsp;</th><th>tu
e</th><th>&
nbsp;</th><th>wed</th><th>&nbsp;</th><th>thu</th><th>&nbsp;</th><th
>fri</th
><th>&nbsp;</th><th>sat</th><th>&nbsp;</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'>&nbsp;</td>"
  response.write "<td align='center'>&nbsp;</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
%>


  Return to Index