Solved

ColdFusion Help with update statement

Posted on 2014-03-01
2
232 Views
Last Modified: 2014-03-01
I have a working update statement that updates more than one record at a time (with one table) and need to alter to accommodate another table of alterations, meaning some records of the main table have a alteration record attached and some don't.

I'm using counter for multiple inputs:
<cfloop from="1" to="#form.numOfFields#" index="counter">
       <!--- extract values of form fields --->
       <cfset variables.keyID   = FORM["keyid_"& counter]>
       <cfset variables.date = FORM["date_"& counter]>
Problem:
When I added this statement, to receive inputs for the alteration table, I receive errors due to not all records from the main table, have records from the alteration table:
      <cfset variables.AlterationTabledate = FORM["REC_DATE_B"& counter]>
This statement works when all records being displayed have an alteration record.

Error received if all records displayed do not have an alteration record:
Element DATE_B2 is undefined in a Java object of type class coldfusion.filter.FormScope.

How can I make this update statement work when not all records of the main table have an alternate record attached?
0
Comment
Question by:DJPr0
2 Comments
 
LVL 52

Accepted Solution

by:
_agx_ earned 500 total points
ID: 39897658
(BTW, Since your question is about CF, it really should have been posted under one of the CF topics, not Access (it won't get the right attention there).  I just saw it by accident... )

If I'm understanding correctly, either

a) Use cfparam to assign a default value for the field, so it always exists. That'll avoid the error
 
<cfparam name="FORM.REC_DATE_B#counter#" default="(some default value")>
<cfset variables.AlterationTabledate = FORM["REC_DATE_B"& counter]>

b) OR you could use structKeyExists and only do something if that field DOES exist

<cfif structKeyExists(FORM, "REC_DATE_B"& counter)>
       the form field exists, do something here
</cfif>

Which one is better all depends what your code is doing.
0
 

Author Closing Comment

by:DJPr0
ID: 39897910
Plan b worked perfectly - thanks!
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
I have a large data set and a SSIS package. How can I load this file in multi threading?
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question