{"id":574,"date":"2006-02-08T15:13:44","date_gmt":"2006-02-08T07:13:44","guid":{"rendered":"http:\/\/foxpro.ntsl119.com\/scr\/?p=574"},"modified":"2007-10-09T04:10:49","modified_gmt":"2007-10-08T20:10:49","slug":"multiple-detail-band-in-visual-foxpro-9","status":"publish","type":"post","link":"https:\/\/foxpro.ntsl119.com\/scr\/archives\/574","title":{"rendered":"Multiple Detail Band in Visual FoxPro 9"},"content":{"rendered":"<p>After countless trials and errors, with each error pounding one of my faithful neurons, reading (and re-reading and re-reading), roundtrips to the Program Files\\VFP9\\Samples directory and pathetic attempts to have a crash course on &#8216;Absorbing the Mozart Effect 101&#8217;&#8230; I finally figured out how to make VFP9&#8217;s multiple detail band feature work on one of my reports.<\/p>\n<p>(And no, Mozart wasn&#8217;t helpful this time.)<\/p>\n<p>More than 77 neurons are off to meet their maker. I stopped counting though an hour and a half ago, so there&#8217;s probably more. (And we&#8217;re not even counting the injured and now-limb-less ones.) <\/p>\n<p>Yes I know&#8230; I&#8217;m quite late with this. Most VFP9 coders are now using the multiple detail band to extract data from different databases located in parallel universes while I have been using the dump N table records to one &#8216;cursor\/table holder&#8217; with generic field names where I can extract data for reporting&#8230;<\/p>\n<p>&#8230; or firing up CrystalReports.<\/p>\n<p>Anyway at 1:37AM, I&#8217;m scribbling this down just in case an alien decides to teleport its presence here in this room, do some wholesome (I hope) experiments and decides to mind-wipe me afterwards, which might possibly corrupt this multiple-detail-band-eureka moments I have.<\/p>\n<p>Also this could probably help a coder out there who decides to google things after being mind-wiped by an alien.<\/p>\n<p>Just a basic overview&#8230; I&#8217;ll call these step by step &#8216;hints&#8217; not a &#8216;guide&#8217;. (A User Guide expert would scream bloody hell when he sees this. (But trust me a programmer will understand. (Especially those mind-wiped by aliens.)))<\/p>\n<p>Given:<br \/>\nParent.dbf \/ Child01.dbf \/ Child02.dbf <br \/>\nRight click = Right click in the Report Designer. <\/p>\n<table width=\"435\"  border=\"0\" cellspacing=\"0\" cellpadding=\"2\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td width=\"54\" bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">1.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td width=\"6\" class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td width=\"312\" bordercolor=\"#ECEAEB\" bgcolor=\"#ECEAEB\" class=\"style1\">File. New. New report. (No wizards.) <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td width=\"47\" class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">2. <\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Data Environment. Add the three (or more) tables.<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">3. <\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Set the relationships. (P &raquo; C01 and P &raquo; C02.)<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">4.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Right click. Select Data Grouping. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">5.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Data Grouping tab. Group Nesting Order box. Add. And add field from your parent table (Your primary key&#8230; for example: PARENT.CODENO) <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">6.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Right click. Optional Bands. In the Detail Bands box, Add another Detail Band. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">7.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Now you have two bands. One for you, one for the alien.<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">8.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Double click on the Detail 1 separator. The Detail Band Properties window pops out. (Or if you like the longer process&#8230; Report&#8230; Edit Bands&#8230; select Detail 1.) <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">9.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Check Associated header and footer bands. (Trust me you need this. Aliens are allergic to this.) <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">10.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Repeat steps 8 &#8211; 9 for Detail 2. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">11.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Data Environment. Drag the fields to their appropriate bands. Parent fields on the Group Header. C01 fields in the Detail 1 band and C02 fields on the Detail 2. And aliens in the footer part. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">12.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">BTW&#8230; you should have saved your report already and instinctively press CTRL+S every now and then in case the aliens&#8230; <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">13.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Now double click the Detail 1 &#8216;bar&#8217; (separator) again. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">14.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Detail Band Properties. In the Target alias expression enter &#8216;child01&#8217; or the name of your child database. (NOTE: Be sure to include the &#8221;)<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">15.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Do the same with the other Detail bands. The Detail 1 band separator should now look like &#8216;Detail 1: Child01&#8217;.<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">\n<div align=\"right\">16.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">Add appropiate headers, lines and all. Align things. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<tr valign=\"top\">\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">\n<div align=\"right\">17.<\/div>\n<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td bgcolor=\"#ECEAEB\" class=\"style1\">Beautify your report. Make it look professional. Nevermind if your clients are using a stone-age dot matrix printer. <\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/p>\n<td class=\"style1\">&nbsp;<\/td>\n<td><font face=\"Tahoma, Verdana, Arial\"><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/tr>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<p><\/font><\/td>\n<\/table>\n<p>Hope this helps.<\/p>\n<p>Now I&#8217;m off to re-inspect the protective shields of this room.      <\/p>\n","protected":false},"excerpt":{"rendered":"<p>After countless trials and errors, with each error pounding one of my faithful neurons, reading (and re-reading and re-reading), roundtrips to the Program Files\\VFP9\\Samples directory and pathetic attempts to have a crash course on &#8216;Absorbing the Mozart Effect 101&#8217;&#8230; I finally figured out how to make VFP9&#8217;s multiple detail band feature work on one of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,10],"tags":[],"class_list":["post-574","post","type-post","status-publish","format-standard","hentry","category-visual-foxpro","category-workblog"],"_links":{"self":[{"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/posts\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/comments?post=574"}],"version-history":[{"count":0,"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/posts\/574\/revisions"}],"wp:attachment":[{"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/media?parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/categories?post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/foxpro.ntsl119.com\/scr\/wp-json\/wp\/v2\/tags?post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}