By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,987 Members | 997 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,987 IT Pros & Developers. It's quick & easy.

Names in a Combo Box

P: 16
Hi guys,
I'm trying to develop a little database of my store's clients. I made a combo box in which new clients can be added to the list. However, I don't know how to link a person's first name to it's last name in the form I'm using.
I used a table called Clients as the Row Source which includes the fields:First Name and Last Name.
In the form I want the programme to automatically list the First Name that goes with the Last Name that I choose from the list. I know it should be simple but I need some help.

Thanks in advance.
May 17 '07 #1
Share this Question
Share on Google+
25 Replies


MitchR
P: 63
You could use a DLookup Function on After update:

Expand|Select|Wrap|Line Numbers
  1. Private Sub NameOfBox_AfterUpdate()
  2.     Dim strLastName As String
  3.  
  4.     If Me!NameOfBox > "" Then
  5.         strLastName= "='" & DLookup("Clients", "LastName", _
  6.                                 "FirstName='" & Me!FirstName & "'") & "'"
  7.     Else
  8.         strLastName = ""
  9.     End If
  10.     Me!NameOfBox.ControlSource = strLastName
  11. End Sub
  12.  
This is untested and will need to be changed.
May 17 '07 #2

puppydogbuddy
Expert 100+
P: 1,923
In the query grid of your row source, add the following alias field to your row source:
FullName:[LastName] & ', " & [FirstName]

In order to display the FullName in your combobox, you will have to drag and position it as the next column after the bound column. the bound column is the first column (hidden column with width set to 0).
May 17 '07 #3

P: 16
Hi Mitch,
Thanks for your help, however I must tell you that I have no experience in code language. In stead of NameOfBox I consequently put the name of the Combo Box. That doesn´t seem to be right though. Could you tell me what to type instead of: Me!NameofBox and Me!NameofBox.ControlSource?

Thanks!

You could use a DLookup Function on After update:

Expand|Select|Wrap|Line Numbers
  1. Private Sub NameOfBox_AfterUpdate()
  2.     Dim strLastName As String
  3.  
  4.     If Me!NameOfBox > "" Then
  5.         strLastName= "='" & DLookup("Clients", "LastName", _
  6.                                 "FirstName='" & Me!FirstName & "'") & "'"
  7.     Else
  8.         strLastName = ""
  9.     End If
  10.     Me!NameOfBox.ControlSource = strLastName
  11. End Sub
  12.  
This is untested and will need to be changed.
May 21 '07 #4

P: 16
In the query grid of your row source, add the following alias field to your row source:
FullName:[LastName] & ', " & [FirstName]

In order to display the FullName in your combobox, you will have to drag and position it as the next column after the bound column. the bound column is the first column (hidden column with width set to 0).
Hi puppydogbuddy!
Thank for your help. I managed to create the combo box with the FullName variable in it.
I also inserted an event for the option NotinList in order to add new names to the Combo Box. However, I cannot add the new name that I type in the Combo Box into the FullName field. I guess I have to somehow decompose the new name (FullName) into FirstName and LastName again and than make Access store them in the underlying table?

Do you know how to do that?

Thanks!!!
May 22 '07 #5

puppydogbuddy
Expert 100+
P: 1,923
Hi puppydogbuddy!
Thank for your help. I managed to create the combo box with the FullName variable in it.
I also inserted an event for the option NotinList in order to add new names to the Combo Box. However, I cannot add the new name that I type in the Combo Box into the FullName field. I guess I have to somehow decompose the new name (FullName) into FirstName and LastName again and than make Access store them in the underlying table?

Do you know how to do that?

Thanks!!!
Hi Peter,
Yes, I do...the process is called parseing. I am going to give you a link to a powerful parseing function that you would place in a standard module and call it from your form code (e.g. the not in list code sub).

However, there might a better way to handle this. Try the following:
1. drag full name column all the way to the right so that the column order from left to right is Key, firstName, lastname, fullName. Set the widths of the colums as 0,.05", .07", 3.3"...You may have to play around with the widths of firstname,lastName.....but the idea is to make widths small enough that you can't see the 2 columns, but > 0 so that you will be typing into them by virtue of column order.

If you want to parse, here is your link:

http://www.tek-tips.com/faqs.cfm?fid=37
May 23 '07 #6

