Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Capitalize the first letter of every word in Query 5

Status
Not open for further replies.

Kulguru

Programmer
Dec 15, 2000
4
0
0
US
The requirement is to write a query where on one column the retreived data should contain the first letter to be capitalized. The required functionality is same as PROPER function of Excel. This has to be done in MS Access. Any suggestions ?
 
This is an answer I got from this forum awhile ago...and it works!

A BETTER USE FOR STRCONV
When using proper names, you sometimes need to capitalize the first letter of
each word. For example, you need to convert "john smith" into "John Smith."
With VB3, you had to write a custom function to do the job; VB4's versatile
StrConv routine, on the other hand, lets you do it with one statement:

properName = StrConv(text, vbProperCase)

However, be aware that this variant of StrConv also forces a conversion
to lowercase for all the characters not at the beginning of a word. In other
words, "seattle, USA," is converted to "Seattle, Usa," which you don't want.
You still need to write a custom routine, but you can take advantage of
StrConv to reduce the amount of code in it:

Function ProperCase(text As String) As String
Dim result As String, i As Integer
result = StrConv(text, vbProperCase)
' restore all those characters that
' were uppercase in the original string
For i = 1 To Len(text)
Select Case Asc(Mid$(text, i, 1))
Case 65 To 90 ' A-Z
Mid$(result, i, 1) = Mid$(text, i, 1)
End Select
Next
ProperCase = result
End Function
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top