A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Mailmerge
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Email Merge in Word



 
 
Thread Tools Display Modes
  #21  
Old March 31st, 2009, 07:45 PM posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
external usenet poster
 
Posts: 4,550
Default Email Merge in Word

Hi Susan,

Thanks for getting back & glad it's now sorted.

Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Peter - I was copying and pasting from your comments into sql. And the error
messages I was receving didn't look like the text you had told me to put in
each column. Then I figured out that when I cut and pasted your programming,
the line carriage return () was also being copied into the sql. Once I
deleted these, it worked perfectly. I felt so stupid, but learned a great
lesson from you yesterday. Thanks for hanging in there for me. Without my
Microsoft Tech questions, I don't know what I would do. You guys/gals have
helped me tremendously with different issues as I get no support from my IT
department here.

Thanks so much again.

Susan

"Peter Jamieson" wrote:

Did you manage to work out from that what the character(s) causing the
problem was/were?

Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
That worked Peter. Thanks so much for your help!

"Peter Jamieson" wrote:

three columns, but when I ran the query I am stil coming up with
records that
have blank email address.

OK, but at least it ran :-)

Can you do me a favour and look at the SQL pane for that query, and
copy/paste the code in here? I'd just like to compare it with what we
tried before.

Let's try the other query now - I have modified it a bit:

The SQL version:
SELECT [DD2 LIST].Email1Address, [DD2 LIST].[FirstName] & ' ' & [DD2
LIST].[LastName] AS MergedName, Len(Trim(Email1Address)) AS Expr1,
Asc(Mid(Trim(Email1Address),1,1)) AS Expr2
FROM [DD2 LIST]
WHERE [DD2 LIST].Email1Address IS NOT NULL AND trim([DD2
LIST].Email1Address) ''

The query designer version:

Column 1
--------
Field: Email1Address
Table: DD2 LIST
Show: checked
Criteria: Is Not Null

Column 2
--------
Field: MergedName: [DD2 LIST].[FirstName] & ' ' & [DD2 LIST].[LastName]
Show: checked

Column 3
--------
Field: Expr1: Len(Trim(Email1Address))
Show: checked

Column 4
--------
Field: Expr2: Asc(Mid(Trim(Email1Address),1,1))
Show: checked

Column 2
--------
Field: Trim([DD2 LIST].[Email1Address])
Show: checked
Criteria: ''

(All the quotes in there are single quotes, but you can probably use
double quotes if you prefer).

With any luck, this should list the same records that you had before,
but tell us something about what is in Email1Address

BTW I may not be able to post back until tomorrow (UK time) now...


Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Yes, field name is DD2 List. I typed exactly what you told me to do in the
three columns, but when I ran the query I am stil coming up with records that
have blank email address. What's wrong with this damn program?

"Peter Jamieson" wrote:

This is so
frustrating

Yes. I have a feeling there is something different about the way our
Access systems are set up but as a different approach, perhaps it's
worth trying to copy the three columns that I see /in the visual designer/:

Column 1
--------
Field: Email1Address
Table: DD2 LIST
Show: checked
Criteria: Is Not Null


Column 2
--------
Field: MergedName: [DD2 LIST].[FirstName] & " " & [DD2 LIST].[LastName]
Show: checked


Column 3
--------
Field: Trim([DD2 LIST].[Email1Address])
Show: not checked
Criteria: ""