P: 16
Hi Peter,
Yes, I do...the process is called parseing. I am going to give you a link to a powerful parseing function that you would place in a standard module and call it from your form code (e.g. the not in list code sub).

However, there might a better way to handle this. Try the following:
1. drag full name column all the way to the right so that the column order from left to right is Key, firstName, lastname, fullName. Set the widths of the colums as 0,.05", .07", 3.3"...You may have to play around with the widths of firstname,lastName.....but the idea is to make widths small enough that you can't see the 2 columns, but > 0 so that you will be typing into them by virtue of column order.

If you want to parse, here is your link:

http://www.tek-tips.com/faqs.cfm?fid=37
Hi, thanks for your answer. I'm having some trouble though to insert the names in the table. Let me tell you what I've got so far, so you can see where lies the problem.

So far I created a Combo box based on a query with the following fields:
Expand|Select|Wrap|Line Numbers
  1.  qryClients: Key, FirstName, LastName and FullName 
  2. Bound column: 1
  3. Column width: 0 cm; 0.050 cm; 0.050 cm; 5 cm
  4.  
In the NotinList option I triggered the following event:

Expand|Select|Wrap|Line Numbers
  1.  
  2. Private Sub Combo38_NotInList(NewData As String, Response As Integer)
  3. intAnswer = MsgBox("The name" & Chr(34) & NewData & _
  4. Chr(34) & " isn´t on the list." & vbCrLf & _
  5. "Do you want to add it now?" _ 
  6. , vbQuestion + vbYesNo, "Express")
  7. If intAnswer = vbYes Then
  8. strSQL = "INSERT INTO qryClients([Fullname])" & _
  9. "VALUES ('" & NewData & "');"
  10. DoCmd.SetWarnings False
  11. DoCmd.RunSQL strSQL
  12. DoCmd.SetWarnings True
  13. MsgBox "The name has been added to the list." _
  14. , vbInformation, "Express"
  15. Response = acDataErrAdded
  16. Else
  17. MsgBox "Please select a name on the list." _
  18. , vbInformation, "Express"
  19. Response = acDataErrContinue
  20. End If
  21. End Sub
  22.  
When I introduce a name that is not on the list I get as response that ACCESS cannot insert anything into the field FullName.

Using the instructions you gave me, how would the NotinList code have to be changed?

Right now, in the combo the columns FirstName and LastName are hidden. When I pull down the list, the FullName appears and when I select a name on that list, just the FirstName is introduced in the field (because of Column Bound =1).

I hope I succeded in explaining my problem. I just got started with Access and I'm trying to apply some of what I read on the internet, but now and then I really nead a hand from an expert. Thanks in advance!!!
May 23 '07 #7

puppydogbuddy
Expert 100+
P: 1,923
Hi Peter,

Hopefully, your Not in List code won’t have to change if the following works:

Avoid making FullName the bound column- the bound column can not be Edited as you found out; try making the primary key of your table the bound column and try to set the width and column order as follows:

Try this first:

No of columns 4
Col widths: 0; 3.0 ; .10 ; .10

Col order: keyField; fullName;Last; First

The idea behind this is to see if fullName can be edited if last and first are made small enough so that you can’t see it, but big enough to see if leaving it active enables full name to be edited.

If that doesn’t work, try it this way:

No of columns 4
Col widths: 0; 1.5; 1.5; .02

Col order: keyField; Last;First;fullName

The idea behind the second setup is to enter last and first, making fullname small enough that you can’t see it, but leaving it available for use in not in list.
May 23 '07 #8

P: 16
Thanks for your answer, however the trick with the columns didn't work.

Now I wanted to try the parse code you send me but it gives me an error message. Do you know what I should fill in the first row of the code between the brackets?

I think it says ParseName()
Thanks!

PS. Just a small other question. I introduced a calculation in the form in which
c=a-b, being a,b,and c fields in the form. The calculation works well only that there is a problem when b=0. I asigned it a standard value of 0, but the calculation only works when I manually introduce the value 0. Any suggestions?

Thanks, I really appreciate your help.
May 24 '07 #9

puppydogbuddy
Expert 100+
P: 1,923
Thanks for your answer, however the trick with the columns didn't work.

Now I wanted to try the parse code you send me but it gives me an error message. Do you know what I should fill in the first row of the code between the brackets?

I think it says ParseName()
Thanks!

