Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 6706 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

hi!

i´m trying to compose some e-mails that i want looking more peronalised than they really are... what i want to do is to link the mail to different fields, name, age, and so on to get at more personal e-mail. example:

dear (insert_name),

happy (insert_age):th birthday. i am sending you a nice (insert_gift), hope you will enjoy it!

the problem is that whenever i go to insert something in the textfield it erases everything else in that field. i need to how to make it differ on the regular texts and the look_up feilds.

i know my morals on sending familymembers e-mails are of the shart, but hey, i just dont have any...

Posted

Hi Nils

As you have discovered you have to hit the text field only once or else you only get the last input.

One way you do this is set the message as a calc and to do what you want it would look like this

"Dear"&" "&insert_name & :paragraph:& :paragraph:"Happy"&" "&Insert_age&":th Birthday"

etc.....I am sure you get the picture.

It is a very rudimentary way of entering text into an email and it does not allow for text formatting etc but it might help you achieve something better than nothing

Phil

Posted

thanks!

follow up q though. lets say i want the mail to go to an undefiend group of people, all of them greated in the mail. i got a list of people that i get from a field in a portal, the number of people vary. i want it to put in all the names untill theres no more names to insert. do you get what im trying to do? example:

dear "& people_name1, people_name2, people_name3... and so on untill my list is up&"

you are all invited to a party tonight...

they are ofcourse not named "name2" and so on, they are simply entries in my contact table, but i still want them allt o show up in the mail.

any ideas?

Posted

...That sort of ruins the whole purpose of individualizing the mail. But anyway, you would have to collect all the names via a looping script first i.e.:

Loop

Set Variable[$$names ; $$names & insert_name & ", "]

Exit Loop If [Get(RecordNumber) = Get(FoundCount) - 1]

Go To Record [Next]

End Loop

Go To Record [Next]

Set Variable[$$names ; $$names & insert_name]

Then in the message you could specify

"Dear " & $$names & "¶¶" & "You are all invited to my party tonight¶¶Sincerely " & sign_off_field

Posted

k... where do i load the scrip? should i do it in the button config before i sen the mail? sort of:

execute script"mail_all"

send mail

is this the right way to go?

Posted

Hi Nils

Yes, that is it basically. Set up a script which sets a global field (or perhaps a variable maybe - I must try that)anyway set up your field/variable to contain the text that you wish to be displayed in your email and then issue the send email step.

At that point you can nominate the message in the email to be a field ie your text field (or variable if that is possuble)

HTH

Phil

Posted

i think i have to explain something because i still cant get the code (Genx) to work...

im getting the names from a single field in a diffrent table, ive just modified the field to repeat 20 times and i need all the post out of that field...

besides when i use the " & $$names &" command in the email, nothing shows up at all?

Posted

... you should be using content & $$names & content

Im not 100% variables will work (only around 95%) - And repeating fields, don't ask me about them, i just choose to be completely ignorent of them even though while they may still have a couple of uses here and there, they are said to be remenants of pre-relational filemaker.

Posted

Regarding the use of variables here though, there is no reason it shouldn't work.

Variables are good for everything except getting user input, and displaying things on layouts.

Posted

thanks.. ill try to work something out, not completely sure how to get it to work...

by content i assume you mean the field content which in this case would be "family_name"?

Posted

No no no no, i mean just other content in your email...

For example this could be your email:

"Dear everyone, I am writing this email in regards to the party coming up on " & Parties::Party_Date & ". The following people are invited: " & $$names & ". Thank you for your attention. Regards, Willace"

Posted

The steps would basically be:

Run the above mentioned script first to set your variable $$names.

Then simply specify your e-mail to whomever you want using the step send-mail - specifying the email as a calculation and specifying $$names as part of that calculation - where ever you want that list that the script generates to appear.

Hope this helps

Posted (edited)

im still not getting it to show the names!!!

currently im just getting a blank where the names suppose to be. it think it might have something to do with the Get(CountRecords) thing since im not really using records. i want it to count the entries in a specific field "people_names"...

gah... i bet this is just a simple problem, seems like it, just feels like im overlooking something...

Edited by Guest
Posted

"Get(CountRecords)" ??

"not really using records"??

I think you might be overlooking to use some records!!

How do you expect to get any names if you are not using any records ?

Phil

Posted

Phil's got a point..

Get(CountRecords) isn't a function as far as i know. You might mean Get(RecordCount), but if you use that, then you are restricted to operating with all records, not being able to narrow down using a found set. Further, you have to add a show all record step into the script mentioned above.

