Re: Form fields array

From: laura (replyto_at_group.com)
Date: 03/23/05

  • Next message: Chris Hohmann: "Re: where does '129' mean in conn.execute sql, , 129"
    Date: Wed, 23 Mar 2005 18:10:54 -0000
    
    

    Hello Ray at work.

    Boy, I've spent so much time on this.. trying so many permutations - even
    getting up at 3.00 a.m. to try something (it didn't work). Finally, though,
    this morning I did get something to work... sort of along the lines you were
    recommending. I see your point about the array being empty.. I was getting
    myself in a twist about it all.

    I'm doing a travel and absence program where employees can enter their trip
    dates - start, end etc.. and fill in the locations they visit (events). I
    had to give them blank text boxes based on the number of days between start
    and end. I did not know if it would be 1 or 14 or how many it would be, so I
    didn't know what the text box would be named.

    I am using a temporary database to do this - The records that I am
    retrieving come from another database where existing trips have already been
    recorded - I have to allow for the fact that they might be entering more
    trips to one they had entered previously (or just amend the records). It's
    all a bit complicated.. but what I was trying to achieve was that NAME=?
    text box.

    What I did in the end is similar to what you suggested-

    Dim aText
    Dim incDays
    incDays=0

    <INPUT TYPE="text" NAME="aText<%=incDays%>" VALUE="<%=RSEvents("Event")%>">

    incDays = incDays + 1

    I was then able to pick up any one of the records with
     for counter=0 to iDays 'iDays are the count of how many days between
    start and end dates
           response.write("<br>aText = " request.form("aText" & counter))
     next
    I can refer to them as aText1 or aText2 etc.. and IT WORKS!! Hope this
    makes sense?

    Thanks for your input - I was getting punch-drunk, but I'm getting near to
    completing this first ASP/Database project
    Laura

    "Ray Costanzo [MVP]" <my first name at lane 34 dot commercial> wrote in
    message news:eR0y2H8LFHA.2888@TK2MSFTNGP12.phx.gbl...
    > Hi Laura,
    >
    > A number of things. One, arrays in VBScript are zero-based, meaning that
    > your first value would be aText(0), not aText(1).
    >
    > You create an array, but you never put any values in it, so aText(incDays)
    > will always be empty.
    >
    > You don't need to use an array for what you're doing, if I followed you
    > right. You just want to have your text fields named with incrementing
    > numbers? If so, try this:
    >
    > <%
    > Dim i
    > i = 1 'or 0, or any number, really
    > %>
    >
    > <FORM METHOD="post" ACTION="trips.asp">
    > <% if not RSEvents.eof then
    > do while not RSEvents.eof %>
    > <tr>
    > <td>Event Date: <%=RSEvents("EventDate")%></td>
    > <td><INPUT TYPE="text" NAME="<%=i%>" size="30"
    > VALUE="<%=(RSEvents("Event"))%>"></td>
    > </tr>
    > <% RSEvents.Movenext
    > i = i + 1
    > Loop
    > end if
    > %>
    > <INPUT TYPE="submit" VALUE="Confirm">
    > </FORM>
    >
    > But what are you going to do with this data after it's submitted? All
    > you're going to have is a bunch of textboxes with numeric names that you
    > won't be able to tie back to a specific record in your database. Does
    > your
    > events table have a primary key? Why not bring that back in your query
    > and
    > name your textboxes with that?
    >
    > Ray at work
    >
    >
    >
    > "laura" <replyto@group.com> wrote in message
    > news:uFOifLzLFHA.1144@TK2MSFTNGP09.phx.gbl...
    >> I want to use a Form to display/get fields from a table - problem is, I
    >> do
    >> not know how many records the query will pull up. I have been trying to
    > use
    >> an array to identify the NAME=" " value, but have not been able to do so.
    > I
    >> want it to come up with something like
    >>
    >> <INPUT TYPE="text" NAME=<%=aText(incDays)%> size="30"
    >> VALUE="<%=(RStmpEvents("Event"))%>">
    >>
    >> Everything but the NAME works. I've tried
    >>
    >> NAME="aText<%=incDays%>"
    >> NAME=<%=aText(incDays)%>
    >>
    >> But just cannot seem to put a unique value to the NAME property. Here is
    > the
    >> code on the form and I expect to pick up anything from 0 to about 14
    >> records. I want to be able to then refer to them as
    >>
    >> aText(1) = whatever
    >> aText(2) = whatever etc.
    >>
    >> Dim aText() ' declare the array but at this point I don't
    > know
    >> how many elements it will have
    >> Dim incDays ' to increment incDays = incDays + 1
    >> Dim iDays ' this will count how many records match my
    >> query
    >> Set RSEvents = conn.Execute(sqltmpEvents)
    >> ' I loop through the query here to count how many records and put the
    > value
    >> in iDays
    >> reDim aText(iDays) ' reset the array
    >> incDays = 1 'start with day 1
    >> %>
    >> <FORM METHOD="post" ACTION="trips.asp">
    >> <% if not RSEvents.eof then
    >> do while not RSEvents.eof %>
    >> <tr>
    >> <td>Event Date: <%
    >> response.write(RSEvents("EventDate"))%></td> ' this works fine
    >> <td><INPUT TYPE="text" NAME=<%=aText(incDays)%>
    > size="30"
    >> VALUE="<%=(RSEvents("Event"))%>"></td>
    >> </tr>
    >> <% RSEvents.Movenext
    >> incDays=incDays+1
    >> Loop
    >> end if %>
    >> <INPUT TYPE="submit" VALUE="Confirm">
    >> </FORM>
    >> <%
    >>
    >> The problem is that I CANNOT create the individual NAME= so that I can
    >> reference the input - I am tearing my hair out!!
    >>
    >> Laura TD
    >>
    >>
    >
    >


  • Next message: Chris Hohmann: "Re: where does '129' mean in conn.execute sql, , 129"

    Relevant Pages

    • Re: Copying a table to an array
      ... You probably don't need a query, ... Dim rstRSet As Recordset ... table to enable data from the latter to be read into an array with GetRows. ... exercise has therefore to be repeated prior to each interrogation. ...
      (microsoft.public.access.formscoding)
    • Re: Copying a table to an array
      ... "Peter Hibbs" wrote: ... You probably don't need a query, ... Dim rstRSet As Recordset ... table to enable data from the latter to be read into an array with GetRows. ...
      (microsoft.public.access.formscoding)
    • Re: Copying a table to an array
      ... You probably don't need a query, ... Dim rstRSet As Recordset ... table to enable data from the latter to be read into an array with GetRows. ... selects fields from a table of prices in DBase.mdb, ...
      (microsoft.public.access.formscoding)
    • Re: Array data in SQL Query?
      ... I'm trying to read data from a worksheet, inputting it into an array, ... I'm having problems getting the array value into the query though. ... Dim dbConn2 As New ADODB.Connection ... Dim rs2 As New ADODB.Recordset 'the recordset ...
      (microsoft.public.excel.programming)
    • RE: Breaking down imported information
      ... Single-record append query: ... ' Check if at EOF of Recordset (rsDataViaCode) ... ' if at EOF Exit Do. ... Dim rsDataViaCode As DAO.Recordset ...
      (microsoft.public.access.modulesdaovba)