Solved

Button with address book behind to populate fields

Posted on 2002-03-27
7
233 Views
Last Modified: 2013-12-18
In a database I am creating, there is to be a 'requested by' button.  Behind the button I would like to have code that brings up an address book choice box, you pick the name of the caller from the address book <NAB> and the fields branch/phone etc are populated from that.  There is a similar database in use on one of our servers <designed by someone no longer here> that has that type of button that works on that server only <though the form is used company wide>.  The code behind the existing button is...

SubDir:=@LeftBack(@Subset(@DbName;-1);"\\");
DB_Name:=@If(SubDir="";"";SubDir+"\\") + ContactList;
Choice:=@PickList([Custom];@Subset(@DbName;1):DB_Name; "Employees";"Select A Contact";"Select the related contact.";1);
Chosen_Contact:=@Subset(Choice;1);
@If(Chosen_Contact ="";"";@Do(
@SetField("RelatedDocument"; @Text(Chosen_Contact));
@SetField("RequestedBy";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;2));
@SetField("PeopleToNotify";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;2));
@SetField("ReqByPhone";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;3));
@SetField("ReqByLocal";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;4));
@SetField("ReqByDept";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;5));
@SetField("ReqByDivision";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;6));
@SetField("ReqByBranch";@DbLookup("":"NoCache"; @Subset(@DbName;1):DB_Name; "Employees"; Chosen_Contact;7))))

Is this more complicated code than I need put in?

Any suggestions?

thanks
0
Comment
Question by:Paulette
  • 4
  • 3
7 Comments
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6901285
The code,
SubDir:=@LeftBack(@Subset(@DbName;-1);"\\");
DB_Name:=@If(SubDir="";"";SubDir+"\\") + ContactList;

is the deciding factor to see what database it is hitting.

In the line,
Choice:=@PickList([Custom];@Subset(@DbName;1):DB_Name; "Employees";"Select A Contact";"Select the related contact.";1);

@Subset(@DbName;1), select the server which would be the current server the database is residing.

In order to generalize this code, do this (Which will be a hard coding)

Server := "Name of the server where the lookup db is residing";
DB_Name := "Path to the database"


OR you can use some kind of control document and store centrally the path and server info of the lookup database, OR you can create a shared field containting the same info.

Let me know which suits your purpose

~Hemanth
0
 

Author Comment

by:Paulette
ID: 6903277
As the database will be on 3 or 4 servers, geographically distant, what would you suggest to be the 'best' or 'most straight-forward' way to accomplish what I am aiming to do?

any suggestions appreciated
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6904885
Replicate the database which will be used for lookup to all 3 or 4 servers and use the replicaID in place of Server:DBPath for lookup.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Paulette
ID: 6910554
Would it be more straight-forward for me to create my own code or method to achieve this lookup?  Rather than trying to pick someone elses code apart and change as necessary, would I maybe be further ahead <given I am at the beginner level of design> to use a method other than this?

Or maybe I am trying to do something WAY over my head....

thanks for your input as usual.....looking forward to your opinion...
0
 
LVL 24

Accepted Solution

by:
HemanthaKumar earned 200 total points
ID: 6910765
The above method is not that bad, except for numerous dblookups which really kills the system. One simple approach would be to create an hidden column in the view where the picklist is acting and extract the selected values for selected row


You have to design an extra column in employees (I have refered that column as 10) like this,

RelatedDocument + "~" + RequestedBy + "~"...So..on...


Here is the formula
-==================
RepID := "852564A0:006B7872";
Choice:=@PickList([Custom];RepID; "Employees";"Select A Contact";"Select the related
contact.";10);
REM " The extracted value 'Choice' contains the string in format, RelatedDocument~RequestedBy~...";

@if(choice = ""; @Return(0); @True);

FIELD RelatedDocument := @Word(choice;"~"; 1);
FIELD RequestedBy := @Word(choice;"~"; 2);
FIELD PeopleToNotify := @Word(choice;"~"; 3);
FIELD ReqByPhone := @Word(choice;"~"; 4);
FIELD ReqByLocal := @Word(choice;"~"; 5);
FIELD ReqByDept := @Word(choice;"~"; 6);
FIELD ReqByDivision := @Word(choice;"~"; 7);
FIELD ReqByBranch := @Word(choice;"~"; 8);
@True

============

PS: you can replace RepID := "852564A0:006B7872"; with appropriate replica id of the database used for lookup. Either you can hardcode or put it in some profile or control doc and refer it.





0
 

Author Comment

by:Paulette
ID: 6911063
When I click on the 'requested by' button I get this error

'entry not in design list'  <pretty unspecific I know....>

what causes this?  
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6911548
The specified column 10 is  hypothetical, you have to substitute with the column that contains all the information that will be retrieved and parsed.

0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

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

Question has a verified solution.

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

Suggested Solutions

Notes Document Link used by IBM Notes is a link file which aids in the sharing of links to documents in email and webpages. The posts describe the importance and steps to create a Lotus Notes NDL file in brief.
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question