PS. Just a small other question. I introduced a calculation in the form in which
c=a-b, being a,b,and c fields in the form. The calculation works well only that there is a problem when b=0. I asigned it a standard value of 0, but the calculation only works when I manually introduce the value 0. Any suggestions?

Thanks, I really appreciate your help.
Hi Peter,

Sorry the tricks did not work.

In answer to your first question about ParseName(), nothing goes in the brackets because they are empty brackets, but whenever you call the function, you call it without the brackets like this:

Call ParseName (See Details for the Parseing Function below)

In reference to your second question, if I understood you correctly that a,b and c are textbox controls on your form, your assignment statement should be as follows:

c.value = a.value – b.value

and if you want b to default to 0, you can set the default value property for that control to 0


----------------Details for the Parsing Function---------------

The instructions said to just copy the whole thing into a new module, replace the bolded area's with your actual table name and the actual field name of the field to be parsed------>FullName, respectively.

Change this:
Expand|Select|Wrap|Line Numbers
  1. Set db = CurrentDb()
  2. Set rs = db.OpenRecordset("TableNameHere", dbOpenDynaset) 'open appropriate table
  3. Set fldName = rs![NameFieldHere] 'single name field
To This:
Expand|Select|Wrap|Line Numbers
  1. Set db = CurrentDb()
  2. Set rs = db.OpenRecordset("YourTable Name", dbOpenDynaset) 'open appropriate table
  3. Set fldName = rs![FullName] 'single name field that is to be parsed
  4.  
May 24 '07 #10

P: 16
Hi puppydogbuddy!

I solved the problem with the calculation. I had used an AFTER UPDATE event and it should be an ENTER event.

About changing the tablename and the fieldname, that I had understood. In the module view however, when I introduce the tablename I get the message: "An expression was expected here".

Just for the record: I go to module view, paste the whole function in the window, paste the code in the immediate window and that's it? Or must I go to the NotinList option and paste it there?

I'm sorry I'm so stubborn about this. It's just that I've got everything ready to run the program in our store and this is the last bottle neck. Thanks again for your patience!!!
May 24 '07 #11

puppydogbuddy
Expert 100+
P: 1,923
Hi puppydogbuddy!

I solved the problem with the calculation. I had used an AFTER UPDATE event and it should be an ENTER event.

About changing the tablename and the fieldname, that I had understood. In the module view however, when I introduce the tablename I get the message: "An expression was expected here".

Just for the record: I go to module view, paste the whole function in the window, paste the code in the immediate window and that's it? Or must I go to the NotinList option and paste it there?

I'm sorry I'm so stubborn about this. It's just that I've got everything ready to run the program in our store and this is the last bottle neck. Thanks again for your patience!!!
Hi Peter,
No problem whatsoever. In looking over the parse code and your not in list code, it was difficult for me to figure it out, so no one could possibly expect you to figure it out on your own.
As usual there was one complication that required a work around. I did not realize that the word “quot” that you see in the ParseName code is an Oracle Server reserved word for the quotation mark delimiter, and that is why you were getting an error message. The work around….since it is not an Access reserved word, I declared it as a variable and assigned it the value of “. Hopefully that will work without any problems.
Regarding your question about pasting the call statement in the immediate window….that is just for testing/debugging so don’t worry about that. You do have to paste the whole function in a standard module and compile it along with your other code. Below, I provided you with specific instructions as to the changes to your “Not in List” code, changes to the ParseName function, and I provided you instructions on how to call the ParseName from the Not in List code. If it works the way it is supposed to, the ParseName code will parse NewData and update the First and Last Name fields in your table. If you have any problems with it, don’t hesitate to let me know….we’ll get it done.
In Your Code
---------------
Change this:
Expand|Select|Wrap|Line Numbers
  1. strSQL = "INSERT INTO qryClients([Fullname])" & _
  2. "VALUES ('" & NewData & "');"
  3. DoCmd.SetWarnings False
  4. DoCmd.RunSQL strSQL
  5.  
To this:
Expand|Select|Wrap|Line Numbers
  1. DoCmd.SetWarnings False
  2. Call ParseName ‘ use this syntax only if needed: "Call ParseName"
  3.  
In the ParseName code
-------------------
Add the following line to the Declarations section:
Expand|Select|Wrap|Line Numbers
  1. Dim quot As String ‘ Delimiter---à “
  2. quot = “ ‘ assign “ delimiter to string variable
  3.  
