Database Forum / FileMaker Topics / December 2003
mailing madness!
|
|
Thread rating:  |
.: CoCo :. - 28 Dec 2003 17:14 GMT hello peole,
I've been trying to solve this thing for some hours, and then I finally gave up :) I've this dbase of a school, with names and address of students and so on.
I want to be able to let the secretary who will use it to type in any letter she wants, and being able to print it for a certain number of people (like for a class, a section, a single or the whole school).
So far... I've tried with the "fusion fields".. it works great, but unfortunately it seems that for each letter you need a format, where you define the fields surrounded by the text.
Then I tried to make an external dbase when one types only the letters, then with a relationship you type in the number/code of the letter (the key) in the main database, and automagically everything fills up. Too bad that this happens only for the selected record!
I have no other idea. Bear in mind that my knowledge of Filemaker is far from being perfect :'). And, this is just a small free project for our evening school, so I can't buy plugins or whatever.
Is there any simple solutions I'm not seeing? Any suggestion? I'd love to keep the letters separeted from the main dbase, so they will be kept and possibly updated if needed.
Thanks for any help.
 Signature .: CoCo :. .: www.mechano.it :. .: Illustrator Evangelist :) :.
Alan Lawrance - 28 Dec 2003 18:55 GMT > Then I tried to make an external dbase when one types only the letters, then > with a relationship you type in the number/code of the letter (the key) in > the main database, and automagically everything fills up. > Too bad that this happens only for the selected record! Simply modify the above to LOOP thru each found record in the found set and execute the SEND MAIL script.
So, assuming you have found the correct group of records then do the following:
GOTO FIRST RECORD LOOP SEND MAIL EXIT LOOP (last record) END LOOP
B Collins - 28 Dec 2003 21:02 GMT ".: CoCo :." wrote>
> hello peole, > [quoted text clipped - 24 lines] > > Thanks for any help. I know of two approaches for writing letters entirelyin Filemaker.
Set up two files as follows: Your main file of people and addresses, whish I will call the Contacts file. Each Contact has a unique Contact ID, assigned by FileMaker when a new Contact record is created. Set up a second file called Letters, with records related to Contacts by Contact ID.
1. To generate a form letter that goes to all of a selected set of addresses: Each such letter is a separate layout in the Contacts file. The letter can include Merge fields for the recipient's name, address and other particulars, with the main body of the text set in the layout, with the same content for all the recipients except for the details in the Merge fields.
2. To generate an individual letter to a particular recipient: Set this up in the Letters file. Set up a number field to hold Contact ID. Set up a text field to hold the letter contact. Establish a relationship from the Contacts file to the Letters file using COntact ID. Create a layout in the Contacts file that has a portal to the Letters file. Start a new letter to a contact in the portal. Go to the related Letter record to finish the letter. Include merge fields for name, address, etc from the Contacts file.
Variants of these two approaches, including use of scripts and pushbuttons, can be imagined.
Bill
.: CoCo :. - 29 Dec 2003 09:35 GMT Hello Bill,
thanks for your reply. Well thanks to all who gave me an answer.
Actually you seem the one who better understood my problem, but I wasn't able to use your solution. In fact I'm not trying to send emails, and the solution that Lynn suggested although useful, it won't fit inside everything I've already done.
> 2. To generate an individual letter to a particular recipient: Set this > up in the Letters file. Set up a number field to hold Contact ID. Set up [quoted text clipped - 4 lines] > finish the letter. Include merge fields for name, address, etc from the > Contacts file. So I have in fact 2 dbases... contacts and letters. the ID field is the key in the relationship. You told me to create 2 fields inside LETTER, id and a text field for the body of the letter (I guess). I then created the portal in a new format inside the contact db.
But what do you mean by "start a new letter to a contact in the portal"? And "Go to the related Letter record to finish the letter"?
I thought that the actual text of the letter was inside the LETTER db. I should have the same letter printed many times as needed, with only the names and addresses changing, is it?
I know it must be easy for you, but I'm lost again :)
Thanks for your help.
Ivan
B Collins - 29 Dec 2003 12:37 GMT Let me see if I can help a bit more:
You also need a Date field in the Letters file, so you can put a date on the letter.
Make sure the relationship from the Contacts file to the Letters file allows creation of related records.
Put a portal in the Contacts file to the Letters file. In the portal, put the related Date and Letter Text fields.
Now when you want to send a letter to John Doe, go to the John Doe record in the Contacts file, go to the layout that has the Letters portal, go to the first empty row in the portal, put a date in the Date field, and type the body text in the letter text field. That will create a new record in the Letters file, that has the COntact ID, the date and the body text.
Go to the related letter record to put any finishing touches on the letter, and then print the letter.
In setting up the Letters file, you also need a relationship to the Contacts file, again based on Contact ID. Then you can put merge fields in the letter to include recipient name, address, etc, taken from the Contacts file. Alternatively, you could have fields for name, address etc in the Letter file, and then set those to look up data from the related Contact file; that way, the actual name and address you sent the letter to will be preserved even if the recipient later gets a new address, etc. That may be useful for you.
In setting up the Letters file, the layout can of course contain your return address, etc. Also, you may want to make provision for letters of more than one page. A single text field in Fielmaker can hold up to 64,000 characters, which can run to several printed pages. Your basic layout should probably be a one-page layout, but you can expand this to several pages if needed.
The foregoing is all aimed at generating an individual letter to a single recipient.
To generate the same form letter to multiple recipients, do that all within the Contacts file, using one layout for one form letter, and incorporating merge fields for recipient particulars as needed. This does not use the Letters file at all.
If you want to send the form letter to a selected set of recipients, you can Find the set of recipients in the Contacts file, and then print the form letters to those recipients only. To keep track of which recipients get which form letter, you can put a field in the Contacts file to hold identifier codes for different form letters.
Hope this provides some more help.
Bill
> Hello Bill, > [quoted text clipped - 32 lines] > > Ivan .: CoCo :. - 29 Dec 2003 14:36 GMT Hello Bill,
> To generate the same form letter to multiple recipients, do that all > within the Contacts file, using one layout for one form letter, and > incorporating merge fields for recipient particulars as needed. This > does not use the Letters file at all. thanks. That is what I did as a temporary solution. The problem with this solution is that when you have like 20-30 different letters, your layout menu becomes a mess!
I've just finished playing with a different solution that, if not elegant, it's working as expected. I have the letter written in the LETTER db, and the CONTACT db with a relation to the LETTER db. I put a field in a new layout (inside CONTACT) where you decide which letter you want to print out (every letter has a code), then using a small script I set the relation key for each record to that code, so it recalls the related text from the LETTER db. If you need to print a different letter, you just need to set again the key field and run the script with a click. At the end it's just a copy and "paste into many" thing :) but it works. In this way, I have an archive of all the letters and they can be selected or edited or sent again.
Thanks again for your time and your tips, they were helpful.
Greets, Ivan
 Signature .: CoCo :. .: www.mechano.it :. .: Illustrator Evangelist :) :.
