Hi,
Of course you can obtain several fields with the same LDAP request... As an example here is your request that retrieve mail AND givenname fields :
";(&(objectCategory=User)(samAccountName=" & vUser & "));mail,givenname;subtree"
As you can see, you just have to list the fields you want to obtain, separated by a comma.
Then, to get the result easily you can use this syntax :
objRecordset.Fields("givenname")
instead of your syntax (objRecordset.Fields.Item(0)) that use a field number... Using field number is a source of problem as soon as you change something in your LDAP request. If you change orders of fields in the request then you must change the field numbers in your code.
Using field names, as in the example I gave you, is easier and won't need any change if you change field order in the request.
Have a good day.