Solved

Adobe Report Writer CF 8 - Mailing Label Woes

Posted on 2008-10-17
1
451 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 350 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Today, I was working on some optimization and spam-stopping techniques when I encountered Ben Nadel's post to reduce spam feature using Math (http://www.bennadel.com/blog/197-How-I-Stop-Spammers-On-My-ColdFusion-Blog.htm). While this method is not o…
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 explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.
I designed this idea while studying technology in the classroom.  This is a semester long project.  Students are asked to take photographs on a specific topic which they find meaningful, it can be a place or situation such as travel or homelessness.…

947 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now