(FWIW I do not think it makes any difference here but I tend to use
single quotes rather than double quotes to surround strings in Access
queries, i.e.

Column 1
--------
Field: Email1Address
Table: DD2 LIST
Show: checked
Criteria: Is Not Null


Column 2
--------
Field: MergedName: [DD2 LIST].[FirstName] & ' ' & [DD2 LIST].[LastName]
Show: checked


Column 3
--------
Field: Trim([DD2 LIST].[Email1Address])
Show: not checked
Criteria: ''

The table is called "DD2 LIST"? (not, e.g. "DD2_LIST" ?)


Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Peter, it gives me DD2 - Enter Parameter Value and I click ok, and the blank
emails are still in there, but when I looked in the design view, under merged
name, this is what it shows.

MergedName: [DD2 LIST].[FirstName] & " " & [DD2

I tried to finish the string and it tells me the expression you entered
contains invalid syntax. You may have entered an operand without an operator

MergedName: [DD2 LIST].[FirstName] & " " & [DD2 LIST].[LastName]
LIST].[LastName]

This above is what I have now and the query will not run. This is so
frustrating - you'd think this should be so simple in Access and all you
should have to do is say is not null under Email1Address, but it's not.

Help!

"Peter Jamieson" wrote:

Hi Susan,

1. In that SQL pane, can you first try replacing what you have with

SELECT [DD2 LIST].Email1Address, [DD2 LIST].[FirstName] & " " & [DD2
LIST].[LastName] AS MergedName
FROM [DD2 LIST]
WHERE [DD2 LIST].Email1Address IS NOT NULL AND trim([DD2
LIST].Email1Address) ""

which is the query I think you should be running, so
a. try executing that
b. if you want, see how that "translates" to the settings in the
visual designer (at this point you may find it easier to work in the SQL
pane)

2. If that does not function, try

SELECT [DD2 LIST].Email1Address, [DD2 LIST].[FirstName] & " " & [DD2
LIST].[LastName] AS MergedName, Len(Trim("Email1Address")),
Asc(Mid(Trim("Email1Address"),1,1))
FROM [DD2 LIST]

which may give some further info.


Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Here Peter:

SELECT [DD2 LIST].Email1Address, [FirstName] & " " & [LastName] AS MergedName
FROM [DD2 LIST]
WHERE ((([DD2 LIST].Email1Address)=Len(Trim("Email1Address")) Or ([DD2
LIST].Email1Address)=Asc(Mid(Trim("Email1Address"),1,1) )));


"Peter Jamieson" wrote:

Susan,

What am I doing wrong?

I don't know - not necessarily anything.

NB I was intending these test queries to be executed entirely within
Access - is that what you are doing?

Can you please
a. look at the SQL for your query (if you haven't done this before,
try right-clicking in the title bar of the query designer and selecting
the SQL option) and copy/paste a copy here?
b. tell us exactly what the error message says?

Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Peter when I do this WHERE mystring is not null AND trim(mystring) '' I
get an error message about the string 2048 characters so it doesn't work.

I do this - len(trim(Email1Address))
asc(mid(trim(Email1Address),1,1)) and no records appear.
What am I doing wrong?

Susan

"Peter Jamieson" wrote:

1. FWIW you can probably reduce the criteria I suggested to

WHERE mystring is not null AND trim(mystring) ''

since the other condition should be taken care of by the trim() condition.

2. I think the next thing to do is check what's actually in that field
in some of the records that should be eliminated. (I tend to work
directly on the SQL, but if you are more familiar with the graphical
designer I'd try to stick with that).

3. e.g. add a few columns to your query such as
len(trim(Email1Address))
asc(mid(trim(Email1Address),1,1))

If the address looks blank but len(trim(Email1Address)) is 0 then the
field probably contains invisible non-space characters. The asc()
function should tell us what the first character is. You can use
asc(mid(trim(Email1Address),2,1))
etc. to look at the other characters.

Peter Jamieson

http://tips.pjmsn.me.uk

Susan May wrote:
Peter: I tried this WHERE mystring is not null AND mystring '' AND
trim(mystring) '' with mystring name as Email1Address, and it created 3
different columns with the criteria "is not null"; "; and
Trim(Emai1lAddress) with criteria ", and I'm still getting blank emails.
What did I do wrong?


"Peter Jamieson" wrote:

Also, when I set up my query, I selected the criteria for the email
address
field "is not null", and there are still some blank records with no
emails.

Different software packages can treat "null", "a string set to ''", and
"a string containing white space differently, and may also treat
variable-length and fixed-length data differently in this respect.

As far as Access is concerned, in some cases if you enter "white space",
Access leaves the field value as "null". However, if you set a text
value to '' in code, it isn't regarded as null but will otherwise look
no different to the user in many cases.

So generally speaking, you have to test a string for both null and
blank. to detect that in the SQL in Access you need something like

WHERE mystring is not null AND mystring ''

If the string could contain one or more spaces, you would probably need
to add another condition, e.g.

WHERE mystring is not null AND mystring '' AND trim(mystring) ''

but if mystring could contain other types of "whitespace" such as tabs,
non-breaking spaces, I think you would need to ask an Access person. You
might be able to use LIKE with a pattern to do it.


Peter Jamieson

http://tips.pjmsn.me.uk

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 10:31 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.