<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18793658</id><updated>2011-12-30T09:37:46.070Z</updated><category term='field editing'/><category term='name picker'/><category term='embedded'/><category term='table'/><category term='javascript'/><category term='activeX'/><category term='authentication'/><category term='problem solver'/><category term='usb'/><category term='ajax'/><category term='design synopsis'/><category term='sorting'/><category term='toolbar'/><category term='service'/><category term='submission'/><category term='border'/><category term='ascii'/><category term='utils'/><category term='selectAll'/><category term='network drives'/><category term='string'/><category term='agents'/><category term='selection formula'/><category term='lotus notes'/><category term='dynamic table'/><category term='smart icon'/><category term='field validation'/><category term='css'/><category term='domino'/><category term='layers'/><category term='action hotspot'/><category term='view'/><category term='tips'/><category term='html'/><category term='windows'/><category term='formula'/><category term='lotus script'/><category term='network'/><category term='actions'/><category term='image'/><category term='code'/><category term='columnValues'/><category term='replication conflicts'/><category term='error'/><category term='deletion stubs'/><category term='hotspot'/><category term='database'/><category term='rich text fields'/><title type='text'>Random Tech Tips</title><subtitle type='html'>Tips about Notes/Domino, tips about software and web development in general and links to cool/useful tech sites</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18793658.post-6805147575510291968</id><published>2010-06-28T17:48:00.002+01:00</published><updated>2010-06-28T17:50:17.893+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network drives'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>The drive could not be mapped because no network was found</title><content type='html'>&lt;b&gt;Symptom:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;When trying to map a network drive, you may receive this error: “The drive could not be mapped because no network was found”&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Causes and solutions:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. The workstation service is missing from the computer's list of services. Install the Workstation service by enabling the Client for MS network.&lt;br /&gt;&lt;br /&gt;2. The Workstation service is stopped. Restart it and make sure the Status setup as automatic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;in &lt;a href="http://www.chicagotech.net/Networking/ntbemapped1.htm"&gt;ChicagoTech.net&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6805147575510291968?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='text/html' href='http://www.chicagotech.net/Networking/ntbemapped1.htm' length='0'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6805147575510291968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6805147575510291968&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6805147575510291968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6805147575510291968'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2010/06/drive-could-not-be-mapped-because-no.html' title='The drive could not be mapped because no network was found'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-3272814588320664779</id><published>2010-06-08T16:42:00.000+01:00</published><updated>2010-06-08T16:42:13.676+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='deletion stubs'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Notes: Database is much bigger than expected</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Symptoms:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;A database with a very big size, does not have the number of documents (and/or attachments) that would justify it.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Possible cause:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Deletion stubs. When documents are deleted they are stored internally for a x number of days (depends on the database configuration), therefore they still occupy disk space. If the database has frequent deletion operations on a large number of documents, this can easily add up to it's size.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;How to remove the deletion stubs immediately? Follow this steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;go to the Replication Options of that database&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;select the Space Savers Tab and on the first option &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt; ("Remove documents not modified in the last [x] days" replace the number displayed (usually 90) by 0. &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-large;"&gt;*&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;WARNING&lt;/span&gt;: do NOT select the checkbox before this option!!!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;enter the database, exit and go back to the Replication Options and set that option back to the number of days it had before&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;compact the database.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The deletion stubs will have been deleted and, after compacting, the database's size should diminish&amp;nbsp;visibly.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;For more information see the &lt;a href="http://www.blogger.com/goog_1409367972"&gt;IBM's Technote nº&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana, arial, sans-serif;"&gt;&lt;b&gt;&lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg21095683"&gt;technote 1095683&lt;/a&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-3272814588320664779?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/3272814588320664779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=3272814588320664779&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/3272814588320664779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/3272814588320664779'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2010/06/notes-database-is-much-bigger-than.html' title='Notes: Database is much bigger than expected'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-8324580339532989632</id><published>2010-05-04T15:43:00.001+01:00</published><updated>2010-05-04T15:50:56.558+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='border'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='action hotspot'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='hotspot'/><title type='text'>Notes: Border appearing around image, even though hotspot's border is disabled</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Scenario:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;An image, with a action hotspot around it, displays a border, even though the hotspot property "Show border around hotspot" is not set:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_waAT9NNL2lU/S-AxoR3G4XI/AAAAAAAABt0/nRM64pyE6Qg/s1600/action_hotspot_border.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_waAT9NNL2lU/S-AxoR3G4XI/AAAAAAAABt0/nRM64pyE6Qg/s320/action_hotspot_border.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Place the cursor to the left of the image and hit "enter" to add a line above it. The border will be gone.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-8324580339532989632?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/8324580339532989632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=8324580339532989632&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/8324580339532989632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/8324580339532989632'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2010/05/scenario-image-with-action-hotspot.html' title='Notes: Border appearing around image, even though hotspot&apos;s border is disabled'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_waAT9NNL2lU/S-AxoR3G4XI/AAAAAAAABt0/nRM64pyE6Qg/s72-c/action_hotspot_border.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6532928225627450518</id><published>2010-04-12T14:21:00.001+01:00</published><updated>2010-04-12T14:22:44.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='selection formula'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='replication conflicts'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>View Error: Entry Not Found in Index</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Scenario:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;A view used for lookup suddenly starts to throw the error "Entry not found in index", even though there are documents that match the lookup key and no change was made to the view's design.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The view has the option "ODBC Access: generate unique key" active and there are Replication&amp;nbsp;Conflict&amp;nbsp;documents displayed on the view.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_waAT9NNL2lU/S8MeO3iSm8I/AAAAAAAABrA/QJ-DMzFFWEo/s1600/odbcaccess.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_waAT9NNL2lU/S8MeO3iSm8I/AAAAAAAABrA/QJ-DMzFFWEo/s320/odbcaccess.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Add this formula to the view's selection formula, to exclude the Replication Conflicts and the error will stop: &amp;nbsp;!&lt;span class="Apple-style-span" style="color: blue;"&gt;@IsAvailable&lt;/span&gt;($Conflict)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6532928225627450518?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6532928225627450518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6532928225627450518&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6532928225627450518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6532928225627450518'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2010/04/view-error-entry-not-found-in-index.html' title='View Error: Entry Not Found in Index'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_waAT9NNL2lU/S8MeO3iSm8I/AAAAAAAABrA/QJ-DMzFFWEo/s72-c/odbcaccess.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-3658437970042780175</id><published>2010-02-23T10:34:00.003Z</published><updated>2010-02-23T10:39:41.261Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='actions'/><title type='text'>Notes: A Shared Action code was changed but it behaves as it wasn't</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Shared Action's Lotus Script code is changed on the template and, after the refresh design, the working database's action button behaves as before the change.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Place the Lotus Script code on an agent and call it from the Shared Action using formula (@comamnd([ToolsRunMacro];"agent_name").&lt;br /&gt;This way the refresh design will always update the code correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-3658437970042780175?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/3658437970042780175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=3658437970042780175&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/3658437970042780175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/3658437970042780175'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2010/02/notes-action-button-code-was-changed.html' title='Notes: A Shared Action code was changed but it behaves as it wasn&apos;t'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-5926552632413230090</id><published>2008-06-16T18:41:00.001+01:00</published><updated>2008-06-16T18:41:08.259+01:00</updated><title type='text'>Notes: How to add a database to the Replicator page programmatically</title><content type='html'>To achieve this, just use this formula:&lt;br&gt;&lt;br&gt;@Command( [ToolsReplicate] ; 0 ) programmatic&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-5926552632413230090?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/5926552632413230090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=5926552632413230090&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/5926552632413230090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/5926552632413230090'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2008/06/notes-how-to-add-database-to-replicator.html' title='Notes: How to add a database to the Replicator page programmatically'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-8370180119063779568</id><published>2008-04-03T11:33:00.003+01:00</published><updated>2008-04-03T13:16:44.274+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='dynamic table'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sorting'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>Notes: How to re-order rows on a 'dynamic' table</title><content type='html'>If you have a 'dynamic' table where each column is composed by a multivalue field and you want to be able to change a row's position, then you can do it like this:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a multivalue, computed for display field (hidden), named 'FldPos' with this formula:&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;@For&lt;/span&gt;(i:=&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;i&lt;=@&lt;span style="color: rgb(51, 51, 255);"&gt;Elements&lt;/span&gt;(fldProxiesName);i:=i +&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;&lt;br /&gt;  sList:=sList : @Text(i)&lt;br /&gt;);&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;@Trim&lt;/span&gt;(sList)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a radio button field, named 'FldPosRB' and select "Use formula for choices" and then on the formula window type:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;FldPos&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Then create two Buttons (or Action Hotspots), one called "Move Up" and another "Move Down".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The code for the first button is (for a 3 column table):&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;' moving up&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Sub&lt;/span&gt; Click(Source As Button)&lt;br /&gt;   Dim ws As New notesuiworkspace&lt;br /&gt;   Dim uidoc As notesuidocument&lt;br /&gt;   Dim iCurPos As Integer&lt;br /&gt; &lt;br /&gt;   Dim vFinalList() As Variant&lt;br /&gt;   Dim vFinal1List() As Variant&lt;br /&gt;   Dim vFinal2List() As Variant&lt;br /&gt; &lt;br /&gt;   Dim vTemp As Variant&lt;br /&gt; &lt;br /&gt;   Dim sFieldSelection As String&lt;br /&gt; &lt;br /&gt;   Dim aFieldNames(2) As String&lt;br /&gt; &lt;br /&gt;   sFieldSelection = "FldPosRB"&lt;br /&gt; &lt;br /&gt;   aFieldNames(0)="FldMultivalue1"&lt;br /&gt;   aFieldNames(1)="FldMultivalue2"&lt;br /&gt;   aFieldNames(2)="FldMultivalue3"&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;   Dim i As Integer&lt;br /&gt; &lt;br /&gt;   On Error Goto ErrorHandling&lt;br /&gt; &lt;br /&gt;   Set uidoc = ws.CurrentDocument&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   If Not isArrayInit(uidoc.document.GetItemValue(aFieldNames(0))) Then&lt;br /&gt;       Msgbox "The table is empty." , 64 , "Move up"&lt;br /&gt;       Exit Sub&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;   iCurPos =Cint(uidoc.document.getitemvalue(sFieldSelection)(0)) - 1&lt;br /&gt; &lt;br /&gt;   If iCurPos &gt; 0 Then&lt;br /&gt;     &lt;br /&gt;       For i=0 To Ubound (uidoc.Document.GetItemValue(aFieldNames(0)))&lt;br /&gt;           If i = iCurPos - 1 Then 'the position to move to&lt;br /&gt;               Redim Preserve vFinalList (i)&lt;br /&gt;               vFinalList(i) = uidoc.Document.getitemvalue(aFieldNames(0))(iCurPos)&lt;br /&gt;               Redim Preserve vFinal1List (i)&lt;br /&gt;               vFinal1List(i) = uidoc.Document.getitemvalue(aFieldNames(1))(iCurPos)&lt;br /&gt;               Redim Preserve vFinal2List (i)&lt;br /&gt;               vFinal2List(i) = uidoc.Document.getitemvalue(aFieldNames(2))(iCurPos)&lt;br /&gt; &lt;br /&gt;             &lt;br /&gt;               Redim Preserve vFinalList (i + 1)&lt;br /&gt;               vFinalList(i + 1) = uidoc.Document.getitemvalue(aFieldNames(0))(i)&lt;br /&gt;               Redim Preserve vFinal1List (i + 1)&lt;br /&gt;               vFinal1List(i + 1) = uidoc.Document.getitemvalue(aFieldNames(1))(i)&lt;br /&gt;               Redim Preserve vFinal2List (i + 1)&lt;br /&gt;               vFinal2List(i + 1) = uidoc.Document.getitemvalue(aFieldNames(2))(i)&lt;br /&gt;&lt;br /&gt;             &lt;br /&gt;               i = i + 1&lt;br /&gt;             &lt;br /&gt;           Else&lt;br /&gt;               Redim Preserve vFinalList (i)&lt;br /&gt;               vFinalList(i) = uidoc.Document.getitemvalue(aFieldNames(0))(i)&lt;br /&gt;               Redim Preserve vFinal1List (i)&lt;br /&gt;               vFinal1List(i) = uidoc.Document.getitemvalue(aFieldNames(1))(i)&lt;br /&gt;               Redim Preserve vFinal2List (i)&lt;br /&gt;               vFinal2List(i) = uidoc.Document.getitemvalue(aFieldNames(2))(i)&lt;br /&gt;&lt;br /&gt;             &lt;br /&gt;           End If&lt;br /&gt;       'vFinalList =&lt;br /&gt;       Next&lt;br /&gt;     &lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(0), vFinalList)&lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(1), vFinal1List)&lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(2), vFinal2List)&lt;br /&gt;     &lt;br /&gt;       Call uidoc.Document.replaceitemvalue(sFieldSelection, iCurPos)&lt;br /&gt;       uidoc.Refresh&lt;br /&gt;       uidoc.refresh&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;errorhandling:&lt;br /&gt;   If Err=9 Then 'subscript out of range, one column is empty&lt;br /&gt;       Resume Next&lt;br /&gt;   Elseif Err&gt;0 Then&lt;br /&gt;       Msgbox "Error: " + Error&lt;br /&gt;       Goto EndThis&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;EndThis:&lt;br /&gt;End Sub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And to move down (logical differences in bold):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;' moving down &lt;/span&gt;&lt;br /&gt;Sub Click(Source As Button)&lt;br /&gt;   Dim ws As New notesuiworkspace&lt;br /&gt;   Dim uidoc As notesuidocument&lt;br /&gt;   Dim iCurPos As Integer&lt;br /&gt; &lt;br /&gt;   Dim vFinalList() As Variant&lt;br /&gt;   Dim vFinal1List() As Variant&lt;br /&gt;   Dim vFinal2List() As Variant&lt;br /&gt;   Dim sFieldSelection As String&lt;br /&gt; &lt;br /&gt;   Dim aFieldNames(2) As String&lt;br /&gt; &lt;br /&gt;   sFieldSelection = "FldPosRB"&lt;br /&gt; &lt;br /&gt;   aFieldNames(0)="FldMultivalue1"&lt;br /&gt;   aFieldNames(1)="FldMultivalue2"&lt;br /&gt;   aFieldNames(2)="FldMultivalue3"&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   Dim i As Integer&lt;br /&gt; &lt;br /&gt;   On Error Goto ErrorHandling&lt;br /&gt; &lt;br /&gt;   Set uidoc = ws.CurrentDocument&lt;br /&gt; &lt;br /&gt;   If Not isArrayInit(uidoc.document.GetItemValue(aFieldNames(0))) Then&lt;br /&gt;       Msgbox "The table is empty." , 64 , "Move down"&lt;br /&gt;       Exit Sub&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;   iCurPos =Cint(uidoc.document.getitemvalue(sFieldSelection)(0)) - 1&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   If iCurPos &lt; i="0" style="font-weight: bold;"&gt;i = iCurPos&lt;/span&gt; Then&lt;br /&gt;               Redim Preserve vFinalList (i)&lt;br /&gt;               vFinalList(i) = uidoc.Document.getitemvalue(aFieldNames(0))(&lt;span style="font-weight: bold;"&gt;iCurPos + 1&lt;/span&gt;)&lt;br /&gt;               Redim Preserve vFinal1List (i)&lt;br /&gt;               vFinal1List(i) = uidoc.Document.getitemvalue(aFieldNames(1))(&lt;span style="font-weight: bold;"&gt;iCurPos + 1&lt;/span&gt;)&lt;br /&gt;               Redim Preserve vFinal2List (i)&lt;br /&gt;               vFinal2List(i) = uidoc.Document.getitemvalue(aFieldNames(2))(&lt;span style="font-weight: bold;"&gt;iCurPos + 1&lt;/span&gt;)&lt;br /&gt;         &lt;br /&gt;             &lt;br /&gt;             &lt;br /&gt;               Redim Preserve vFinalList (&lt;span style="font-weight: bold;"&gt;i + 1&lt;/span&gt;)&lt;br /&gt;               vFinalList(i + 1) = uidoc.Document.getitemvalue(aFieldNames(0))(&lt;span style="font-weight: bold;"&gt;iCurPos&lt;/span&gt;)&lt;br /&gt;               Redim Preserve vFinal1List (&lt;span style="font-weight: bold;"&gt;i + 1&lt;/span&gt;)&lt;br /&gt;               vFinal1List(i + 1) = uidoc.Document.getitemvalue(aFieldNames(1))(&lt;span style="font-weight: bold;"&gt;iCurPos&lt;/span&gt;)&lt;br /&gt;               Redim Preserve vFinal2List (&lt;span style="font-weight: bold;"&gt;i + 1&lt;/span&gt;)&lt;br /&gt;               vFinal2List(&lt;span style="font-weight: bold;"&gt;i + 1&lt;/span&gt;) = uidoc.Document.getitemvalue(aFieldNames(2))(&lt;span style="font-weight: bold;"&gt;iCurPos&lt;/span&gt;)&lt;br /&gt;             &lt;br /&gt;             &lt;br /&gt;             &lt;br /&gt;               i = i + 1&lt;br /&gt;           Else&lt;br /&gt;               Redim Preserve vFinalList (i)&lt;br /&gt;               vFinalList(i) = uidoc.Document.getitemvalue(aFieldNames(0))(i)&lt;br /&gt;               Redim Preserve vFinal1List (i)&lt;br /&gt;               vFinal1List(i) = uidoc.Document.getitemvalue(aFieldNames(1))(i)&lt;br /&gt;               Redim Preserve vFinal2List (i)&lt;br /&gt;               vFinal2List(i) = uidoc.Document.getitemvalue(aFieldNames(2))(i)&lt;br /&gt;             &lt;br /&gt;           End If&lt;br /&gt;        Next&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(0), vFinalList)&lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(1), vFinal1List)&lt;br /&gt;       Call    uidoc.document.ReplaceItemValue(aFieldNames(2),vFinal2List)&lt;br /&gt; &lt;br /&gt;     &lt;br /&gt;       Call uidoc.Document.replaceitemvalue(sFieldSelection, &lt;span style="font-weight: bold;"&gt;iCurPos + 2&lt;/span&gt;)&lt;br /&gt;       uidoc.Refresh&lt;br /&gt;       uidoc.refresh&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;errorhandling:&lt;br /&gt;   If Err=9 Then 'subscript out of range, one column is empty&lt;br /&gt;       Resume Next&lt;br /&gt;   Elseif Err&gt;0 Then&lt;br /&gt;       Msgbox "Error: " + Error&lt;br /&gt;       Goto EndThis&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;EndThis:&lt;br /&gt;End Sub&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-8370180119063779568?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/8370180119063779568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=8370180119063779568&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/8370180119063779568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/8370180119063779568'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2008/04/notes-how-to-re-order-rows-on-dynamic.html' title='Notes: How to re-order rows on a &apos;dynamic&apos; table'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6034977654943485131</id><published>2008-01-14T12:44:00.000Z</published><updated>2008-01-14T14:37:15.625Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='embedded'/><category scheme='http://www.blogger.com/atom/ns#' term='selectAll'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes: SelectAll in an embedded view does not work</title><content type='html'>&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;When using the formula in an embedded view, no document is selected.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Use a button with these formulas:&lt;br /&gt;&lt;br /&gt;@Command([OpenView];"view_name");&lt;br /&gt;@Command([ViewCollapseAll]);&lt;br /&gt;@Command([ViewExpand]);&lt;br /&gt;@Command([EditSelectAll]);&lt;br /&gt;@Command([FileCloseWindow]);&lt;br /&gt;@Command([ToolsRunMacro];"(dummy_agent_name)")&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;span style="font-size:85%;"&gt;Posted on &lt;a href="http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/35bd11fbede291c685256ff80082b33c?OpenDocument&amp;amp;Highlight=0,%40Command(%5BViewExpand%5D)%3B"&gt;Notes Forum&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6034977654943485131?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6034977654943485131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6034977654943485131&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6034977654943485131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6034977654943485131'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2008/01/notes-selectall-in-embedded-view-does.html' title='Notes: SelectAll in an embedded view does not work'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-2380609789183129302</id><published>2008-01-10T15:55:00.000Z</published><updated>2008-01-10T17:19:46.065Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='agents'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='embedded'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes: Document has not yet been saved error.</title><content type='html'>&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Embedded view on a form (or page) has an action button that invokes a LS agent to work on selected documents. This works fine in a regular view.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This action button returns the error: "Document has not yet been saved".&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Solution: &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In embedded views, the LS needs to be in the action button.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-2380609789183129302?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/2380609789183129302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=2380609789183129302&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/2380609789183129302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/2380609789183129302'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2008/01/notes-document-has-not-yet-been-saved.html' title='Notes: Document has not yet been saved error.'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6487943138155768176</id><published>2007-11-08T10:58:00.000Z</published><updated>2007-11-08T11:18:59.307Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='string'/><category scheme='http://www.blogger.com/atom/ns#' term='ascii'/><title type='text'>Notes: When a space is not a space</title><content type='html'>&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A field that receives numbers (either is a number field or is a text field that receives input from a number field on a dialog box), contains spaces (ex: 1 000 or 27 000) that can't be removed with a @ReplaceSubstring(field_name; " "; "").&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cause: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The number field has the "Punctuated at thousand" option set, which, in some user settings, causes the insertion of a space within the number. But this space is not the common ASCII character 32, but a &lt;em&gt;&lt;strong&gt;special&lt;/strong&gt;&lt;/em&gt; one: the ASCII character 160.&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5130426182336836866" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_DLFA-mKOmAk/RzLvbkCM9QI/AAAAAAAAAAY/zQTR54HnZ3w/s320/ascii_160.JPG" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Use this code:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;sSpace1:=@char(32);&lt;br /&gt;sSpace2:=@char(160);&lt;br /&gt;sNumber:=@ReplaceSubstring(field_name; sSpace1; "");&lt;br /&gt;sNumber:=@ReplaceSubstring(sNumber; sSpace2; "");&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6487943138155768176?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6487943138155768176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6487943138155768176&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6487943138155768176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6487943138155768176'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/11/notes-when-space-is-not-space.html' title='Notes: When a space is not a space'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_DLFA-mKOmAk/RzLvbkCM9QI/AAAAAAAAAAY/zQTR54HnZ3w/s72-c/ascii_160.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6869523966850222107</id><published>2007-10-25T14:13:00.000+01:00</published><updated>2007-10-25T14:28:27.996+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='rich text fields'/><category scheme='http://www.blogger.com/atom/ns#' term='field editing'/><title type='text'>Notes: Insert a DocLink into a Rich Text Field while editing the document (without the need of saving it)</title><content type='html'>There's a &lt;a href="http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/dd507a5be7cc2e4285256eec005f56ef?OpenDocument"&gt;lotus script solution&lt;/a&gt; for this but it will cause a Replication Conflict if the document locking functionality is active on the database.&lt;br /&gt;&lt;br /&gt;So, an alternative is to have a page with an embedded view showing the documents list from where the user will choose the document to link to, and then call this page on a dialog box.&lt;br /&gt;On the page's QueryClose event, add this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#3333ff;"&gt;@Command([EditMakeDocLink])&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;And on the form where the RichTextField is, add a button or an Action with a formula similar to this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#3333ff;"&gt;@DialogBox( "pg_name" ; [AutoHorzFit] : [AutoVertFit] : [NoNewFields] :&lt;br /&gt;[NoFieldUpdate] : [SizeToTable] : [ReadOnly] ; "Insert Doc Link" );&lt;br /&gt;@Do&lt;br /&gt;( @PostedCommand([EditGotoField];"rtf_field_name");&lt;br /&gt;@PostedCommand([EditInsertText]; @NewLine);&lt;br /&gt;@PostedCommand([EditInsertText]; "Document link: ");&lt;br /&gt;@PostedCommand([EditInsertText]; @NewLine);&lt;br /&gt;@PostedCommand([EditInsertText]; @NewLine);&lt;br /&gt;@PostedCommand([EditLeft];"2"); @PostedCommand([EditPaste]))&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6869523966850222107?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6869523966850222107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6869523966850222107&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6869523966850222107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6869523966850222107'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/10/notes-insert-doclink-into-rich-text.html' title='Notes: Insert a DocLink into a Rich Text Field while editing the document (without the need of saving it)'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6743609404213516009</id><published>2007-10-25T14:01:00.000+01:00</published><updated>2007-10-25T14:10:35.069+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='columnValues'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes: View Entry's ColumnValues returns an array for a specific column</title><content type='html'>This will happen if the column's property "Show multiple values as selected entries" is selected.&lt;br /&gt;&lt;br /&gt;In this case the ColumnValues property of the NotesViewEntry class, will return an Array and the common way of obtaining it's value will fail.&lt;br /&gt;&lt;br /&gt;To access the entry's column value weather it's an array or not, use this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Function getColValue (vCol As Variant) As String&lt;br /&gt;  If Isarray(vCol) Then&lt;br /&gt;       getColValue = Cstr(vCol(0))&lt;br /&gt;   Else&lt;br /&gt;      getColValue = Cstr(vCol)&lt;br /&gt;  End If&lt;br /&gt;End Function&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;/blockquote&gt;And then use it like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;stringValue = getColValue(vwEntry.ColumnValues(1)) &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6743609404213516009?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6743609404213516009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6743609404213516009&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6743609404213516009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6743609404213516009'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/10/notes-view-entrys-columnvalues-returns.html' title='Notes: View Entry&apos;s ColumnValues returns an array for a specific column'/><author><name>sbn</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-833838588583770717</id><published>2007-10-03T11:50:00.000+01:00</published><updated>2007-10-03T11:55:32.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agents'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Notes: Scheduled agents on server</title><content type='html'>If you want to run (for troubleshoot purposes, for instance) an agent directly on a server, with the server's id, and you have no access to the machine, just run it from the web:&lt;br /&gt;&lt;br /&gt;http://your_server/your_db_path/your_db/your_agent?openAgent&lt;br /&gt;&lt;br /&gt;Now just go to the server's log to check for debug and/or error messages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-833838588583770717?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/833838588583770717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=833838588583770717&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/833838588583770717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/833838588583770717'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/10/notes-scheduled-agents-on-server.html' title='Notes: Scheduled agents on server'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6675912929499674099</id><published>2007-08-02T11:44:00.000+01:00</published><updated>2007-08-02T11:48:38.953+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='utils'/><title type='text'>Notes: Change the size of PicklistCollection dialog box</title><content type='html'>(from a &lt;a href="http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/fef66338106326c685257068002979b0?OpenDocument&amp;Highlight=0,picklist,size"&gt;notes forum post&lt;/a&gt; by Sam Chung)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;«I have found out the &lt;span style="font-weight: bold;"&gt;ini &lt;/span&gt;for resize PickList Window:&lt;br /&gt;"&lt;span style="font-weight: bold;"&gt;WindowSizePickKeywords&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;However, the parameter is found in Notes6 rather than 5, so chk version before writing it.&lt;br /&gt;&lt;br /&gt;You can enlarge the PickList Window size before calling @PickList and restore it after calling&lt;br /&gt;&lt;br /&gt;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&lt;br /&gt;Sub AssignPickWinSize&lt;br /&gt;&lt;br /&gt;'To enlarge the PickList WIndow Size by setting system Notes.INI&lt;br /&gt;'Backup the sys one with the same name as a user setting($)&lt;br /&gt;On Error Goto ErrH&lt;br /&gt;Const delim = " "&lt;br /&gt;Const key="WindowSizePickKeywords"&lt;br /&gt;Dim tmpstr As String&lt;br /&gt;&lt;br /&gt;Set ss = New NotesSession&lt;br /&gt;'get the system variable&lt;br /&gt;tmpstr=Trim(ss.GetEnvironmentString(key, True))&lt;br /&gt;If Len(tmpstr) Then&lt;br /&gt;'BackUp the environment var&lt;br /&gt;Call ss.SetEnvironmentVar(key, tmpstr, False )&lt;br /&gt;&lt;br /&gt;tmpArr= Fulltrim(Split(tmpstr, delim))&lt;br /&gt;&lt;br /&gt;tmpArr(2)="1000"&lt;br /&gt;tmpArr(3)="900"&lt;br /&gt;&lt;br /&gt;tmpstr=Join(tmpArr, " ")&lt;br /&gt;'Set&lt;br /&gt;Call ss.SetEnvironmentVar(key, tmpstr, True)&lt;br /&gt;End If&lt;br /&gt;Exit Sub&lt;br /&gt;ErrH:&lt;br /&gt;Print "Err in setting picklist window size."&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""&lt;br /&gt;&lt;br /&gt;Sub RestorePickWinSize&lt;br /&gt;&lt;br /&gt;'Restore the backup setting from the same name user setting($) in ini&lt;br /&gt;On Error Goto ErrH&lt;br /&gt;Const key="WindowSizePickKeywords"&lt;br /&gt;Dim ss As NotesSession&lt;br /&gt;Dim tmpstr As String&lt;br /&gt;Set ss = New NotesSession&lt;br /&gt;&lt;br /&gt;tmpstr=Trim(ss.GetEnvironmentString(key, False))&lt;br /&gt;If Len(tmpstr) Then&lt;br /&gt;'Reset the system&lt;br /&gt;Call ss.SetEnvironmentVar(key, tmpstr , True )&lt;br /&gt;'Clear the user one&lt;br /&gt;Call ss.SetEnvironmentVar(key, "" , False )&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;ErrH:&lt;br /&gt;&lt;br /&gt;End Sub »&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6675912929499674099?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6675912929499674099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6675912929499674099&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6675912929499674099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6675912929499674099'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/08/notes-change-size-of-picklistcollection.html' title='Notes: Change the size of PicklistCollection dialog box'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-6110667643785207558</id><published>2007-05-23T12:08:00.001+01:00</published><updated>2010-06-28T17:51:58.953+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='formula'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='toolbar'/><category scheme='http://www.blogger.com/atom/ns#' term='utils'/><category scheme='http://www.blogger.com/atom/ns#' term='smart icon'/><category scheme='http://www.blogger.com/atom/ns#' term='field editing'/><title type='text'>Notes: a Smart Icon to update a field in a document</title><content type='html'>Many times there's the need to change a field's value to make a test or correct something. What can be more useful than a button sitting on the Smart Icon tab, with a formula to do just that?&lt;br /&gt;There's many ways to accomplish this. From the simplest to the most complex:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ad; font-weight: bold;"&gt;Example 1&lt;/span&gt;&lt;span style="color: #000066; font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: 85%;"&gt;FieldToChange := @Prompt([OkCancelEdit]; "Field to Change"; "Enter the name of the field to change."; "");&lt;br /&gt;TypeOfData := @Prompt([OkCancelList]:[NoSort]; "Type of Field"; "Is this field Text, Number or DateTime?"; "Text"; "Text":"Number":"DateTime");&lt;br /&gt;NewValue:=@Prompt([OkCancelEdit];"New Value";"Enter the new value for this field";"");&lt;br /&gt;&lt;br /&gt;@If(FieldToChange=""|TypeOfData="";@Do(@Prompt([Ok];"Error";"You did not enter all requested data. Process halted.");@Return(""));"");&lt;br /&gt;&lt;br /&gt;NumberValue:=@TextToNumber(NewValue);&lt;br /&gt;valueerror:=@IsError(@If(TypeOfData="Number";NumberValue;3));&lt;br /&gt;@If(valueerror=1;&lt;br /&gt;@Do(@Prompt([Ok];"Error";"You did not specify a number for the new value. Process halted.");@Return(""));&lt;br /&gt;"");&lt;br /&gt;&lt;br /&gt;DateError:=@If(TypeOfData="DateTime";@If(@Text(@TextToTime(NewValue))="";1;0);0)&lt;br /&gt;;&lt;br /&gt;@If(DateError=1;&lt;br /&gt;@Do(@Prompt([Ok];"Error";"You did not specify a date/time for the new value. Process halted.");@Return(""));&lt;br /&gt;"");&lt;br /&gt;&lt;br /&gt;continue := @Prompt([YesNo];"Click yes to continue.";"This agent will change the value of the *"+ FieldToChange +"* field on the selected documents to *"+ NewValue + "* . Continue?");&lt;br /&gt;&lt;br /&gt;@If(continue=1;"";@Return(""));&lt;br /&gt;&lt;br /&gt;@SetField(FieldToChange;&lt;br /&gt;@If(TypeOfData="Text";NewValue;&lt;br /&gt;TypeOfData="Number";@TextToNumber(NewValue);&lt;br /&gt;@TextToTime(NewValue)));&lt;br /&gt;&lt;br /&gt;@All&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;Example 2&lt;/span&gt;&lt;span style="color: #000066; font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;(from: &lt;a href="http://www.datatribesoftwerks.com/members/datatribe/DatatribeBlog.nsf/archive/20070521-4EDF54?OpenDocument"&gt;Datatribe Softwerks&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;blockquote&gt;strUNID := @Text(@DocumentUniqueID);&lt;br /&gt;&lt;br /&gt;strFieldName := @Prompt([OkCancelEditCombo]; "Change Field Value"; "To change an existing Field, select the Field name." +&lt;br /&gt;@Char(13) + "To create a new Field, enter the Field name." ;""; "":@DocFields);&lt;br /&gt;&lt;br /&gt;strTmpCurrentValue := @If( @IsAvailable(strFieldName); @GetDocField(strUNID; strFieldName); "" );&lt;br /&gt;strCurrrentValue := @If( @IsError(strTmpCurrentValue); ""; @Text(strTmpCurrentValue) );&lt;br /&gt;&lt;br /&gt;strNewValue := @Prompt([OkCancelEdit]; "Change Field Value"; "Enter New Field Value: use semicolon (;) to separate multiple values for mulitvalue fields."; @Implode(strCurrrentValue;";"));&lt;br /&gt;&lt;br /&gt;strFieldType := @Prompt([OkCancelList]; "Change Field Value"; "Select the Field Data Type";&lt;br /&gt;"Text"; "Text" : "Time" : "Number" : "Text List" : "Number List" : "Time List":"Delete Field");&lt;br /&gt;&lt;br /&gt;@If(&lt;br /&gt;&lt;br /&gt;strFieldType = "Delete Field";&lt;br /&gt;@SetField(strFieldName; @DeleteField);&lt;br /&gt;&lt;br /&gt;strFieldType = "Time";&lt;br /&gt;@SetField(strFieldName; @TextToTime(strNewValue));&lt;br /&gt;&lt;br /&gt;strFieldType = "Number";&lt;br /&gt;@SetField(strFieldName; @TextToNumber(strNewValue));&lt;br /&gt;&lt;br /&gt;strFieldType = "Text List";&lt;br /&gt;@SetField(strFieldName; @Trim(@Explode(strNewValue;";")));&lt;br /&gt;&lt;br /&gt;strFieldType = "Number List";&lt;br /&gt;@SetField(strFieldName; @TextToNumber(@Explode(@Trim(@ReplaceSubstring(strNewValue;" ";""));";")));&lt;br /&gt;&lt;br /&gt;strFieldType = "Time List";&lt;br /&gt;@SetField(strFieldName; @TextToTime(@Explode(strNewValue;";")));&lt;br /&gt;&lt;br /&gt;@SetField(strFieldName; @Text(strNewValue))&lt;br /&gt;)&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;Example 3&lt;/span&gt;&lt;span style="color: #000066; font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;(from: &lt;a href="http://www.datatribesoftwerks.com/members/datatribe/DatatribeBlog.nsf/archive/20070521-4EDF54?OpenDocument"&gt;Datatribe Softwerks&lt;/a&gt;'s comments)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;blockquote&gt;REM {Get a listing of all the fields on the current document};&lt;br /&gt;List := @DocFields;&lt;br /&gt;PromptLimit := 254;&lt;br /&gt;&lt;br /&gt;REM {Possible data types to choose from.};&lt;br /&gt;REM {I called Number Integer because use keyboard to select what you want with keyboard quicker.};&lt;br /&gt;DataTypes := "Text" : "Date" : "Integer" : "Password" : "Name" : "Common Name" : "Abbreviate Name" : "Remove Field" : "Text Multi Value" : "Date Multi Value" : "Integer Multi Value" : "Name Multi Value" : "Common Name Multi Value" : "Abbreviate Name Multi Value" : "Upper Case Text" : "Lower Case Text" : "Proper Case Text" : "Upper Case Text Multi Value" : "Lower Case Text Multi Value" : "Proper Case Text Multi Value" ;&lt;br /&gt;&lt;br /&gt;REM {Prompt for which field needs to be updated.};&lt;br /&gt;EditField := @Prompt( [OkCancelList] ; @DbTitle + " - " + @ViewTitle ; "Select the field you wish to alter:" ; "Subject" ; List ) ;&lt;br /&gt;&lt;br /&gt;REM {Prompt for which data type you would like the data to be};&lt;br /&gt;REM {This needs to be done before value prompt to determine if the Picklist or any prompting needs to be used.};&lt;br /&gt;DataType := @Prompt( [OkCancelList] : [NoSort] ; EditField + " - " + @DbTitle + " - " + @ViewTitle; "Please select the correct data type or action for field: " + EditField + "."; "Text" ; DataTypes );&lt;br /&gt;&lt;br /&gt;REM {Based on what type of data is being entered different prompts will happen if any at all.};&lt;br /&gt;RawValue := @If(&lt;br /&gt;@Contains( DataType ; "Name Multi Value" ); @PickList( [Name] );&lt;br /&gt;@Contains( DataType ; "Name" ) ; @PickList( [Name] : [Single] );&lt;br /&gt;DataType = "Remove Field" ; "" ;&lt;br /&gt;@Contains( DataType ; "Multi Value" ); @Prompt( [OkCancelEdit] ; EditField + " - " + @DbTitle + " - " + @ViewTitle; "Please enter the new desired value for: " + EditField + "." + @Char(13) + @Char(13) + "Seperated with ; for each value." ; @Abstract([TextOnly] ; PromptLimit ; "" ; @Text( EditField ) ) );&lt;br /&gt;@Prompt( [OkCancelEdit] ; EditField + " - " + @DbTitle + " - " + @ViewTitle ; "Please enter the new desired value for: " + EditField + "." ; @Abstract([TextOnly] ; PromptLimit ; "" ; @Text( EditField) ) ) );&lt;br /&gt;&lt;br /&gt;REM {If data conversion doesn't work then don't set field.};&lt;br /&gt;@If(&lt;br /&gt;DataType = "Date" ; @If( @SetField( EditField ; @TextToTime( RawValue ) ) );&lt;br /&gt;DataType = "Integer" ; @If( @IsError( @TextToNumber( RawValue ) ) ; "" ; @SetField( EditField ; @TextToNumber( RawValue ) ) ) ;&lt;br /&gt;DataType = "Common Name" ; @SetField( EditField ; @Name( [CN]; RawValue ) ) ;&lt;br /&gt;DataType = "Abbreviate Name" ; @SetField( EditField ; @Name( [Abbreviate]; RawValue ) ) ;&lt;br /&gt;DataType = "Password" ; @SetField( EditField ; @Password( RawValue ) ) ;&lt;br /&gt;DataType = "Remove Field" ; @SetField( EditField ; @DeleteField ) ;&lt;br /&gt;DataType = "Text Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ";" ) ) ;&lt;br /&gt;DataType = "Date Multi Value" ; @SetField( EditField ; @TextToTime( @Explode( RawValue ; ";" ) ) ) ;&lt;br /&gt;DataType = "Integer Multi Value" ; @If( @IsError( @TextToNumber( @Explode( RawValue ; ";" ) ) ) ; "" ; @SetField( EditField ; @TextToNumber( @Explode( RawValue ; ";" ) ) ) ) ;&lt;br /&gt;DataType = "Name Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ":" ) ) ;&lt;br /&gt;DataType = "Common Name Multi Value" ; @SetField( EditField ; @Name( [CN]; @Explode( RawValue ; ":" ) ) );&lt;br /&gt;DataType = "Abbreviate Name Multi Value" ; @SetField( EditField ; @Name( [Abbreviate]; @Explode( RawValue ; ":" ) ) );&lt;br /&gt;DataType = "Upper Case Text" ; @If( @SetField( EditField ; @UpperCase( RawValue ) ) );&lt;br /&gt;DataType = "Lower Case Text" ; @If( @SetField( EditField ; @LowerCase( RawValue ) ) );&lt;br /&gt;DataType = "Proper Case Text" ; @If( @SetField( EditField ; @ProperCase( RawValue ) ) );&lt;br /&gt;DataType = "Upper Case Text Multi Value" ; @If( @SetField( EditField ; @UpperCase( @Explode( RawValue ; ";" ) ) ) );&lt;br /&gt;DataType = "Lower Case Text Multi Value" ; @If( @SetField( EditField ; @LowerCase( @Explode( RawValue ; ";" ) ) ) );&lt;br /&gt;DataType = "Proper Case Text Multi Value" ; @If( @SetField( EditField ; @ProperCase( @Explode( RawValue ; ";" ) ) ) );&lt;br /&gt;@SetField( EditField ; RawValue )&lt;br /&gt;);&lt;br /&gt;""&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;Example 4&lt;/span&gt;&lt;span style="color: #000066; font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;(from: &lt;a href="http://www.chadsmiley.com/EditDocumentFields"&gt;ChadSmiley Blog&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;blockquote&gt;REM {Edit Document Fields 6.0.0 by Chad Schelfhout.};&lt;br /&gt;REM {Visit http://www.chadsmiley.com/EditDocumentFields for the latest updates};&lt;br /&gt;&lt;br /&gt;REM {Changable constants};&lt;br /&gt;cEnableConfirmation := @True;&lt;br /&gt;cFieldHistoryValues := 10;&lt;br /&gt;cStandardSeparators := ":" : ";" : " ";&lt;br /&gt;cPromptTitle := @DbTitle + " - " + @ViewTitle;&lt;br /&gt;&lt;br /&gt;REM {Unchangable constants};&lt;br /&gt;cProfileName := "ChadSmiley Tools";&lt;br /&gt;cEditLastField := "edfLastField";&lt;br /&gt;cEditLastFieldDataType := "edfLastFieldDataType";&lt;br /&gt;cEditLastFieldDataTypeValue := "edfLastFieldDataTypeValue";&lt;br /&gt;cEditLastSeparator := "%~%";&lt;br /&gt;cValueListSeparator := "^";&lt;br /&gt;cFromRawValueSeparator := "%@%";&lt;br /&gt;cSemicolonReplace := "#SC#";&lt;br /&gt;cMaxSearchForSelectedDocs := 5520;&lt;br /&gt;cMaxUpdatedDocuments := 1000;&lt;br /&gt;cArraySeparator := ";";&lt;br /&gt;cNoteEntryLength := 11;&lt;br /&gt;cPromptNewLineOne := @Char(13);&lt;br /&gt;cPromptNewLineTwo := cPromptNewLineOne + cPromptNewLineOne;&lt;br /&gt;cPromptTab := @Char(9);&lt;br /&gt;cCategoryNoteID := "NT00000000";&lt;br /&gt;cTextExtractList := "Text Left":"Text Left Back":"Text Right":"Text Right Back";&lt;br /&gt;cNoPromptList := cTextExtractList:"Remove Field":"Unique":"Sort Ascending":"Sort Descending":"Implode":"Explode":"Proper Case Text":"Proper Case Text Multi Value":"Lower Case Text":"Lower Case Text Multi Value":"Upper Case Text":"Upper Case Text Multi Value":"Password Convert":"Trim":"Trim then Unique";&lt;br /&gt;cErrorCheckCode := "@Implode( @Unique( @Explode( NoteIDList : ErrorNoteID ; cArraySeparator ; @False ) ) )";&lt;br /&gt;cErrorInformation := "\"Error documents: \" + @Implode( @Unique( @Explode( ErrorNoteIDList ; cArraySeparator ; @False ) ) ; \", \" ) + cPromptNewLineOne + \"Not updated documents: \" + @Implode( @Unique( @Explode( ErrorNoteIDList ; cArraySeparator ; @False ) ) ; \", \" )";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Data types|@Function execution};&lt;br /&gt;DataTypesCombo := @Explode(&lt;br /&gt;"Integer|@TextToNumber( RawValue )$"+&lt;br /&gt;"Integer Multi Value|@TextToNumber( @Explode( RawValue ; Separator; @True) )$"+&lt;br /&gt;"Date|@ToTime( RawValue )$"+&lt;br /&gt;"Date Multi Value|@ToTime( @Explode( RawValue ; Separator; @True) )$"+&lt;br /&gt;"Text|@Text( RawValue )$"+&lt;br /&gt;"Text Multi Value|@Text( @Explode( RawValue ; Separator; @True) )$"+&lt;br /&gt;"Text Left|@Left( @Text( @GetField( EditField[ef] ) ) ; ExtractValue )$"+&lt;br /&gt;"Text Left Back|@LeftBack( @Text( @GetField( EditField[ef] ) ) ; ExtractValue )$"+&lt;br /&gt;"Text Right|@Right( @Text( @GetField( EditField[ef] ) ) ; ExtractValue )$"+&lt;br /&gt;"Text Right Back|@RightBack( @Text( @GetField( EditField[ef] ) ) ; ExtractValue )$"+&lt;br /&gt;"Trim|@Trim( @Text( @GetField( EditField[ef] ) ) )$"+&lt;br /&gt;"Trim then Unique|@Unique(@Trim( @Text( @GetField( EditField[ef] ) ) ) )$"+&lt;br /&gt;"Name|RawValue$"+&lt;br /&gt;"Name Multi Value|RawValue$"+&lt;br /&gt;"Common Name|@Name( [CN]; RawValue )$"+&lt;br /&gt;"Common Name Multi Value|@Name( [CN]; @Explode( RawValue ; \":\"; @True ) )$"+&lt;br /&gt;"Upper Case Text|@UpperCase( @Implode( @Text( @GetField( EditField[ef] ) ) ) )$"+&lt;br /&gt;"Lower Case Text|@LowerCase( @Implode( @Text( @GetField( EditField[ef] ) ) ) )$"+&lt;br /&gt;"Proper Case Text|@ProperCase( @Implode( @Text( @GetField( EditField[ef] ) ) ) )$"+&lt;br /&gt;"Upper Case Text Multi Value|@UpperCase( @Explode( @Text( @GetField( EditField[ef] ) ) ; Separator; @True ))$"+&lt;br /&gt;"Lower Case Text Multi Value|@LowerCase( @Explode( @Text( @GetField( EditField[ef] ) ) ; Separator; @True) )$"+&lt;br /&gt;"Proper Case Text Multi Value|@ProperCase( @Explode( @Text( @GetField( EditField[ef] ) ) ; Separator; @True) )$"+&lt;br /&gt;"Replace Substring|@ReplaceSubstring( @GetField( EditField[ef] ); FromRawValue ; RawValue )$"+&lt;br /&gt;"Replace|@Explode( @Replace( @GetField( EditField[ef] ) ; FromRawValue ; RawValue ) ; Separator ; @True )$"+&lt;br /&gt;"Implode|@Implode( @Text( @GetField( EditField[ef] ) ) ; Separator )$"+&lt;br /&gt;"Explode|@Explode( @Text( @GetField( EditField[ef] ) ) ; Separator; @True )$"+&lt;br /&gt;"Formula|@Eval( RawValue )$"+&lt;br /&gt;"Abbreviate Name|@Name([Abbreviate]; RawValue )$"+&lt;br /&gt;"Abbreviate Name Multi Value|@Name( [Abbreviate]; @Explode( RawValue ; Separator; @True ) )$"+&lt;br /&gt;"Password Set|@Password( RawValue )$"+&lt;br /&gt;"Password Convert|@Password( @GetField( EditField[ef] ) )$"+&lt;br /&gt;"Remove Field|@DeleteField$"+&lt;br /&gt;"Unique|@Unique(@GetField( EditField[ef]))$"+&lt;br /&gt;"+ Append Values|@If(" +&lt;br /&gt;"                 @GetField(EditField[ef]) = \"\"; RawValue;" +&lt;br /&gt;"                 @Contains(DefaultDataType; \"Date\");" +&lt;br /&gt;"                     @If( @IsError( @ToTime( RawValue ) ) ;" +&lt;br /&gt;"                         \"\" ;" +&lt;br /&gt;"                         @SetField( EditField[ef] ; @GetField(EditField[ef]) : @TextToTime( @Explode( RawValue ; Separator ) ) ) ) ;" +&lt;br /&gt;"                 @Contains(DefaultDataType; \"Integer\" );" +&lt;br /&gt;"                     @If( @IsError( @TextToNumber( @Explode( RawValue ; Separator ) ) ) ;" +&lt;br /&gt;"                         \"\" ;" +&lt;br /&gt;"                         @SetField( EditField[ef] ; @GetField(EditField[ef]) : @TextToNumber( @Explode( RawValue ; Separator ) ) ) ) ;" +&lt;br /&gt;"                 @SetField( EditField[ef] ; @GetField(EditField[ef]) : @Explode( RawValue ; Separator ) ) )$"+&lt;br /&gt;"Sort Ascending|@Sort(@GetField(EditField[ef]) ; [Ascending] )$"+&lt;br /&gt;"Sort Descending|@Sort(@GetField(EditField[ef]); [Descending])" ; "$" );&lt;br /&gt;&lt;br /&gt;DataTypes := @Word( DataTypesCombo ; "|" ; 1 );&lt;br /&gt;DataTypesAction := @Word( DataTypesCombo ; "|" ; 2 );&lt;br /&gt;&lt;br /&gt;REM {Get a listing of all the fields on the current document};&lt;br /&gt;List := @Sort( @DocFields );&lt;br /&gt;&lt;br /&gt;REM {Look for last field modified in Profile Doc};&lt;br /&gt;FieldList := @Explode( @GetProfileField( cProfileName ; cEditLastField ; @UserName ) ; cArraySeparator ; @True ) ;&lt;br /&gt;&lt;br /&gt;REM {Get the list of forms and field that was updated using Edit Document Fields};&lt;br /&gt;FieldListForms := @Word( FieldList ; cEditLastSeparator ; 1 );&lt;br /&gt;FieldListField := @Word( FieldList ; cEditLastSeparator ; 2 );&lt;br /&gt;FieldListLastIndex := @Member( Form; FieldListForms );&lt;br /&gt;REM {If the FieldListLastIndex is greater than zero then set the last field to the what was in the profile document};&lt;br /&gt;@If( FieldListLastIndex &amp;gt; 0;&lt;br /&gt;@Do( LastField := FieldListField[ FieldListLastIndex ];&lt;br /&gt;FieldList := @ReplaceSubstring( FieldList ; FieldList[ FieldListLastIndex ] ; "" ) );&lt;br /&gt;LastField :="" );&lt;br /&gt;&lt;br /&gt;REM {Prompt for which field needs to be updated. Loop until a field is selected or 'Cancel' is selected};&lt;br /&gt;@DoWhile(&lt;br /&gt;EditField := @Prompt( [OkCancelEditCombo] ; cPromptTitle ; "Select the field you wish to alter or enter a new field to add:" ; LastField ; @Trim( @Unique( List : LastField ) ) );&lt;br /&gt;EditField = "" );&lt;br /&gt;EditFieldPromptTitle := "Change '" + EditField + "' in " + cPromptTitle;&lt;br /&gt;&lt;br /&gt;REM {This will allow the retrieval of the data type of the field that was last selected. Data is stored like Form+Field%~%DataType.};&lt;br /&gt;FormFieldList := @Explode( @GetProfileField( cProfileName ; cEditLastFieldDataType ; @UserName ) ; cArraySeparator ; @True ) ;&lt;br /&gt;FormFieldListFormField := @Word( FormFieldList ; cEditLastSeparator ; 1 );&lt;br /&gt;FormFieldListDataType := @Word( FormFieldList ; cEditLastSeparator ; 2 );&lt;br /&gt;FormFieldListFormulaCode := @ReplaceSubstring( @Word( FormFieldList ; cEditLastSeparator ; 3 ) ; cSemicolonReplace ; ";" );&lt;br /&gt;FormFieldListIndex := @Member( Form + EditField; FormFieldListFormField );&lt;br /&gt;@If( FormFieldListIndex &amp;gt; 0;&lt;br /&gt;@Do( DefaultDataType := FormFieldListDataType[ FormFieldListIndex ];&lt;br /&gt;FormFieldListFormulaCode := FormFieldListFormulaCode[ FormFieldListIndex ];&lt;br /&gt;FormFieldList := @ReplaceSubstring( FormFieldList ; FormFieldList[ FormFieldListIndex ] ; "" ) );&lt;br /&gt;DefaultDataType :="" );&lt;br /&gt;&lt;br /&gt;REM {If there was no data type used for the field on the form the try to determine the data type};&lt;br /&gt;DefaultDataType :=&lt;br /&gt;@If( DefaultDataType != "" ;&lt;br /&gt;DefaultDataType ;&lt;br /&gt;@If(&lt;br /&gt;@IsNumber( @GetField( EditField ) ) ;&lt;br /&gt;@If( @Count( @GetField( EditField ) ) &amp;gt; 1 ;&lt;br /&gt;"Integer Multi Value" ;&lt;br /&gt;"Integer" ) ;&lt;br /&gt;@IsTime( @GetField( EditField ) ) ;&lt;br /&gt;@If( @Count( @GetField( EditField ) ) &amp;gt; 1 ;&lt;br /&gt;"Date Mult iValue" ;&lt;br /&gt;"Date" ) ;&lt;br /&gt;@If( @Count( @GetField( EditField ) ) &amp;gt; 1 ;&lt;br /&gt;"Text Multi Value" ;&lt;br /&gt;"Text" )&lt;br /&gt;)&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;REM {If the data type is a type of error then select the data type of text};&lt;br /&gt;DefaultDataType := @IfError( DefaultDataType ; "Text" );&lt;br /&gt;&lt;br /&gt;REM {Prompt for which data type you would like the data to be. This needs to be done before value prompt to determine if the Picklist or any prompting needs to be used.};&lt;br /&gt;DataType := @Prompt( [OkCancelList] ; EditFieldPromptTitle; "Please select the correct data type or action for field: " + EditField + "."; DefaultDataType ; DataTypes );&lt;br /&gt;&lt;br /&gt;REM {The DataTypeAction will contain the formula that will be executed to retrieve the new value};&lt;br /&gt;DataTypeAction := DataTypesAction[ @Member( DataType ; DataTypes ) ];&lt;br /&gt;&lt;br /&gt;REM {If formula was used on this field then use that instead of the fields value. Format the original value as text because the @Prompt command requires text.};&lt;br /&gt;OriginalValue := @If( DataType = "Formula" &amp;amp; DefaultDataType = "Formula" &amp;amp; FormFieldListFormulaCode != "" ;&lt;br /&gt;FormFieldListFormulaCode ;&lt;br /&gt;@If( @Contains( DefaultDataType ; MultiValue ) ;&lt;br /&gt;@Implode( @Text( @GetField( EditField ) ) ; cArraySeparator );&lt;br /&gt;@Text( @GetField( EditField ) ) )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;REM {This will allow the retrieval of history of values of the field. Data is stored like Form+Field+DataType%~%ValueList.};&lt;br /&gt;FormFieldListDataTypeValues := @Explode( @GetProfileField( cProfileName ; cEditLastFieldDataTypeValue ; @UserName ) ; cArraySeparator ; @True ) ;&lt;br /&gt;FormFieldListFormFieldDataType := @Word( FormFieldListDataTypeValues ; cEditLastSeparator ; 1 ) ;&lt;br /&gt;FormFieldListValuesLists := @Word( FormFieldListDataTypeValues ; cEditLastSeparator ; 2 ) ;&lt;br /&gt;FormFieldListDTIndex := @Member( Form + EditField + DataType; FormFieldListFormFieldDataType );&lt;br /&gt;@If( FormFieldListDTIndex &amp;gt; 0;&lt;br /&gt;@Do( FormFieldListValuesList := FormFieldListDataTypeValues[ FormFieldListDTIndex ];&lt;br /&gt;FormFieldListValuesList := @ReplaceSubstring( @Trim( @Explode( FormFieldListValuesLists[ FormFieldListDTIndex ] ; cValueListSeparator ; @False ) ) ; cSemicolonReplace; ";" );&lt;br /&gt;FormFieldListDataTypeValues := @ReplaceSubstring( FormFieldListDataTypeValues ; FormFieldListDataTypeValues[ FormFieldListDTIndex ] ; "" ) );&lt;br /&gt;FormFieldListValuesList :="" );&lt;br /&gt;&lt;br /&gt;REM {Prompt for additional fields and determine the string that they are searching for.};&lt;br /&gt;@If( DataType = ("Replace Substring":"Replace" ) ;&lt;br /&gt;@Do( EditField := @Unique( EditField : @Prompt( [OkCancelListMult] ; cPromptTitle ; "Select any addtional fields you wish to alter:" ; EditField ; List ) );&lt;br /&gt;FromRawValue := @Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle ; "Enter or select the text (case sensitive) to search for in: " + @Implode( EditField ; ", " ) + "." ; "" ; @Unique( @Word( FormFieldListValuesList ; cFromRawValueSeparator ; 2 ) ) ) );&lt;br /&gt;@Do( EditField := EditField;&lt;br /&gt;FromRawValue := "" )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;REM { With the Edit combo there will be a list of standard seperators to choose from.};&lt;br /&gt;Separator := @If( DataType = ("Implode":"Explode" ) ;&lt;br /&gt;@Prompt( [OkCancelEditCombo] ; cPromptTitle ; "Enter or select the " + @If( DataType = "Implode" ; "separator" ; "separators" ) + ":"  ; "" ; @Unique( @If( FormFieldListValuesList = "" ; cStandardSeparators  ;  FormFieldListValuesList : cStandardSeparators ) ) );&lt;br /&gt;cArraySeparator );&lt;br /&gt;&lt;br /&gt;REM {Determine the string to search for};&lt;br /&gt;ExtractValue := @If( DataType = cTextExtractList ;&lt;br /&gt;@Prompt( [OkCancelEditCombo] ; cPromptTitle ; "Enter or select the search string or string length:" ; @Subset( FormFieldListValuesList ; 1 ) ; @Unique( FormFieldListValuesList ) );&lt;br /&gt;"" );&lt;br /&gt;&lt;br /&gt;REM {Based on what type of data is being entered different prompts will happen if any at all.};&lt;br /&gt;RawValue := @If(&lt;br /&gt;@Contains( DataType ; "Name Multi Value" ) ; @PickList( [Name] );&lt;br /&gt;@Contains( DataType ; "Name" ) ; @PickList( [Name] : [Single] );&lt;br /&gt;DataType = ( cNoPromptList ) ; "" ;&lt;br /&gt;@Contains( DataType ; "Multi Value" ) ; @Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle; "Enter or select the new desired value for: " + @Implode( EditField ; ", " ) + "." + cPromptNewLineTwo + "Seperated with ; for each value." ; OriginalValue ; @Unique( OriginalValue : FormFieldListValuesList ) ) ;&lt;br /&gt;@Contains( DataType ; "+ Append Values" ) ; @Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle; "Enter or select values to append: " + @Implode( EditField ; ", " ) + "." + cPromptNewLineTwo + "Seperated with ; for each value." ; "" ; @Unique( FormFieldListValuesList ) ) ;&lt;br /&gt;DataType = ("Replace Substring":"Replace" ) ; @Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle ; "Enter or select the text to repalce with in: " + EditField + "." ; "" ; @Unique( @Word( FormFieldListValuesList ; cFromRawValueSeparator ; 1 ) ) ) ;&lt;br /&gt;DataType = "Formula" ; @Do( @DoWhile(&lt;br /&gt;OriginalValue := @Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle ; "Enter or select the new desired formula for: " + EditField + "." ; OriginalValue ; @Unique( OriginalValue : FormFieldListValuesList ) );&lt;br /&gt;tempReturnCheck := @CheckFormulaSyntax( OriginalValue );&lt;br /&gt;@If( tempReturnCheck != "1"; @Prompt( [Ok] ; "Invalid Formula - " + EditFieldPromptTitle ;&lt;br /&gt;"Invalid Formula entered: " +&lt;br /&gt;cPromptNewLineTwo + cPromptTab + "Error: " + cPromptTab + cPromptTab + @Text( tempReturnCheck ) +&lt;br /&gt;cPromptNewLineOne + cPromptTab + "Formula: " + cPromptTab +  cPromptTab + OriginalValue ) ; "" );&lt;br /&gt;tempReturnCheck != "1" );&lt;br /&gt;OriginalValue );&lt;br /&gt;@Prompt( [OkCancelEditCombo] ; EditFieldPromptTitle ; "Enter or select the new desired value for: " + EditField + "." ; OriginalValue  ; @Unique( OriginalValue : FormFieldListValuesList ) )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;REM {Store Field in Profile doc};&lt;br /&gt;@SetProfileField( cProfileName ; cEditLastField ; @Unique( @Trim( FieldList : ( Form + cEditLastSeparator + EditField[1] ) ) ); @UserName );&lt;br /&gt;&lt;br /&gt;REM {Store Data Type of Field in Profile doc};&lt;br /&gt;@SetProfileField( cProfileName ; cEditLastFieldDataType ;&lt;br /&gt;@Unique( @Trim( FormFieldList : ( Form + EditField[1] + cEditLastSeparator + DataType + cEditLastSeparator +&lt;br /&gt;@ReplaceSubstring(&lt;br /&gt;@If( DataType = "Formula" ; RawValue ; FormFieldListFormulaCode ) ;&lt;br /&gt;";" ; cSemicolonReplace ) ) ) ) ;&lt;br /&gt;@UserName );&lt;br /&gt;&lt;br /&gt;REM {Store Data Value of Field in Profile doc};&lt;br /&gt;@SetProfileField( cProfileName ; cEditLastFieldDataTypeValue ;&lt;br /&gt;@Unique( @Trim( FormFieldListDataTypeValues : ( Form + EditField[1] + DataType + cEditLastSeparator +&lt;br /&gt;@Implode(&lt;br /&gt;@Subset(&lt;br /&gt;@Unique(&lt;br /&gt;@ReplaceSubstring(&lt;br /&gt;@If( DataType = ("Implode":"Explode" ) ; Separator ;&lt;br /&gt;DataType = cTextExtractList ; ExtractValue ;&lt;br /&gt;DataType = ( "Replace Substring":"Replace" ) ; RawValue + cFromRawValueSeparator + FromRawValue ;&lt;br /&gt;RawValue ) : FormFieldListValuesList  ;&lt;br /&gt;";" ; cSemicolonReplace ) ) ;&lt;br /&gt;cFieldHistoryValues );&lt;br /&gt;cValueListSeparator ) ) ) ) ;&lt;br /&gt;@UserName );REM {If multi docs selected, only process those checked ... an unchecked doc cannot be NavNextSelected};&lt;br /&gt;@Command([NavNextSelected]);&lt;br /&gt;@UpdateFormulaContext;&lt;br /&gt;&lt;br /&gt;REM {Store all Note IDs before manipulation in case field modifications cause categorized views or sorted columns to reorganize};&lt;br /&gt;NoteIDList := @Text( @NoteID );&lt;br /&gt;ErrorNoteIDList := "";&lt;br /&gt;@Command([NavNextSelected]);&lt;br /&gt;@UpdateFormulaContext;&lt;br /&gt;&lt;br /&gt;REM {Start Looping Selected documents to gather all the documents that need to be updated.};&lt;br /&gt;@While( ( @Left( NoteIDList ; cNoteEntryLength ) != ( @Text( @NoteID + cArraySeparator ) ) ) &amp;amp; ( @Length( NoteIDList ) &amp;lt;&amp;gt; 1 ; "s" ; "" ) + "." + cPromptTab + cPromptTab +&lt;br /&gt;cPromptNewLineTwo + cPromptTab + "Field:" + cPromptTab + cPromptTab + EditField +&lt;br /&gt;cPromptNewLineOne + cPromptTab + "Data type/action: " + cPromptTab + DataType +&lt;br /&gt;cPromptNewLineOne + cPromptTab +&lt;br /&gt;@If(     DataType = ("Implode":"Explode" ) ; "Separator:  " + cPromptTab + Separator ;&lt;br /&gt;DataType = ("Text Left":"Text Left Back":"Text Right":"Text Right Back" ) ; "Search string:  " + cPromptTab + ExtractValue ;&lt;br /&gt;DataType = ("Replace Substring":"Replace" ) ; "Search string:  " + cPromptTab + FromRawValue + cPromptNewLineOne + cPromptTab + "Replace string:  " + cPromptTab + RawValue ;&lt;br /&gt;DataType = cNoPromptList;&lt;br /&gt;"" ;&lt;br /&gt;"Value:  " + cPromptTab + cPromptTab + @Text( RawValue ) ) +&lt;br /&gt;cPromptNewLineTwo + "Would you like to continue?" );&lt;br /&gt;@If( cEnableConfirmation ;&lt;br /&gt;@Do(&lt;br /&gt;@StatusBar( @Explode( tmpPrompt ; cPromptNewLineOne ; @True ) );&lt;br /&gt;@If( @Prompt( [YesNo]; EditFieldPromptTitle ;&lt;br /&gt;tmpPrompt );&lt;br /&gt;"" ; @Return ( "" ) ) );&lt;br /&gt;"" );&lt;br /&gt;&lt;br /&gt;REM {Loop through selected docs taking each NoteIDList out of the list as it is processed};&lt;br /&gt;DocUpdateCount := 0;&lt;br /&gt;DocNavigationCount := 0;&lt;br /&gt;@While( DocUpdateCount &amp;lt; @Elements( NoteIDList ) ;      @If( @TextToNumber( @Text( @DocumentUniqueID ) ) != 0 ;         @Do(             NoteIDList := @Replace( NoteIDList ; @NoteID ; "" ) ;             NotNoteIDList := NotNoteIDList : @NoteID;             @For( ef := 1; ef &amp;lt;= @Elements( EditField ); ef := ef + 1;                 formulaResult := @Eval( DataTypeAction ); remark := " **REM** The values entered above will be applied to all selected doc. If data conversion doesn't work then don't set field.";                 @If( @IsError( formulaResult );                     @Do(                         tmpPrompt := "Error with NoteID of " + @NoteID + ". Continue?" + cPromptTab +                         cPromptNewLineOne + cPromptTab + "Error: " + cPromptTab + cPromptTab + @Text( FormulaResult ) +                         cPromptNewLineOne + cPromptTab + "Formula: " + cPromptTab +  cPromptTab + DataTypeAction +                         cPromptNewLineOne + cPromptTab + @If( @Contains( DataTypeAction ; "EditField[ef]" ) ; "EditField[ef]:" ; "Field:" + cPromptTab ) + cPromptTab + EditField[ef] +                         cPromptNewLineOne + cPromptTab + "Data type/action: " + cPromptTab + DataType +                         cPromptNewLineOne + cPromptTab +                         @If(     DataType = ("Replace Substring":"Replace" ) ; "FromRawValue:  " + cPromptTab + @Text( FromRawValue )+ cPromptNewLineOne + cPromptTab + "RawValue:  " + cPromptTab + @Text( RawValue ) ;                                 DataType = cNoPromptList;                                 "" ;                                 "RawValue:  " + cPromptTab + @Text( RawValue ) );                     @StatusBar( @Explode( tmpPrompt ; cPromptNewLineOne ; @True ) );                     @If( @Prompt( [YesNo] ;"Error - " + EditFieldPromptTitle ; tmpPrompt ) ;                             ErrorNoteIDList := ErrorNoteIDList+ cArraySeparator + @Text( @NoteID );                         @Return( @If( @Eval( cErrorCheckCode ) != "" ;                             @StatusBar( @Explode( @Eval( cErrorInformation ) ; cPromptNewLineOne ; @True ) ):                             @Prompt( [Ok] ; "Unable to Update - " + EditFieldPromptTitle ; @Eval( cErrorInformation ) );                         "" ) ) ) );                 @SetField( EditField[ef] ; formulaResult )                 )             );             @If( DocNavigationCount &amp;gt; cMaxUpdatedDocuments ;&lt;br /&gt;NoteIDList := "";&lt;br /&gt;@Do(&lt;br /&gt;DocUpdateCount := DocUpdateCount + 1;&lt;br /&gt;@Command([NavNextSelected]);&lt;br /&gt;@UpdateFormulaContext;&lt;br /&gt;remark := " **REM** If we haven't processed all docs yet but the current doc is not in the NoteIDList list, keep looping ... if cnt exceeds MaxUpdatedDocuments assume infinite loop and stop ";&lt;br /&gt;@If( DocUpdateCount &amp;lt; @Elements( NoteIDList ) &amp;amp; ( !@Member( @NoteID ; NoteIDList ) ) &amp;amp; ( !@Member( @NoteID ; NotNoteIDList) );                         @While( (! @Member( @NoteID ; NoteIDList ) &amp;amp; DocNavigationCount &amp;lt;&amp;gt; 1; "s " ; " " ) + "on " + @Text( DocUpdateCount ) + " document" + @If( DocUpdateCount &amp;gt; 1 ; "s" ; "" ) + "." )&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-6110667643785207558?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/6110667643785207558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=6110667643785207558&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6110667643785207558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/6110667643785207558'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/05/notes-smart-icon-to-update-field-in.html' title='Notes: a Smart Icon to update a field in a document'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-499221472776219983</id><published>2007-05-05T13:06:00.000+01:00</published><updated>2007-05-05T13:13:32.963+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='rich text fields'/><title type='text'>Notes: How to update rich text in a document that's open and redisplay it without saving</title><content type='html'>&lt;blockquote&gt;«The code sample below shows how to write LotusScript code that makes changes to a rich text field in a document that the user is editing, and displays those changes immediately on-screen, &lt;b&gt;without saving the changes&lt;/b&gt;. This also works if you need to repeat other operations that only occur when a document is opened, e.g. evaluating section editor formulas and computed subform formulas.&lt;br /&gt;&lt;br /&gt;Here's the code, which should work in Notes 5.0.2 and higher:&lt;br /&gt;&lt;br /&gt;Dim wksp As New NotesUIWorkspace&lt;br /&gt;Dim session As New NotesSession&lt;br /&gt;Dim uidoc As NotesUIDocument, uidocNew As NotesUIDocument&lt;br /&gt;Dim doc As NotesDocument&lt;br /&gt;Dim rti As NotesRichTextItem&lt;br /&gt;Dim strFieldname As String&lt;br /&gt;&lt;br /&gt;Set uidoc = wksp.CurrentDocument&lt;br /&gt;uidoc.Refresh True &lt;span style="color: rgb(255, 0, 0);"&gt;' do this if the rich text field is editable, to get the current contents in case user has modified them.&lt;/span&gt;&lt;br /&gt;Set doc = uidoc.Document  &lt;span style="color: rgb(255, 0, 0);"&gt;' get the back-end document for the document open on screen.&lt;/span&gt;&lt;br /&gt;strFieldname = uidoc.CurrentField &lt;span style="color: rgb(255, 0, 0);"&gt;' remember the current field if any&lt;/span&gt;&lt;br /&gt;Set rti = doc.GetFirstItem("&lt;i&gt;fieldname&lt;/i&gt;") &lt;span style="color: rgb(255, 0, 0);"&gt;' insert your fieldname here, generally "Body"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;' Make your rich text changes here, for instance:&lt;/span&gt;&lt;br /&gt;Call rti.AddNewLine(1, True)&lt;br /&gt;Call rti.AppendText(Now &amp; ": log entry.")&lt;br /&gt;If session.NotesBuildVersion &gt;= 190 Then&lt;br /&gt;rti.Update &lt;b&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;' ND6 only&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Else&lt;br /&gt;Call doc.ComputeWithForm(True, False) &lt;span style="color: rgb(255, 0, 0);"&gt;' caution, as this may erase some field values if you have @Db functions in formulas.&lt;/span&gt;&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;doc.SaveOptions = "0" &lt;span style="color: rgb(255, 0, 0);"&gt;' make it possible to close the document without a "do you want to save" prompt. If this is a mail-in doc you may need to set MailOptions="0" also to avoid being prompted.&lt;/span&gt;&lt;br /&gt;Call uidoc.Close(True)&lt;br /&gt;Set uidocNew = wksp.EditDocument(True, doc, , , , True)&lt;br /&gt;Delete uidoc&lt;br /&gt;uidocNew.Document.RemoveItem("SaveOptions")&lt;br /&gt;If strFieldname &lt;&gt; "" Then uidocNew.GotoField(strFieldname) &lt;span style="color: rgb(255, 0, 0);"&gt;' return focus to field that was current before.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: this will cause Queryclose, Queryopen, Postopen (and so on) form events to trigger. Also, uidoc.Refresh will execute computed field formulas and input validations, so you should write the validation formulas to not return @Failure unless &lt;b&gt;@IsDocBeingSaved | @IsDocBeingSent &lt;/b&gt;is true.»&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www-10.lotus.com/ldd/nd6forum.nsf/10x10.gif?OpenImageResource" alt="" height="10" width="10" /&gt;&lt;br /&gt;in &lt;span style=";font-family:trebuchet ms;font-size:85%;"  &gt;&lt;span class="bct"&gt;&lt;/span&gt;&lt;a class="bctl" href="http://www-10.lotus.com/ldd/nd6forum.nsf"&gt;Notes/Domino 6 and 7 Forum&lt;/a&gt;&lt;img src="http://www-10.lotus.com/ldd/lddfiles.nsf/c.gif" alt="" height="1" width="1" /&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:trebuchet ms;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-499221472776219983?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/dd507a5be7cc2e4285256eec005f56ef?OpenDocument' title='Notes: How to update rich text in a document that&apos;s open and redisplay it without saving'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/499221472776219983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=499221472776219983&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/499221472776219983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/499221472776219983'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/05/notes-how-to-update-rich-text-in.html' title='Notes: How to update rich text in a document that&apos;s open and redisplay it without saving'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-771985753672995216</id><published>2007-05-05T12:42:00.000+01:00</published><updated>2007-05-05T12:47:06.580+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design synopsis'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Notes: Design Synopsis in HTML format</title><content type='html'>&lt;blockquote&gt;«(...) But also, the Design Synopsis has never worked very well for large&lt;br /&gt;designs ("Too many paragraphs") or for large blocks of LotusScript , whose code&lt;br /&gt;does not appear in full. The most important limitation of the Design Synopsis,&lt;br /&gt;though, in my estimation, is that the output is not customizable. (...) The&lt;br /&gt;menu item Tools / DXL Utilities / Transformer...  (...) it'll put up a&lt;br /&gt;dialog very similar to the Design Synopsis dialog, with one important&lt;br /&gt;difference: the opportunity to select an XML stylesheet (.xsl file) to transform&lt;br /&gt;the DXL descriptions of the selected design elements into human-readable form as&lt;br /&gt;an HTML file. »&lt;/blockquote&gt;&lt;br /&gt;in &lt;a href="http://www-10.lotus.com/ldd/bpmpblog.nsf/" target="_blank"&gt;Best Practice Makes Perfect &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-771985753672995216?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-10.lotus.com/ldd/bpmpblog.nsf/dx/too-many-par' title='Notes: Design Synopsis in HTML format'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/771985753672995216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=771985753672995216&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/771985753672995216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/771985753672995216'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2007/05/notes-design-synopsis-in-html-format.html' title='Notes: Design Synopsis in HTML format'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-115106194276424897</id><published>2006-06-23T12:25:00.000+01:00</published><updated>2007-05-05T12:03:51.670+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows (XP): Remove or delete a service</title><content type='html'>To remove a service on windows XP, use the following command:&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;br&gt;sc &lt;b&gt;delete&lt;/b&gt; &amp;quot;&amp;lt;service name&amp;gt;&amp;quot;&lt;br&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-115106194276424897?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/115106194276424897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=115106194276424897&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/115106194276424897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/115106194276424897'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/06/windows-xp-remove-or-delete-service.html' title='Windows (XP): Remove or delete a service'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114958681311010983</id><published>2006-06-06T10:40:00.000+01:00</published><updated>2007-05-05T12:03:51.670+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Notes: How to access .Net classes from LotusScript</title><content type='html'>IBM Technote: &lt;a href="http://www-1.ibm.com/support/docview.wss?rs=463&amp;amp;context=SSKTMJ&amp;amp;dc=DB520&amp;amp;uid=swg21230705&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=en&amp;amp;rss=ct463lotus"&gt;How to access .Net classes from LotusScript &lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;Problem&lt;/span&gt;&lt;br&gt;You have created an object using Microsoft .Net and would like to create and use this object within LotusScript. How can this be done?&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span style="font-weight: bold;"&gt; Solution&lt;/span&gt;&lt;br&gt;To create a .Net DLL that is accessible from LotusScript perform the following steps:&lt;br&gt;&lt;br&gt;1. Create a C# Class Library Project with the following code:&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;using System;&lt;br&gt;&lt;br&gt;public class MyTest &lt;br&gt;{&lt;br&gt;public string AppendStr(string s)&lt;br&gt;{&lt;br&gt;return s + &amp;quot; from inside the DLL&amp;quot;;&lt;br&gt;}&lt;br&gt;}&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;Note: A Visual Basic Class Library could also be created.&lt;br&gt;&lt;br&gt;2. To access this DLL from anywhere on the machine you will also need to create this DLL as a shared assembly and publish the your DLL to the Global Assembly Cache (GAC). Otherwise, the DLL will be created as a private assembly and you will only be able to create the object if the DLL is in the same directory as the calling program. &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To create this DLL as a shared assembly you will need to generate a cryptographically strong name for the assembly. To do this start up the Visual Studio Command Line prompt, and enter the following command: &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sn -k c:\MyTest.snk&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This will create an Assembly Key File name at the location c:\MyTest.snk&lt;br&gt;&lt;br&gt;&lt;br&gt;3. Open the AssemblyInfo.cs file of the project include the following line:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [assembly: AssemblyKeyFile(@&amp;quot;c:\\MyTest.snk&amp;quot;)] &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Note: For Visual Basic you will need to include this tag instead: &amp;lt;assembly: AssemblyKeyFile(@&amp;quot;c:\\MyTest.snk&amp;quot;)&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;4. Build the project. This will build the project with the value of the Assembly Key File and allow it to be published as a Shared Assembly to the Global Assembly Cache. &lt;br&gt;&lt;br&gt;5. Using the Visual Studio Command Line, change to the directory where the DLL was generated, then publish the DLL to the Global Assembly Cache using the following command:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GacUtil /i MyTest.dll&lt;br&gt;&lt;br&gt; &lt;br&gt;6. To make the objects in this DLL accessible via the COM interface, enter the following command:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regasm MyTest.dll&lt;br&gt;&lt;br&gt;&lt;br&gt;7. To access the object contained in this DLL using LotusScript use the following code: &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim obj As Variant&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set obj = CreateObject(&amp;quot;MyTest&amp;quot;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox obj.AppendStr(&amp;quot;This is&amp;quot;)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The message box will display &amp;quot;This is from inside the DLL.&amp;quot;&lt;br&gt; &lt;br&gt;&lt;br&gt;In short, once the shared assembly is published as a COM component, it can be instantiated in LotusScript using the CreateObject() function. With the exception of Step 7, all of the steps are all specific to the deployment process of Microsoft .Net components. For further information regarding any of these utilities you should refer to the Microsoft web site or Microsoft support. &lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114958681311010983?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114958681311010983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114958681311010983&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114958681311010983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114958681311010983'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/06/notes-how-to-access-net-classes-from.html' title='Notes: How to access .Net classes from LotusScript'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114736593050681184</id><published>2006-05-11T17:45:00.000+01:00</published><updated>2007-05-05T12:03:04.890+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>Notes: After logout, authentication is no longer possible</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Symptoms:&lt;/span&gt;&lt;br&gt;&lt;br&gt;User presses the login button/link, inserts username and password and gets authenticated. Later he presses the logout button/link, and he is successfully logged out. If he tries to login again, he's unable to because the authentication form is never presented again (unless he closes the browser window and re-opens it). &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;Possible Solution:&lt;/span&gt;&lt;br&gt;&lt;br&gt;In case the login link is like this:&lt;br&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; top.location.href = &amp;quot;/database_path&lt;span style="font-weight: bold;"&gt;?OpenDatabase&amp;amp;Login&lt;/span&gt;&amp;quot;&amp;gt;&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;change it to:&lt;br&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; top.location.href = &amp;quot;/database_path&lt;span style="font-weight: bold;"&gt;?Login&amp;amp;redirectTo=database_path&lt;/span&gt;?OpenDatabase&amp;quot;&amp;gt;&lt;br&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114736593050681184?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114736593050681184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114736593050681184&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114736593050681184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114736593050681184'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/05/notes-after-logout-authentication-is.html' title='Notes: After logout, authentication is no longer possible'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114727045502634394</id><published>2006-05-10T15:14:00.000+01:00</published><updated>2007-05-05T12:04:26.531+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>Domino: Session Authentication via Lotus Script</title><content type='html'>Or how to login on the web via a notes agent:&lt;br&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt; 	Print&lt;/span&gt; &amp;quot;&amp;lt;HTML&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &amp;quot;&amp;lt;BODY TEXT=&amp;quot;&amp;quot;FFFFFF&amp;quot;&amp;quot; BGCOLOR=&amp;quot;&amp;quot;FFFFFF&amp;quot;&amp;quot; onLoad=&amp;quot;&amp;quot;document.forms[0].submit()&amp;quot;&amp;quot;&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;  	&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Print&lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;  &amp;quot;&amp;lt;FORM METHOD=post ACTION=&amp;quot;&amp;quot;/names.nsf?Login&amp;quot;&amp;quot; NAME=&amp;quot;&amp;quot;_AlfaLogin&amp;quot;&amp;quot;&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;&amp;quot;-//W3C//DTD HTML 4.0//EN&amp;quot;&amp;quot;&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;HTML&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;INPUT NAME=&amp;quot;&amp;quot;Username&amp;quot;&amp;quot; VALUE=&amp;quot;&amp;quot;&amp;quot; &lt;span style="color: rgb(51, 51, 255);"&gt; +&lt;/span&gt; sUsername &lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;  &amp;quot;&amp;quot;&amp;quot; TYPE=hidden maxlength=256&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &amp;quot;&amp;lt;INPUT NAME=&amp;quot;&amp;quot;Password&amp;quot;&amp;quot; VALUE=&amp;quot;&amp;quot;&amp;quot; &lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+ &lt;/span&gt;&lt;/font&gt; &lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;sPassword &lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+  &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;quot;&amp;quot; TYPE=hidden maxlength=500&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;INPUT NAME=&amp;quot;&amp;quot;RedirectTo&amp;quot;&amp;quot; VALUE=&amp;quot; &lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; sRedirectTo &lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &amp;quot; type=hidden&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;/HTML&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;/FORM&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;/BODY&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Print &lt;/span&gt;&lt;/font&gt;&lt;font style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" size="2"&gt;&amp;quot;&amp;lt;/HTML&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114727045502634394?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114727045502634394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114727045502634394&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114727045502634394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114727045502634394'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/05/domino-session-authentication-via.html' title='Domino: Session Authentication via Lotus Script'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114719670105698326</id><published>2006-05-09T18:45:00.000+01:00</published><updated>2007-05-05T12:23:31.550+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes: View doesn't refresh</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Symptoms: &lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;permanently shows the Refresh Icon&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;the &amp;quot;NoCache&amp;quot; parameter on the dblookup &amp;quot;doesn't work&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;the view.Refresh  statement doesn't refresh the view&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;Problem:&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;div style="margin-left: 40px;"&gt;The view probably uses &lt;span style="color: rgb(51, 102, 255);"&gt;@Now&lt;/span&gt; or &lt;span style="color: rgb(51, 102, 255);"&gt; @Today &lt;span style="color: rgb(0, 0, 0);"&gt;formulas&lt;/span&gt;&lt;/span&gt; in the Selection Formula or in a column, which prevents the view's index to be updated (it's always out-of-date as these formulas force the calculation to go to the minute:second detail). &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;Solution:&lt;/span&gt;&lt;br&gt;&lt;div style="margin-left: 40px;"&gt;&lt;br&gt;Use this formula instead: &lt;font size="2"&gt;&lt;span style="color: rgb(0, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt; @TextToTime&lt;/span&gt;&lt;/span&gt;(&lt;span style="color: rgb(204, 102, 204);"&gt;&amp;quot;Today&amp;quot;&lt;/span&gt;) - it calculates only to the year-month-day so that the index only updates once a day.&lt;br&gt;&lt;/font&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114719670105698326?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114719670105698326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114719670105698326&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114719670105698326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114719670105698326'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/05/notes-view-doesnt-refresh.html' title='Notes: View doesn&apos;t refresh'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114624493452501382</id><published>2006-04-28T18:18:00.000+01:00</published><updated>2007-05-05T12:10:46.854+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Notes client: action bar properties are not rendered in the client</title><content type='html'>If the display border property of a view or form action bar is set to Always but it doesn't show when viewed in the client, check under File -&gt; Preferences -&gt; User Preferences -&gt; Additional Options and make sure the option "Standard dialog boxes" is &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; checked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114624493452501382?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114624493452501382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114624493452501382&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114624493452501382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114624493452501382'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/04/notes-client-action-bar-properties-are.html' title='Notes client: action bar properties are not rendered in the client'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114624456123966407</id><published>2006-04-28T18:11:00.000+01:00</published><updated>2007-05-05T12:05:44.302+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>Windows: Usb Hub is not recognized ("Unknown device")</title><content type='html'>If Windows XP does not recognize a Usb hub, and categorizes it as an "Unknown Device" even after updating the drivers, unplug the electrical cord from the hub and try again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114624456123966407?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114624456123966407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114624456123966407&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114624456123966407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114624456123966407'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/04/windows-usb-hub-is-not-recognized.html' title='Windows: Usb Hub is not recognized (&quot;Unknown device&quot;)'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114435120589165053</id><published>2006-04-06T20:18:00.013+01:00</published><updated>2010-03-26T18:51:53.804Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sorting'/><title type='text'>Notes: Bubble Sorting a Document Collection</title><content type='html'>&lt;blockquote&gt;«Searching a database using db.ftsearch is pretty fast and efficient but ordering based on a field value in the documents is not possible. What is required is something akin to a SQL ORDER BY clause but alas we don't have one and have to resort to sorting the collection the old fashioned way... by implementing a bubble sort.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Usage&lt;/b&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }.ls-comment { color: green; }.ls-quote { color: black; }.ls-datatype { color: black; }.ls-operator { color: blue; }.ls-keyword { color: blue; }.ls-statement { color: blue; }.ls-function { color: blue; }.ls-class { color: black; }.ls-constant { color: purple; }&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; vCollection &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocumentCollection&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Set&lt;/span&gt; vCollection &lt;span class="ls-operator"&gt;=&lt;/span&gt; vSearchDatabase&lt;span class="ls-operator"&gt;.&lt;/span&gt;ftsearch&lt;span class="ls-operator"&gt;(&lt;/span&gt;aQuery&lt;span class="ls-operator"&gt;,&lt;/span&gt; 501&lt;span class="ls-operator"&gt;,&lt;/span&gt; &lt;span class="ls-constant"&gt;FT_SCORES&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; &lt;span class="ls-constant"&gt;FT_FUZZY&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;br /&gt;&lt;span class="ls-statement"&gt;Set&lt;/span&gt; vCollection &lt;span class="ls-operator"&gt;=&lt;/span&gt; Global_SortCollection&lt;span class="ls-operator"&gt;(&lt;/span&gt;vCollection&lt;span class="ls-operator"&gt;,&lt;/span&gt; &lt;span class="ls-quote"&gt;"Person_Surname"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;The sort function requires two parameters, the first a NotesDocumentCollection with documents in it and the second a field name to use to sort the documents, in the example above the documentcollection "vCollection" will be sorted by "Person_Surname".&lt;br /&gt;&lt;br /&gt;The function works by converting the document collection into an array of documents, doing a bubble sort on the array and then converting the array back into a new document collection. &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;The Code&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class=lotusscript&gt;&lt;font class=ls-statement&gt;Function&lt;/font&gt; Global_SortCollection&lt;font class=ls-operator&gt;(&lt;/font&gt;aCollection &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;NotesDocumentCollection&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt; aField &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;String&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Variant&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vCollectionDB &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;NotesDatabase&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vDocTemp &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;NotesDocument&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vCollectionSorted &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;NotesDocumentCollection&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;String&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vLower &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vUpper &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vBottomMax &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vLoop &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vLoopTopHalf &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vLoopBottomHalf &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vMidPoint &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Dim&lt;/font&gt; vTarget &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;String&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; vCollectionDB &lt;font class=ls-operator&gt;=&lt;/font&gt; aCollection&lt;font class=ls-operator&gt;.&lt;/font&gt;Parent &lt;br /&gt; &lt;font class=ls-statement&gt;Redim&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;aCollection&lt;font class=ls-operator&gt;.&lt;/font&gt;count&lt;font class=ls-operator&gt;-&lt;/font&gt;1&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;String&lt;/font&gt; &lt;br /&gt;&lt;font class=ls-comment&gt;'CONVERT DOCUMENT COLLECTION TO ARRAY &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Let&lt;/font&gt; vLoop &lt;font class=ls-operator&gt;=&lt;/font&gt; 0 &lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; vDocTemp &lt;font class=ls-operator&gt;=&lt;/font&gt; aCollection&lt;font class=ls-operator&gt;.&lt;/font&gt;GetFirstDocument &lt;br /&gt; &lt;font class=ls-statement&gt;Do&lt;/font&gt; &lt;font class=ls-statement&gt;While&lt;/font&gt; &lt;font class=ls-operator&gt;Not&lt;/font&gt; vDocTemp &lt;font class=ls-operator&gt;Is&lt;/font&gt; &lt;font class=ls-constant&gt;Nothing&lt;/font&gt; &lt;br /&gt;  vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoop&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;=&lt;/font&gt; vDocTemp&lt;font class=ls-operator&gt;.&lt;/font&gt;GetItemValue&lt;font class=ls-operator&gt;(&lt;/font&gt;aField&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt;0&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;+&lt;/font&gt; &lt;font class=ls-quote&gt;"~"&lt;/font&gt; &lt;font class=ls-operator&gt;+&lt;/font&gt; vDocTemp&lt;font class=ls-operator&gt;.&lt;/font&gt;UniversalID &lt;br /&gt;  &lt;font class=ls-statement&gt;Set&lt;/font&gt; vDocTemp &lt;font class=ls-operator&gt;=&lt;/font&gt; aCollection&lt;font class=ls-operator&gt;.&lt;/font&gt;GetNextDocument&lt;font class=ls-operator&gt;(&lt;/font&gt;vDocTemp&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;  vLoop &lt;font class=ls-operator&gt;=&lt;/font&gt; vLoop &lt;font class=ls-operator&gt;+&lt;/font&gt; 1 &lt;br /&gt; &lt;font class=ls-statement&gt;Loop&lt;/font&gt;&lt;br /&gt; &lt;font class=ls-comment&gt;'SHELL SORT THE ARRAY &lt;/font&gt;&lt;br /&gt; vLower &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-function&gt;Lbound&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt; &lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt; vUpper &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-function&gt;Ubound&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt; &lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt; vMidPoint &lt;font class=ls-operator&gt;=&lt;/font&gt; 1 &lt;br /&gt;&lt;font class=ls-comment&gt;'DETERMINE A STARTING MID POINT TO THE ARRRAY &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Do&lt;/font&gt;&lt;br /&gt;  vMidPoint &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-operator&gt;(&lt;/font&gt;3&lt;font class=ls-operator&gt;*&lt;/font&gt;vMidPoint&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;+&lt;/font&gt; 1 &lt;br /&gt; &lt;font class=ls-statement&gt;Loop&lt;/font&gt; Until vMidPoint &lt;font class=ls-operator&gt;&amp;#62;&lt;/font&gt; vUpper &lt;font class=ls-operator&gt;-&lt;/font&gt; vLower &lt;font class=ls-operator&gt;+&lt;/font&gt; 1&lt;br /&gt; &lt;font class=ls-comment&gt;'LOOP THROUGH THE ARRAY &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Do&lt;/font&gt; &lt;br /&gt;  vMidPoint &lt;font class=ls-operator&gt;=&lt;/font&gt; vMidPoint &lt;font class=ls-operator&gt;\&lt;/font&gt; 3 &lt;br /&gt;  vBottomMax &lt;font class=ls-operator&gt;=&lt;/font&gt; vLower &lt;font class=ls-operator&gt;+&lt;/font&gt; vMidPoint &lt;font class=ls-operator&gt;-&lt;/font&gt; 1 &lt;br /&gt;  &lt;font class=ls-statement&gt;For&lt;/font&gt; vLoopTopHalf &lt;font class=ls-operator&gt;=&lt;/font&gt; vBottomMax &lt;font class=ls-operator&gt;+&lt;/font&gt; 1 &lt;font class=ls-statement&gt;To&lt;/font&gt; vUpper &lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;   vTarget &lt;font class=ls-operator&gt;=&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopTopHalf&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;   vLoopBottomHalf &lt;font class=ls-operator&gt;=&lt;/font&gt; vLoopTopHalf &lt;br /&gt;&lt;font class=ls-comment&gt;'COMPARE TOP HALF OF ARRAY WITH BOTTOM HALF &lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;Do&lt;/font&gt; &lt;font class=ls-statement&gt;While&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt; vLoopBottomHalf &lt;font class=ls-operator&gt;-&lt;/font&gt; vMidPoint &lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;&amp;#62;&lt;/font&gt; vTarget&lt;br /&gt;    vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopBottomHalf&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;=&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopBottomHalf &lt;font class=ls-operator&gt;-&lt;/font&gt; vMidPoint&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;    vLoopBottomHalf &lt;font class=ls-operator&gt;=&lt;/font&gt; vLoopBottomHalf &lt;font class=ls-operator&gt;-&lt;/font&gt; vMidPoint &lt;br /&gt;    &lt;font class=ls-statement&gt;If&lt;/font&gt; &lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopBottomHalf &lt;font class=ls-operator&gt;&amp;#60;&lt;/font&gt;&lt;font class=ls-operator&gt;=&lt;/font&gt; vBottomMax&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-statement&gt;Then&lt;/font&gt; &lt;font class=ls-statement&gt;Exit&lt;/font&gt; &lt;font class=ls-statement&gt;Do&lt;/font&gt; &lt;br /&gt;   &lt;font class=ls-statement&gt;Loop&lt;/font&gt; &lt;br /&gt;   &lt;font class=ls-statement&gt;If&lt;/font&gt; &lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopBottomHalf &lt;font class=ls-operator&gt;&amp;#60;&lt;/font&gt;&lt;font class=ls-operator&gt;&amp;#62;&lt;/font&gt; vLoopTopHalf&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-statement&gt;Then&lt;/font&gt; vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoopBottomHalf&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;font class=ls-operator&gt;=&lt;/font&gt; vTarget &lt;br /&gt;  &lt;font class=ls-statement&gt;Next&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Loop&lt;/font&gt; Until vMidPoint &lt;font class=ls-operator&gt;=&lt;/font&gt; 1 &lt;br /&gt;&lt;font class=ls-comment&gt;'CREATE A NEW EMPTY DOC COLLECTION &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; vCollectionSorted &lt;font class=ls-operator&gt;=&lt;/font&gt; vCollectionDB&lt;font class=ls-operator&gt;.&lt;/font&gt;Search&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-quote&gt;""&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;&lt;font class=ls-constant&gt;Nothing&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;0&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;&lt;font class=ls-comment&gt;'CONVERT ARRAY TO DOC COLLECTION &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;For&lt;/font&gt; vLoop &lt;font class=ls-operator&gt;=&lt;/font&gt; 0 &lt;font class=ls-statement&gt;To&lt;/font&gt; &lt;font class=ls-function&gt;Ubound&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt;vDocArray&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;  &lt;font class=ls-statement&gt;Set&lt;/font&gt; vDocTemp &lt;font class=ls-operator&gt;=&lt;/font&gt; vCollectionDB&lt;font class=ls-operator&gt;.&lt;/font&gt;GetDocumentByUNID&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-function&gt;Strrightback&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt;vDocArray&lt;font class=ls-operator&gt;(&lt;/font&gt;vLoop&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt; &lt;font class=ls-quote&gt;"~"&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt;  &lt;font class=ls-function&gt;Call&lt;/font&gt; vCollectionSorted&lt;font class=ls-operator&gt;.&lt;/font&gt;AddDocument&lt;font class=ls-operator&gt;(&lt;/font&gt;vDocTemp&lt;font class=ls-operator&gt;)&lt;/font&gt; &lt;br /&gt; &lt;font class=ls-statement&gt;Next&lt;/font&gt; vLoop &lt;br /&gt;&lt;font class=ls-comment&gt;'RETURN THE DOCUMENT COLLECTION &lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; Global_SortCollection &lt;font class=ls-operator&gt;=&lt;/font&gt; vCollectionSorted &lt;br /&gt;&lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;Function&lt;/font&gt; &lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif; font-size: 16px; line-height: 18px;"&gt;A simple yet extremely useful function that belongs in everyone's global routines script library.»&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.notestips.com/80256B3A007F2692/1/TAIO6NLGKJ"&gt;(Source)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114435120589165053?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.notestips.com/80256B3A007F2692/1/TAIO6NLGKJ' title='Notes: Bubble Sorting a Document Collection'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114435120589165053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114435120589165053&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114435120589165053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114435120589165053'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/04/notes-bubble-sorting-document.html' title='Notes: Bubble Sorting a Document Collection'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114425764327120895</id><published>2006-04-05T18:20:00.000+01:00</published><updated>2007-05-05T12:06:45.932+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Notes - Lotus Script: Resume without error</title><content type='html'>&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;br /&gt;  &lt;br /&gt;     A script ends and returns the "Resume without error" message, even though no error was thrown during it's execution.&lt;br /&gt;     Checking the Error$ function, it may return the message "Variant does not contain a container".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Possible solution:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;      Include in the script the "Option Declare" statement, correct all errors (undeclared variables) and save it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114425764327120895?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114425764327120895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114425764327120895&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114425764327120895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114425764327120895'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/04/notes-lotus-script-resume-without.html' title='Notes - Lotus Script: Resume without error'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114347675826497868</id><published>2006-03-27T17:25:00.000+01:00</published><updated>2007-05-05T12:07:07.972+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>Domino: Extend Authentication For Websites, Single Sign-on and Persistent Sessions</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;Ever wanted to be able to authenticate users on your Domino Web Server using a Web Service, against a MySQL database, a text file or some other external source? Or how about changing the default Domino behaviour so that user sessions remain active for days or weeks. It's easy and I'll show you how using Apache Tomcat and a simple Java Servlet.&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://blog.agileware.net/index.php/archives/2005/10/23/how-to-extend-domino-authentication-for-websites-single-sign-on-and-persistent-sessions/"&gt;More &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114347675826497868?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.agileware.net/index.php/archives/2005/10/23/how-to-extend-domino-authentication-for-websites-single-sign-on-and-persistent-sessions/' title='Domino: Extend Authentication For Websites, Single Sign-on and Persistent Sessions'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114347675826497868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114347675826497868&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347675826497868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347675826497868'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/03/domino-extend-authentication-for.html' title='Domino: Extend Authentication For Websites, Single Sign-on and Persistent Sessions'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114347475461396457</id><published>2006-03-27T16:52:00.000+01:00</published><updated>2007-05-05T12:07:35.817+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='sorting'/><title type='text'>Notes - Web: Ajax Drag-n-Drop Sorting of Documents</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;«Imagine the following situation - say you've got a set of documents which are all children of one container document. From within this parent container document you want to be able to quickly change the order in which the child documents appear. Sound familiar?»&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.codestore.net/store.nsf/cmnts/B56AE5B091F3DE108025712200536725?OpenDocument"&gt;More &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114347475461396457?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codestore.net/store.nsf/cmnts/B56AE5B091F3DE108025712200536725?OpenDocument' title='Notes - Web: Ajax Drag-n-Drop Sorting of Documents'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114347475461396457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114347475461396457&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347475461396457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347475461396457'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/03/notes-web-ajax-drag-n-drop-sorting-of.html' title='Notes - Web: Ajax Drag-n-Drop Sorting of Documents'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114347437939843913</id><published>2006-03-27T16:46:00.000+01:00</published><updated>2007-05-05T12:12:05.863+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='utils'/><title type='text'>Tools: Yahoo! UI Library</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;«The Yahoo! User Interface Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, HTML and AJAX. The UI Library Utilities facilitate the implementation of rich client-side features by enhancing and normalizing the developer's interface to important elements of the browser infrastructure (such as events, in-page HTTP requests and the DOM.»&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/index.html"&gt;More &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114347437939843913?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://developer.yahoo.com/yui/index.html' title='Tools: Yahoo! UI Library'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114347437939843913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114347437939843913&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347437939843913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347437939843913'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/03/tools-yahoo-ui-library.html' title='Tools: Yahoo! UI Library'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114347397361522246</id><published>2006-03-27T16:39:00.000+01:00</published><updated>2007-05-05T12:25:50.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='layers'/><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='name picker'/><title type='text'>Domino: ajax picklist (either for names.nsf or other dbs)</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;«One of the things which has bugged me for a long time is getting a good name picker.(...)So the requirements:&lt;br /&gt;.A generic popup window which allows a user to select one or many values from a very large view (100,000 documents plus)&lt;br /&gt;.It has to perform well&lt;br /&gt;.It has to be cross browser compatable (at least IE and Firefox)&lt;br /&gt;.It has to be easily re-usable»&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.11tmr.com/11tmr.nsf/BlogSearch?SearchView&amp;Query=Field%20SearchText%20contains%20name%20picker&amp;amp;Start=1&amp;amp;Count=-1"&gt;More &gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align:center"&gt;***&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;«I needed a name picker for a project I'm working on. After looking at various solutions available I couldn't find one I was happy with and decided to the revisit the approach and write my own. (...) What I've tried to move away from is the convention that a Name Picker must, for some reason, be a popup window.»&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codestore.net/store.nsf/unid/BLOG-20060307"&gt;More &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114347397361522246?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.11tmr.com/11tmr.nsf/BlogSearch?SearchView&amp;Query=Field%20SearchText%20contains%20name%20picker&amp;Start=1&amp;Count=-1' title='Domino: ajax picklist (either for names.nsf or other dbs)'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114347397361522246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114347397361522246&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347397361522246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347397361522246'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/03/domino-ajax-picklist-either-for.html' title='Domino: ajax picklist (either for names.nsf or other dbs)'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-114347304032958073</id><published>2006-03-27T16:24:00.000+01:00</published><updated>2007-05-05T12:08:43.508+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>Domino: Ajax Powered Login</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;«Getting tired of ugly Domino login forms or faceless browser pop up dialogs? Once again showing a flair for melding various techniques, Mark Barton brings us an elegant, cutting edge modal login interface utilizing DHTML, Ajax, and JSON JavaScript notation.»&lt;/em&gt;&lt;/blockquote&gt;&lt;a href="http://www.datatribesoftwerks.com/members/datatribe/DatatribeBlog.nsf/archive/20060308-0328CA?OpenDocument"&gt;More &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-114347304032958073?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.datatribesoftwerks.com/members/datatribe/DatatribeBlog.nsf/archive/20060308-0328CA?OpenDocument' title='Domino: Ajax Powered Login'/><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/114347304032958073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=114347304032958073&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347304032958073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/114347304032958073'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/03/domino-ajax-powered-login.html' title='Domino: Ajax Powered Login'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113707973045293633</id><published>2006-01-12T15:28:00.000Z</published><updated>2007-05-05T12:10:15.491+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Notes - LotusScript: function returning a notes document</title><content type='html'>&lt;div&gt;Problem:&lt;/div&gt; &lt;div&gt;Even though the document is instatiated inside the function it is not returned to the calling code.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Explanation:&lt;/div&gt; &lt;div&gt;&lt;font size="1"&gt;&lt;font size="2"&gt;You're probably declaring and setting the value of the &lt;b&gt;&lt;font color="#000099"&gt;NotesDocument&lt;/font&gt;&lt;/b&gt;'s parent database inside the function, which is outside the scope of the calling function. As a result, although you  &lt;b&gt;&lt;font color="#000099"&gt;return&lt;/font&gt;&lt;/b&gt; the right document, the containing database is no longer open.&lt;br&gt;&lt;br&gt;You can either pass the database *and* the document and pass them both back, or you can declare the database globally &lt;/font&gt;.&lt;/font&gt; &lt;br&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;From: &lt;a href="http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/f96a3c22461caae885256d41007f24fb?OpenDocument&amp;amp;Highlight=0,functi%3Fn,return,notesdocument"&gt;Notes Forum&lt;/a&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113707973045293633?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113707973045293633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113707973045293633&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113707973045293633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113707973045293633'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2006/01/notes-lotusscript-function-returning.html' title='Notes - LotusScript: function returning a notes document'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113594723590015890</id><published>2005-12-30T12:45:00.000Z</published><updated>2007-05-05T12:10:38.328+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Notes - Web: Alignment of Checkboxes on the Web</title><content type='html'>This can be done by adding some HTML around the checkbox field, like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="HEIGHT: 17px; BACKGROUND-COLOR: lightgrey"&gt;&amp;lt;table cellspacing="0" cols="5" cellpadding="0" border="0" valign="top" rows="1"&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; WIDTH: 200px; BORDER-BOTTOM: black 1px solid; HEIGHT: 16px"&gt;Checkbox Field&lt;/div&gt;&lt;br /&gt;&lt;div style="HEIGHT: 17px; BACKGROUND-COLOR: lightgrey"&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Don't forget to mark this code as Pass-Thru HTML.&lt;br /&gt;&lt;br /&gt;And now, on the checkbox field choices, this should be added to the end of the choice where the list should break to a new column:&lt;br /&gt;&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;td valign="top"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example of list:&lt;br /&gt;-------------&lt;br /&gt;apple | a&lt;br /&gt;orange | or&lt;br /&gt;strawberry [&amp;lt;/td&amp;gt;&amp;lt;td valign="top"&amp;gt;] | s&lt;br /&gt;pineapple | p&lt;br /&gt;banana | b&lt;br /&gt;other [&amp;lt;/td&amp;gt;&amp;lt;td valign="top"&amp;gt;] | o&lt;br /&gt;-----------------------&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113594723590015890?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113594723590015890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113594723590015890&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113594723590015890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113594723590015890'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/12/notes-web-alignment-of-checkboxes-on.html' title='Notes - Web: Alignment of Checkboxes on the Web'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113587778658893848</id><published>2005-12-29T17:36:00.000Z</published><updated>2007-05-05T12:17:53.326+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Notes - Web: select all javascript function for checkboxes (multivalue too)</title><content type='html'>&lt;font face="Arial" color="#000080" size="2"&gt; &lt;p&gt;function selectAll(fieldname, bFlag) {&lt;br&gt;&amp;nbsp; var checkField = document.forms[0].elements[fieldname];&lt;br&gt;&amp;nbsp; if (checkField.length) &lt;br&gt;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;checkField.length; i++) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (checkField[i].checked)  &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; checkField[i].checked = bFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp; else if (checkField.checked) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; checkField.checked = bFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp; } &lt;br&gt;}&lt;/p&gt;&lt;/font&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113587778658893848?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113587778658893848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113587778658893848&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113587778658893848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113587778658893848'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/12/notes-web-select-all-javascript.html' title='Notes - Web: select all javascript function for checkboxes (multivalue too)'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113569839425366115</id><published>2005-12-27T15:46:00.000Z</published><updated>2007-05-05T12:12:31.438+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem solver'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='activeX'/><title type='text'>Windows - ActiveX: ActiveX is enabled on IE but does not work</title><content type='html'>Other possible symptoms:&lt;br /&gt;&lt;br /&gt; - unable to access MMC console (access rights message error, although having administrator rights) and/or unable to save a new one ("MMC cannot save the console");&lt;br /&gt; - windows update not working or crashing the IE browser;&lt;br /&gt; - msn messenger unable to connect.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Go to Start -&gt; Run and write: regsvr32 MSXML3.dll and click OK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113569839425366115?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113569839425366115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113569839425366115&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113569839425366115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113569839425366115'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/12/windows-activex-activex-is-enabled-on.html' title='Windows - ActiveX: ActiveX is enabled on IE but does not work'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113457210848841559</id><published>2005-12-14T14:55:00.000Z</published><updated>2007-05-05T12:25:50.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='layers'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Notes - client: hide-when for layers</title><content type='html'>To hide a layer in the notes client, select the layer's&amp;nbsp;Anchor as it was text&amp;nbsp;and use&amp;nbsp;the text's hide-when tab on the properties dialog box to&amp;nbsp;control the appearance and disappearance of the layer. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113457210848841559?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113457210848841559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113457210848841559&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113457210848841559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113457210848841559'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/12/notes-client-hide-when-for-layers.html' title='Notes - client: hide-when for layers'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113386719742362984</id><published>2005-12-06T10:58:00.000Z</published><updated>2007-05-05T12:25:25.166+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='name picker'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes - Client: View autoframe</title><content type='html'>The view autoframe property only works for the Web, but for the client there's the following workaround (undocumented feature and only works for the database default frameset):&lt;br /&gt;&lt;br /&gt; . Create a Frameset with only one Frame and call this Frame &lt;strong&gt;NotesView&lt;/strong&gt; and select any view;&lt;br /&gt; . In the database default Frameset, open the previously created Frameset in one of it's frames.&lt;br /&gt;&lt;br /&gt;Now, when opening a view (through a link, for example), the database will force the default frameset to open "around" the view.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113386719742362984?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113386719742362984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113386719742362984&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113386719742362984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113386719742362984'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/12/notes-client-view-autoframe.html' title='Notes - Client: View autoframe'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113292139670957031</id><published>2005-11-25T12:23:00.000Z</published><updated>2007-05-05T12:13:36.198+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotus script'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Notes - Lotus Script: Replace Substring</title><content type='html'>&lt;font color="#000099"&gt;Function ReplaceSubstring&lt;/font&gt;(sourcestr As String, fromstr As String, tostr As String) &lt;font color="#000099"&gt;As String&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color="#009900"&gt; ' This function replaces characters in a string. Take all the occurrences of &amp;quot;fromstr&amp;quot; &lt;br&gt;&amp;nbsp;&amp;nbsp; ' in the source string and replace them with &amp;quot;tostr&amp;quot;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp; Dim tempstr As String&lt;br&gt;&amp;nbsp;&amp;nbsp; Dim convstr As String&lt;br&gt;&amp;nbsp;&amp;nbsp; Dim i As Long&lt;br&gt;&amp;nbsp;&amp;nbsp; Dim length As Long&lt;br&gt;&amp;nbsp;&amp;nbsp; tempstr = sourcestr&lt;br&gt;&amp;nbsp;&amp;nbsp; If Len(fromstr) = 0 Then &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReplaceSubstring = sourcestr&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Function&lt;br&gt;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp; If Instr(tostr, fromstr) &amp;lt;&amp;gt; 0 Then &lt;font color="#009900"&gt;' If, for example, &amp;quot;\&amp;quot; is being replaced with &amp;quot;\\&amp;quot;&lt;br&gt;&lt;/font&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#009900"&gt;&amp;nbsp;&amp;nbsp; ' Find a character (or set) that is not in the source string.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Try the extended characters (over 128 ASCII)&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 128&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length = 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; convstr = &amp;quot;&amp;quot; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While convstr = &amp;quot;&amp;quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Instr(tempstr, String$(length, Chr$(i))) = 0 Then convstr = String$(length, Chr$(i))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = i + 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If i = 256 Then &lt;font color="#009900"&gt;' If all the extended characters were in there &lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length = length + 1 &lt;font color="#009900"&gt;' Start over, but try 2 extended characters (or 3 or 4)&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 128&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wend&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#009900"&gt; ' Go through tempstr twice - once replacing fromstr with the computed &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' string, then replacing the computed string with tostr&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While Instr(tempstr, fromstr) &amp;lt;&amp;gt; 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempstr = Left(tempstr, Instr(tempstr, fromstr)-1) &amp;amp; convstr _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; Mid(tempstr, Instr(tempstr, fromstr)+Len(fromstr)) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wend&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While Instr(tempstr, convstr) &amp;lt;&amp;gt; 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempstr = Left(tempstr, Instr(tempstr, convstr)-1) &amp;amp; tostr _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; Mid(tempstr, Instr(tempstr, convstr)+Len(convstr))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wend &lt;br&gt;&amp;nbsp;&amp;nbsp; Else &lt;font color="#009900"&gt;' It's a normal replace substring call - fromstr is not part of tostr&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While Instr(tempstr, fromstr) &amp;lt;&amp;gt; 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempstr = Left(tempstr, Instr(tempstr, fromstr)-1) &amp;amp; tostr _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; Mid(tempstr, Instr(tempstr, fromstr)+Len(fromstr))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wend&lt;br&gt;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp; ReplaceSubstring = tempstr&lt;br&gt;End Function &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113292139670957031?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113292139670957031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113292139670957031&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113292139670957031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113292139670957031'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/notes-lotus-script-replace-substring.html' title='Notes - Lotus Script: Replace Substring'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113197087943401097</id><published>2005-11-14T12:21:00.000Z</published><updated>2007-05-05T12:17:15.570+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='submission'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Notes - Web: bypassing the $$Return field</title><content type='html'>&lt;div&gt;To avoid the processing of the $$Return field, save the document with the command:&lt;/div&gt; &lt;div&gt; &lt;blockquote&gt; &lt;div&gt;&lt;font color="#3366ff"&gt;@Command&lt;/font&gt;([&lt;font color="#3366ff"&gt;FileSave&lt;/font&gt;])&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;If using Javascript then instead of using document.forms[0].submit(), create a button with the above formula and give it an id (ex:bt_save) and then on the submit script do:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;blockquote&gt;document.all.bt_save.click()&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;The url of the document will be the original one (http://server_name//database_name/form_name?OpenForm), with "&amp;Seq=1" (2,3,...) appended in the end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113197087943401097?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113197087943401097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113197087943401097&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113197087943401097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113197087943401097'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/notes-web-bypassing-return-field.html' title='Notes - Web: bypassing the $$Return field'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113172209900675517</id><published>2005-11-11T15:02:00.000Z</published><updated>2007-05-05T12:17:15.570+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='submission'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Notes - Web: simulate notes client continue=false behaviour on web save</title><content type='html'>&lt;strong&gt;Form:&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(Server_Name e Path_Info are CGI fields)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;. field SaveOptions=0&lt;br /&gt;. field $$Return= &lt;span style="color:#cc33cc;"&gt;"[http://"&lt;/span&gt; + Server_Name + &lt;span style="color:#3366ff;"&gt;@Left&lt;/span&gt;(Path_Info;&lt;span style="color:#cc33cc;"&gt;"nsf"&lt;/span&gt;) + &lt;span style="color:#cc33cc;"&gt;"&lt;/span&gt;&lt;span style="color:#cc33cc;"&gt;nsf/0/&lt;/span&gt;&lt;span style="color:#cc33cc;"&gt;"&lt;/span&gt;+ &lt;span style="color:#3366ff;"&gt;@Text(@DocumentUniqueID)&lt;/span&gt; + &lt;span style="color:#cc33cc;"&gt;"?OpenDocument]"&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;WebQuerySaveAgent: &lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(if the validation fails, then the doc will not be saved because of the SaveOptions field value)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;if (validateForm) doc.SaveOptions=1 &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Form - onload:&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;(optionally)&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;if (document.all.field_error.value!="") alert("Document not saved. \n Errors:" + document.all.field_error.value)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="float:bottom"&gt;&lt;br /&gt;  &lt;a href="http://del.icio.us/sbn/notes"&gt;notes&lt;/a&gt;, &lt;a href="http://del.icio.us/sbn/webquerysaveagent"&gt;webquerysaveagent&lt;/a&gt;, &lt;a href="http://del.icio.us/sbn/web"&gt;web&lt;/a&gt;, &lt;a href="http://del.icio.us/sbn/$$Return"&gt;$$Return&lt;/a&gt;, &lt;a href="http://del.icio.us/sbn/save"&gt;save&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113172209900675517?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113172209900675517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113172209900675517&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113172209900675517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113172209900675517'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/notes-web-simulate-notes-client.html' title='Notes - Web: simulate notes client continue=false behaviour on web save'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113164225337968603</id><published>2005-11-10T14:48:00.000Z</published><updated>2007-05-05T12:18:30.499+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='field validation'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Web - Js: generic form validation function</title><content type='html'>function isSomethingSelected( obj ){&lt;br /&gt;&amp;nbsp; &amp;nbsp; for (var r=0; r &lt; obj.length; r++){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; if ( obj[r].checked ) return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*--- form validation--- */&lt;br /&gt;function checkRequiredField(sFname)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;field = self.document.getElementById(sFname);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sType = field.type.toLowerCase();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var bOk = true;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch (sType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "text":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "textarea" :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (field.value=="") bOk=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "checkbox":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "radio":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ( !field[0]) { //handle single item group first&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ( !field.checked ) bOk=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!isSomethingSelected(field)) bOk=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "select-one":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (field.selectedIndex == 0) bOk= false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "select-multiple":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (field.selectedIndex == -1) bOk=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;default:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;return bOk;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113164225337968603?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113164225337968603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113164225337968603&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113164225337968603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113164225337968603'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/web-js-generic-form-validation.html' title='Web - Js: generic form validation function'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113154841107635231</id><published>2005-11-09T14:57:00.000Z</published><updated>2007-05-05T12:19:07.938+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Web - Js: including javascript stored in a separate file</title><content type='html'>&amp;lt;script type="text/javascript" src="/file_path/file_name.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113154841107635231?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113154841107635231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113154841107635231&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154841107635231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154841107635231'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/web-js-including-javascript-stored-in.html' title='Web - Js: including javascript stored in a separate file'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113154820037508820</id><published>2005-11-09T14:43:00.000Z</published><updated>2007-05-05T12:29:10.719+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Web - CSS: including style sheets stored in a separate file</title><content type='html'>&amp;lt;link="stylesheet" type="text/css" media="print" href="/file_path/file_name.css"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;style type="text/css" media="screen"&amp;gt@import "/path_file/path_name.css"; &amp;lt;/style&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113154820037508820?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113154820037508820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113154820037508820&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154820037508820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154820037508820'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/web-css-including-style-sheets-stored.html' title='Web - CSS: including style sheets stored in a separate file'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113154289171831552</id><published>2005-11-09T13:26:00.000Z</published><updated>2007-05-05T12:28:19.609+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>DOM: window.open</title><content type='html'>&lt;a href="http://www.mozilla.org/docs/dom/domref/dom_window_ref76.html"&gt;Gecko DOM Reference&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;Syntax&lt;/strong&gt;&lt;br /&gt;WindowObjectReference = window.open(strUrl, strWindowName [, strWindowFeatures]);&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113154289171831552?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113154289171831552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113154289171831552&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154289171831552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113154289171831552'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/dom-windowopen.html' title='DOM: window.open'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113153872344315878</id><published>2005-11-09T11:39:00.000Z</published><updated>2007-05-05T12:27:59.251+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Web - CSS: how to make a "fake" link</title><content type='html'>&lt;div id="category"&gt;.linkClass&lt;br /&gt;{&lt;br /&gt;&lt;/div&gt;&lt;div style="PADDING-LEFT: 20px"&gt;&lt;br /&gt;text-decoration : underline;&lt;br /&gt;cursor : hand; &lt;/div&gt;&lt;div style="PADDING-LEFT: 20px"&gt;&lt;/div&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113153872344315878?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113153872344315878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113153872344315878&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113153872344315878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113153872344315878'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/web-css-how-to-make-fake-link.html' title='Web - CSS: how to make a &quot;fake&quot; link'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18793658.post-113153303796138052</id><published>2005-11-09T10:32:00.000Z</published><updated>2007-05-05T12:27:09.153+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><title type='text'>Notes - Web: document link in html view</title><content type='html'>&lt;span style="color:#cc33cc;"&gt;"&amp;lt;a href=\"0/"&lt;/span&gt; +&lt;span style="color:#3333ff;"&gt;@Text&lt;/span&gt;(&lt;span style="color:#3333ff;"&gt;@DocumentUniqueID&lt;/span&gt;)+&lt;span style="color:#cc33cc;"&gt;"\"&amp;gt;" &lt;/span&gt;&lt;span style="color:#000000;"&gt;+ field_name + &lt;/span&gt;&lt;span style="color:#cc33cc;"&gt;“&amp;lt;/a&amp;gt;”&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18793658-113153303796138052?l=randomtechtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechtips.blogspot.com/feeds/113153303796138052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18793658&amp;postID=113153303796138052&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113153303796138052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18793658/posts/default/113153303796138052'/><link rel='alternate' type='text/html' href='http://randomtechtips.blogspot.com/2005/11/notes-web-document-link-in-html-view.html' title='Notes - Web: document link in html view'/><author><name>Sandra B. Noronha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-MnPytZQPa_Y/AAAAAAAAAAI/AAAAAAAAEv4/EE-SX4BWGEI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