Change this:
Expand|Select|Wrap|Line Numbers
  1. Set fldName = rs![FullName]
  2.  
To this:
Expand|Select|Wrap|Line Numbers
  1. Set fldName = rs!(NewData) 
  2.  
May 25 '07 #12

P: 16
Thanks a lot for all the trouble! I'll try it out right away and let you know!

Greetings,
Peter
May 25 '07 #13

P: 16
Hi,
I got an error message on this part:

[font=Tahoma]Dim quot As String ‘ Delimiter---[/font][font=Wingdings][font=Wingdings]à[/font][/font][font=Tahoma] “[/font]

[font=Tahoma] [/font]

[font=Tahoma]quot = “ ‘ assign “ delimiter to string variable[/font]

It may be because I get your message with all the font specifications included.
Should it be like this?

Dim quot As String ‘ Delimiter---à“
quot = “ ‘ assign “ delimiter to string variable

Thanks!
May 25 '07 #14

puppydogbuddy
Expert 100+
P: 1,923
Hi,
I got an error message on this part:

[font=Tahoma]Dim quot As String ‘ Delimiter---[/font][font=Wingdings][font=Wingdings]à[/font][/font][font=Tahoma] “[/font]

[font=Tahoma] [/font]

[font=Tahoma]quot = “ ‘ assign “ delimiter to string variable[/font]

It may be because I get your message with all the font specifications included.
Should it be like this?

Dim quot As String ‘ Delimiter---à“
quot = “ ‘ assign “ delimiter to string variable

Thanks!
Yes....I hope it works. I am repeating it below without the comments:

Dim quot As String

quot = "
May 25 '07 #15

P: 16
Yes....I hope it works. I am repeating it below without the comments:

Dim quot As String

quot = "
Hi, it's me again... still with some problems, sorry...
1. When I type quote = " the programme automatically adds another ", so I get quote = ""
2. As soon as I type the TableName in the required field the programme says: An expression was expected here.

After all the efforts you've done to help me I feel bad to bother you again, but maybe we could give it a last shot? Thanks a lot!
May 25 '07 #16

puppydogbuddy
Expert 100+
P: 1,923
Peter,
Don’t worry about it. Several of our members are interested in the outcome of the parse function as used here, so I want to get it right.

I decided to compile the code myself. I took out quot and inserted " or "" as applicable.. The code comples on my end and should be good to go. Copy and paste over your previous code, then recompile and test. Let me know.