Please make your scenario a bit clearer.

Cheers,

~Genx

Posted

sorry, i ment Get(FoundCount)...

ill try to clear things up a bit.

i got a repeating field called people_names, in a table called people_groups. people_groups consists of diffrent records, one for family, one for work, and so on (thats not really important).

i want to collect all the names from this repeating field and stick them into the mail. thats my problem...

im attaching my file (should have done that long time ago... sorry :) hopefully you can help me using it...

thanks!

people_mail.zip

Posted

... Rethink your structure, repeating fields are not good for this pretty much full stop. Just use a related structure, much easier.

I don't understand why you've used a relationship in one section and gone repeating field in the other one.

Point is, if your desperate to use repetitions, use a similar script to the above, but instead loop over it using GetRepitition() function.

Posted

all i get the GetRepetition() function to do is still just to list ONE name... thats whats bothering me, why cant the darn thing just collect all names?

GetRepetition(if (IsEmpty(people_names) != true) $names;$$names & ", ")

is this anything close?

Posted

Not exactly, because you want to loop through the repitition numbers up to twenty, it gets a bit more complicated, because you have to tell it what repitition you want it to retrieve the info from.

So we have to specify an additional variable, in this case perhaps $i .. why not.

Then we use something similar to the following (keep in mind i don't deal / like to deal with reps so you have to test this yourself):

SetVariable[$$names ; ""]

SetVariable[$i ; 1]

Loop

SetVariable[$$names ;

Let[color:red](GetRepetition(YourNamesField ; $i) = rep ;

If[color:blue](IsEmpty($$names) and IsEmpty(rep) ; "" ;

If[color:green](IsEmpty($$names) and not IsEmpty(rep) ; rep ;

If[color:purple](not IsEmpty(rep) ; $$names & ", " & rep ; $$names[color:purple])

[color:green])

[color:blue])

[color:red])

]

Exit Loop If[Get(ActiveRepetitionNumber) = 20]

SetVariable[$i ; $i + 1]

End Loop

Posted

sorry, didnt work :

thanks for the example though... ill try to build something round it, looks like your are on the right track though...

Posted

You for serious? I thought that would work... instead of all that junk i put in the middle try just putting

SetVariable[$$names ; $$names & GetRepitition(YourNameField ; $i ) ]

Posted

repeating fields are not good for this pretty much full stop

Yes indeed subtleties are needed here, since our list mom(s) exercise of justice (not wearing their swords in vain) is not entirely based on common sense, only ethnical common sense i'm afraid, and borrows from a notion of being occupied (St. Paul and Hobbes) ...you have to realize that the anglosaxon successes as such, so far have been driven by exactly this paranoid fear for loosing punters, but if this REALLY qualifies an urge use of codified messages - is a standing dispute between the mom(s) and your's sincerly : :P

--sd

Posted

Nope soren, you've done that whole think where you've lost me again :. I do remember the hobbes though :P, codification i understand in a random legal sense, but nope. Over my head :P.

Posted

sorry dude... that didnt work either... you have any solutions to this problem if i used something else than repeating fields? i really dont wanna give up my idea (cause it felles like the darn computer wins :) ) but as everything this thing has got a deadline...

please keep posting ideas on the repeating field (im gonna call up filemaker support and get annoying aswell), but if you could provide me with a substitute i be gratefull!

Posted

solved it... he he he

setvariable[$$i; count(people::names)]

setvariable[$$k; $$i]

loop

setvariable[$$i; people::names[$$k]]

setvariable[$l; $l &", " & $$j]

exit loop if [$$i=$$k]

setvariable[$$k; $$k +1]

end loop

voila!

Posted

The problem you'll run into is if a repetition is empties along the way, your Count( makes you stop in a wrong place!

I think you would better off with a textfield instead, but you can drag the horse to a waterhole, but you can't force it to drink! So you would need to make a test with perhaps this CF:

http://www.briandunning.com/cf/450

...to establish blanks along the scripting!

But the adresses are bound to be in a related table anyway, so why can't a Substitute(ValueListItems(Get(FileName);"YourDynamicList");"¶";", ")

...or a found set, dealt with this way:

http://www.nightwing.com.au/FileMaker/demos8/DynamicSummary.zip

Here poke into the CF's and change the GetValueSet( function to use comma-space as delimiter instead

GetNthRecord ( Field; StartValue ) &

If(IsValid(GetNthRecord ( Field; StartValue + 1));

¶ & GetValueSet(Field; StartValue + 1))

...or just make the Substitute( as I did with ValueLists(

--sd

This topic is 6706 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.