Solved

Adobe Report Writer CF 8 - Mailing Label Woes

Posted on 2008-10-17
1
456 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

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…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …
Suggested Courses

710 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