Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Adobe Report Writer CF 8 - Mailing Label Woes

Posted on 2008-10-17
1
Medium Priority
?
462 Views
Last Modified: 2013-12-24
I am tryibng to create some maining labels from a select set in ColdFusion. I have edited my Avery_5160.cfr so that it contains 4 lines:
query.name
query.names2
query.address
query.city & ", " & query.state & " " & query.zip

I have no problem printing a label with for lines except when there is no value for query.names2 for a record. It prints a blank space. What I am trying to do is, if query.names2 is empty then put a black in the first line and put query.name into the second line.
Here is my CF code to do this:
...................
<cfquery name="QryData" datasource="#session.controller.datasource#">
 SELECT *
 FROM #rd_info.TABLE_NAME#
 WHERE results_session_id = #get_res_sess_id.results_session_id#
 </cfquery>
 
<cfset QryLabels = QueryNew("name,names2,street,city,state,zip")>
 
<cfloop query="QryData">
 	<cfset tmp = QueryAddRow(QryLabels)>
 
 <cfif len(trim(attributes.attribute12))> 
    <cfset tmp = QuerySetCell(QryLabels, "name", QryData[#attributes.attribute11#][CurrentRow])>
    <cfset tmp = QuerySetCell(QryLabels, "names2", QryData[#attributes.attribute12#][CurrentRow])>	
<cfelseif len(trim(attributes.attribute11))>
	    	<cfset tmp = QuerySetCell(QryLabels, "names2", QryData[#attributes.attribute11#][CurrentRow])>
 <cfelse>
  	<cfoutput><script>alert('No name fields selected');self.history.back();</script></cfoutput>
  	<cfabort>
 </cfif>
 
 <cfif len(trim(attributes.attribute21)) and len(trim(attributes.attribute22)) and len(trim(attributes.attribute23)) >
  <cfset tmp = QuerySetCell(QryLabels, "street", QryData[#attributes.attribute21#][CurrentRow] & " " & 
 
QryData[#attributes.attribute22#][CurrentRow] & " " & QryData[#attributes.attribute23#][CurrentRow])>
 <cfelseif len(trim(attributes.attribute21)) and len(trim(attributes.attribute22)) >
  <cfset tmp = QuerySetCell(QryLabels, "street", QryData[#attributes.attribute21#][CurrentRow] & " " & 
 
QryData[#attributes.attribute22#][CurrentRow])>
 <cfelseif len(trim(attributes.attribute21)) >
  <cfset tmp = QuerySetCell(QryLabels, "street", QryData[#attributes.attribute21#][CurrentRow])>
 <cfelse>
  <cfoutput><script>alert('No address fields selected');self.history.back();</script></cfoutput>
  <cfabort>
 </cfif>
 
 <cfif len(trim(attributes.attribute31)) and len(trim(attributes.attribute32)) and len(trim(attributes.attribute33)) >
  <cfset tmp = QuerySetCell(QryLabels, "city", QryData[#attributes.attribute31#][CurrentRow])>
  <cfset tmp = QuerySetCell(QryLabels, "state", QryData[#attributes.attribute32#][CurrentRow])>
  <cfset tmp = QuerySetCell(QryLabels, "zip", QryData[#attributes.attribute33#][CurrentRow])>
 <cfelseif len(trim(attributes.attribute31)) and len(trim(attributes.attribute32)) >
  <cfset tmp = QuerySetCell(QryLabels, "city", QryData[#attributes.attribute31#][CurrentRow])>
  <cfset tmp = QuerySetCell(QryLabels, "state", QryData[#attributes.attribute32#][CurrentRow])>
 <cfelseif len(trim(attributes.attribute31)) and len(trim(attributes.attribute33)) >
  <cfset tmp = QuerySetCell(QryLabels, "city", QryData[#attributes.attribute31#][CurrentRow])>
  <cfset tmp = QuerySetCell(QryLabels, "zip", QryData[#attributes.attribute33#][CurrentRow])>
  <cfif Len(Trim(attributes.default_state_value))>
  <cfset tmp = QuerySetCell(QryLabels, "state", attributes.default_state_value)>
  </cfif>
 <cfelseif len(trim(attributes.attribute31)) >
  <cfset tmp = QuerySetCell(QryLabels, "city", QryData[#attributes.attribute31#][CurrentRow])>
 <cfelse>
  <cfoutput><script>alert('No city, state, name fields selected');self.history.back();</script></cfoutput>
  <cfabort>
 </cfif>
</cfloop>
................

Open in new window

0
Comment
Question by:apwbe
1 Comment
 
LVL 10

Accepted Solution

by:
Mause earned 1400 total points
ID: 22954667
I think you should change the cfif statement because the value of attributes.attribute12 is not changing but the query values are:

<cfif len(trim( QryData[#attributes.attribute12#][CurrentRow]))>
   <cfset tmp = QuerySetCell(QryLabels, "name", QryData[#attributes.attribute11#][CurrentRow])>
   <cfset tmp = QuerySetCell(QryLabels, "names2", QryData[#attributes.attribute12#][CurrentRow])>  
<cfelseif len(trim( QryData[#attributes.attribute11#][CurrentRow]))>
                <cfset tmp = QuerySetCell(QryLabels, "names2", QryData[#attributes.attribute11#][CurrentRow])>
 <cfelse>
        <cfoutput><script>alert('No name fields selected');self.history.back();</script></cfoutput>
        <cfabort>
 </cfif>

0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

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

Article by: kevp75
Hey folks, 'bout time for me to come around with a little tip. Thanks to IIS 7.5 Extensions and Microsoft (well... really Windows 8, and IIS 8 I guess...), we can now prime our Application Pools, when IIS starts. Now, though it would be nice t…
CFGRID Custom Functionality Series -  Part 1 Hi Guys, I was once asked how it is possible to to add a hyperlink in the cfgrid and open the window to show the data. Now this is quite simple, I have to use the EXT JS library for this and I achiev…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

963 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