View Single Post
  #13   Report Post  
Posted to microsoft.public.word.newusers
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default If field in forms

Insert a section and protect only the section that contains your form
fields, though really you would do better to investigate autotext for the
insertion of your variable data or better still userforms to gather the data
and place it
Word MVP FAQ - Userforms
http://word.mvps.org/FAQs/Userforms.htm

see also http://www.gmayor.com/Macrobutton.htm

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org



ab wrote:
Thanks Graham, that seems to be working for me now. I just have the
problem with the protect/unprotect bit (i.e. when I protect the
template and save it, on opening a new document I have to unprotect
it to get the drop-down box to work and then protect it again to be
able to type on the rest of the form which is one page laid out in
two columns. Can you help, please?


"Graham Mayor" wrote in message
...
It depends on whose advice you are following
If mine, you only need 1 drop down field. The calculate on exit
property of that field must be checked.
Lock the form. The conditional (IF) field is updated from the choice
in the dropdown field.

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


ab wrote:
Sorry to be a nuisance - I have been experimenting with the
different advice given and now appear to have got the fields OK
with the drop-down box and the If field in the qualification box.

Next problem: when I protect the template and save it, on opening a
new document I have to unprotect it to get the drop-down box to work
and then protect it again to be able to type on the rest of the form
which is one page laid out in two columns.
What am I missing here, please?

"ab" wrote in message
...
Sorry but I don't think I've got the hang of this.

The drop-down box with the names works fine - I have that in the
template. When I go to the box lower down the page where I want the
qualification, I can't get this right. I have tried creating a new
macro with the details (amended with the correct names, etc) but
when I try to run it, I get "run time error 438, Object does not
support this property". If I try to do an If field, I am not sure
how to enter the info.

Thanks for your help.


"Doug Robbins - Word MVP" wrote in message
...
With ActiveDocument.FormFields("Name").DropDown
If .ListEntries(.Value) = "John Smith" Then
ActiveDocument.FormFields("Qualification").Result = "RIBA"
ElseIf .ListEntries(.Value) = "Jane Brown" Then
ActiveDocument.FormFields("Qualification").Result = "RICS"
Else
ActiveDocument.FormFields("Qualification").Result = "ACIAT"
End If
End With


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of
my services on a paid consulting basis.

Doug Robbins - Word MVP

"ab" wrote in message
...
Reading through, I don't think I explained it very well.

The form has a drop-down box for the three people.
Further down the form I have to enter their qualifications. One
is RIBA, one is RICS, one is ACIAT.
Depending on which of the three are required, I then put in the
appropriate qualifiication.


"ab" wrote in message
...
There are three names and three qualifications.

"Doug Robbins - Word MVP" wrote in
message ...
Do you want the user to be able to select an alternate
qualification from the second DropDown, or is the qualification
intended to be fixed based on the name selected in the first
DropDown? If that is not the case, it would be better to use a
Text FormField for the qualification and run a macro on exit
from the Drop Down to determine the entry that was selected
and then use the .Result property of the Text FormField to
display the appropriate qualification.

If there are only a couple of entries in the DropDown list, an
If field could be used

With ActiveDocument.FormFields("Name").DropDown
If .ListEntries(.Value) = "John Smith" Then
ActiveDocument.FormFields("Qualification").Result =
"ARIBA" Else 'Jane Brown was selected
ActiveDocument.FormFields("Qualification").Result =
"ARICS" End If
End With

but if there are many more than that, then it may be better to
use a Select Case construction.



--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself
of my services on a paid consulting basis.

Doug Robbins - Word MVP

"ab" wrote in message
...
I have created a form to be filled in using Word 2003. I have
two drop-down boxes which I need to link somehow.

What I want to do is:

If the name in the first drop-down box is "John Smith"

The qualification in the next drop-down box is "ARIBA"

If the name in the first drop-down box is "Jane Brown",

The qualification in the next drop-down box is "ARICS"

Help would be appreciated please.

TIA