Musicmad - 30 Dec 2003 05:27 GMT > Hello Bill, > [quoted text clipped - 6 lines] > The problem with this solution is that when you have like 20-30 different > letters, your layout menu becomes a mess! Let me take a shot at this problem. I've got a solution that works for our situations. If my explaination doesn't make sense contact me off list at
cboody@NOSPAMmn.rr.com
(removing NOSPAM)
1) Create a "Letters" database. Include in it at least these fields: LetterName, ID# (auto created serial number),XforConnect (which automatically has an X in it, INREline, and Body. You might also want Salutation and closing and some return address information, though we get that from another spot.
2) In your "Contacts" file create to relations to the Letters file, one from a global field containing an X (called gXtoConnect here) and the other from a global field containing the LetterID# found in the letter file (Called gLetterNum here). You can use one global since you never access both ways at once but I prefer 2.
3) Create a layout in the Contacts file that contains a portal showing the LetterName field from the letters file when accessed by the gXtoConnect relation. That will show all already created letters by the names the user has given them. On that layout you should have a button to create a new letter. The Portal rows should be a button too. Clicking on the portal row sets the global gLetterNum to the letter ID# of the item clicked on. The New button shoulf run a script in the letters file that creates a new record, grab the ID# from that new record, and set the global gLetterNum to that new ID. Both of these scripts should take you to the layout described in 4 below.
4) Create a layout in the Contacts file showing fileds from the Letters file as related by gLetterNum. It should display all the various fields in the letter file you would like the user to be able to edit/create including the name they will give to the letter. When the user arrives on this layout they can edit the already created letter if need be or they can create the new letter. When they click on the continue button they should be taken to the layout described in 5 and that layout should be printed for the currently chosen set of records (you can amplify on this by letting them print of preview and for all records or only the current record but that is another issue.
5) Create in the Contacts file a layout of the letter itself. Your address info should be drawn from the fields in y our contact file and the letter information will come from the Letters file as related by the gLetterNum value. This is, as I said, what prints.
If you need to do merges within the letter parts the users will need to know how to do a merge field when they create the letter, but this gets sticky and I haven't actually done it. We simply avoid having to do any not previously created merges. Greetings can already contain the proper merge without user intervention, and most other things can avoid the merge. I leave that for someone else to describe.
I hope this is clear and helps.
Chuck Boody (who has been doing this sort of thing since FileMaker version 1 and still enjoys it...)
 Signature Musicmad
Lynn allen - 28 Dec 2003 22:38 GMT > Is there any simple solutions I'm not seeing? Any suggestion? > I'd love to keep the letters separeted from the main dbase, so they will be > kept and possibly updated if needed. > > Thanks for any help. http://www.alchemy-group.com/letterkeys.html
Free. Have fun.
Lynn Allen
|
|
|