---------------------------------------------
Expand|Select|Wrap|Line Numbers
  1.  Option Compare Database 
  2. Option Explicit
  3.  
  4. Public Function ParseName()
  5. 'This function breaks apart a single name field into seperate first, last & middle initial fields.
  6. 'This will work for a name entered in any of the following ways:
  7. ' {Smith, John} {Smith, John D} {Smith, John D.}
  8. ' {Smith,John} {Smith,John D} {Smith,John D.}
  9. ' {Smith John} {Smith John D} {Smith John D.}
  10.  
  11. 'Start by adding 3 fields to the table where your single name field is (firstname, lastname, & MI)
  12.  
  13. On Error GoTo Parse_Err
  14.  
  15. Dim db As Database
  16. Dim rs As Recordset
  17. Dim fldName As Field
  18. Dim x As Integer
  19. Dim strLast As String, strFirst As String, strMI As String
  20.  
  21.  
  22.  
  23. Set db = CurrentDb()
  24. Set rs = db.OpenRecordset("qryClients", dbOpenDynaset) 'open appropriate table
  25. Set fldName = (rs!NewData) 'single name field
  26.  
  27. DoCmd.Hourglass True
  28. Do Until rs.EOF
  29. If IsNull(rs!FirstName) Then
  30. x = InStr(1, fldName, "", "")
  31. If x = 0 Then
  32. x = InStr(1, fldName, "")
  33. strLast = Left(fldName, x - 1)
  34. strFirst = Mid(fldName, x + 1)
  35. If Right(strFirst, 1) = "." Then
  36. strMI = Right(strFirst, 2)
  37. strFirst = Left(strFirst, Len(strFirst) - 3)
  38. Else
  39. If Mid(strFirst, Len(strFirst) - 1, 1) = Chr(32) Then
  40. strMI = Right(strFirst, 1)
  41. strFirst = Left(strFirst, Len(strFirst) - 2)
  42. Else
  43. strMI = ""
  44. strFirst = strFirst
  45. End If
  46. End If
  47. Else
  48. If Mid(fldName, x + 1, 1) = Chr(32) Then
  49. strLast = Left(fldName, x - 1)
  50. strFirst = Mid(fldName, x + 2)
  51. If Right(strFirst, 1) = "." Then
  52. strMI = Right(strFirst, 2)
  53. strFirst = Left(strFirst, Len(strFirst) - 3)
  54. Else
  55. If Mid(strFirst, Len(strFirst) - 1, 1) = Chr(32) Then
  56. strMI = Right(strFirst, 1)
  57. strFirst = Left(strFirst, Len(strFirst) - 2)
  58. Else
  59. strMI = ""
  60. strFirst = strFirst
  61. End If
  62. End If
  63. Else
  64. strLast = Left(fldName, x - 1)
  65. strFirst = Mid(fldName, x + 1)
  66. If Right(strFirst, 1) = "." Then
  67. strMI = Right(strFirst, 2)
  68. strFirst = Left(strFirst, Len(strFirst) - 3)
  69. Else
  70. If Mid(strFirst, Len(strFirst) - 1, 1) = Chr(32) Then
  71. strMI = Right(strFirst, 1)
  72. strFirst = Left(strFirst, Len(strFirst) - 2)
  73. Else
  74. strMI = ""
  75. strFirst = strFirst
  76. End If
  77. End If
  78. End If
  79. End If
  80.  
  81. With rs
  82. .Edit
  83. !LastName = strLast
  84. !FirstName = strFirst
  85. !MI = strMI
  86. .Update
  87. .MoveNext
  88. End With
  89. Else
  90. rs.MoveNext
  91. End If
  92. Loop
  93. DoCmd.Hourglass False
  94.  
  95. rs.Close
  96. db.Close
  97.  
  98. Parse_Exit:
  99. Exit Function
  100.  
  101. Parse_Err:
  102. DoCmd.Hourglass False
  103. MsgBox Err.Number & ":" & ErrDescription
  104. Resume Parse_Exit
  105. End Function
  106.  
May 26 '07 #17

P: 16
Hi, when running the program I get the message:
Compilation error
The type hasn´t been defined by the user.
It points to the line: Dim db As Database
May 26 '07 #18

puppydogbuddy
Expert 100+
P: 1,923
Hi, when running the program I get the message:
Compilation error
The type hasn´t been defined by the user.
It points to the line: Dim db As Database
Hi Peter,
My compiler did not catch that!
Change this:
Dim db As Database
Dim rs As Recordset

To This:
Dim db As DAO.Database
Dim rs As DAO.Recordset

Make sure you have a reference set to DAO in the VB reference Library.
May 26 '07 #19

P: 16
Hi Peter,
My compiler did not catch that!
Change this:
Dim db As Database
Dim rs As Recordset

To This:
Dim db As DAO.Database
Dim rs As DAO.Recordset

Make sure you have a reference set to DAO in the VB reference Library.
AARGHH... I get another message:
Compilation error.
Variable has not been defined.

It points to the line on the end:
MsgBox Err.Number & ":" & ErrDescription

Would it be possible for you to send me your testfile so I can compare it to mine?
May 26 '07 #20

puppydogbuddy
Expert 100+
P: 1,923
AARGHH... I get another message:
Compilation error.
Variable has not been defined.

It points to the line on the end:
MsgBox Err.Number & ":" & ErrDescription

Would it be possible for you to send me your testfile so I can compare it to mine?
Peter,
The code I sent you was verbatim from the file I compiled. What is happening is that you have a later version of Access then I do (I have Access 2000) and the compiler on your version is a little more sophicated. Give it a chance....we are almost there.........;;;;; that compile error was due to <<<ErrDescription>>>> should have been Err.Description

change this:
MsgBox Err.Number & ":" & ErrDescription

To this:
MsgBox Err.Number & ":" & Err.Description
May 26 '07 #21

P: 16
Peter,
The code I sent you was verbatim from the file I compiled. What is happening is that you have a later version of Access then I do (I have Access 2000) and the compiler on your version is a little more sophicated. Give it a chance....we are almost there.........;;;;; that compile error was due to <<<ErrDescription>>>> should have been Err.Description

change this:
MsgBox Err.Number & ":" & ErrDescription

To this:
MsgBox Err.Number & ":" & Err.Description
Hello Again!
I changed the line. When I try to introduce a name not in the combo list I get:

3265: Didn't find the element in this collection

After that I get the message: "The name has been added to the list", but it really wasn't added neither parsed.

Any clues? Thanks!
May 26 '07 #22

puppydogbuddy
Expert 100+
P: 1,923
Hello Again!
I changed the line. When I try to introduce a name not in the combo list I get:

3265: Didn't find the element in this collection

After that I get the message: "The name has been added to the list", but it really wasn't added neither parsed.

Any clues? Thanks!
Hi Peter,

The revised “NotInList” event code is shown below and works on my end. I simplified the code by including a more efficient parse code built into the “NotInList” event code. You no longer have to call the ParseName function. In conjunction with the elimination of the separate ParseFunction, the following changes were also made.
1. the combobox cboFullName was bound to the FullName control in the query/table and the concatenation expression combining first and last was eliminated because the notInList event code inserts fullname, last and first to the table.
2. the parse code was designed to parse two formats:
FirstName LastName
LastName, FirstName
3. You need to integrate to your application and let me know how it goes.

The code:
Expand|Select|Wrap|Line Numbers
  1. Option Compare Database
  2. Option Explicit
  3.  
  4. Private Sub cboFullName_NotInList(NewData As String, Response As Integer)
  5. Dim intAnswer As Integer
  6. Dim strSQL As String
  7. Dim strFirstName As String, strLastName As String, strFullName As String    'for capturing the parsed components ofFullName
  8.  
  9. 'the fullname entered is not the table list; prompt user to ok adding it to list
  10. intAnswer = MsgBox("The name" & Chr(34) & NewData & _
  11. Chr(34) & " isn´t on the list." & vbCrLf & _
  12. "Do you want to add it now?" _
  13. , vbQuestion + vbYesNo, "Express")
  14.  
  15. ' Background process for Parseing fullname entry into first and last name
  16. strFullName = Trim(CStr(NewData)) ' Change Variant to String
  17. If InStr(1, strFullName, ",") = 0 Then     'fullname entered----> First Last
  18.        strFirstName = Left(strFullName, InStr(strFullName, " ") - 1)
  19.        strLastName = Right(strFullName, Len(strFullName) - InStrRev(strFullName, " "))
  20. ElseIf InStr(1, strFullName, ",") > 0 Then  'fullname entered----> Last, First
  21.         strLastName = Left(strFullName, InStr(strFullName, ",") - 1)
  22.         strFirstName = Right(strFullName, Len(strFullName) - InStrRev(strFullName, ",") - 1)
  23. Else
  24.         MsgBox "You entered the name without a separator between First and Last Name."
  25.         Exit Sub
  26. End If
  27.  
  28.  
  29. 'insert parsed components captured in strFullName, strFirstName, and strLastName to the table
  30. If intAnswer = vbYes Then
  31.     strSQL = "INSERT INTO qMemberList(Fullname, FirstName, LastName)" & _
  32.     "VALUES ('" & strFullName & "', '" & strFirstName & "', '" & strLastName & "');"
  33.     DoCmd.SetWarnings False
  34.     DoCmd.RunSQL strSQL
  35.     DoCmd.SetWarnings True
  36.  
  37.     MsgBox "The name has been added to the list." _
  38.         , vbInformation, "Express"
  39.     'acDataAdded causes the combobox to get requeried, the new item is selected, and the focus moves
  40.     Response = acDataErrAdded
  41. Else
  42.     MsgBox "Please select a name on the list." _
  43.     , vbInformation, "Express"
  44.     Response = acDataErrContinue
  45. End If
  46. End Sub
  47.  
May 29 '07 #23

P: 16
Wow!!! You put a lot of effort in it, awesome!! I'll try it out right away and inform you on how it went. Thanks!
May 29 '07 #24

P: 16
IT WORKS!!!!! Great!
I especially like the fact that I can introduce middle names as well. I work a lot with Latin people who often use many names such as, José María de Jesús González. The programme effectively separates the last name from the first names via the comma.

It's hard to find people who really take time to help others as you did. Thanks a lot puppydogbuddy! I wish you the best!!!

Greetings,
Peter
May 29 '07 #25

puppydogbuddy
Expert 100+
P: 1,923
Peter,
Glad I could help. Thanks for the feedback.
PDB
May 29 '07 #26

Post your reply

Sign in to post your reply or Sign up for a free account.