Infopath - linked to Access database - on load

S

Susan

I am trying to retrieve the user's network id on load of a form.This form is
linked to an Access database called OSS_Calls.mdb - table name OSS Calls
field name to update is Operator. I have my script language set to VB script
on the form.
I have tried different ways of passing the Operator field but keep getting
an "invalid character" on load.
I got this code from a post on this site.

Sub XDocument_OnLoad(eventObj
XDocument.DOM.selectSingleNode("my:myfields/my:datafields/my:Operator").text = Environment.UserName
End Sub

scenarios I have tried are

("my:myfields/my:Operator").text
("my:myfields/my:datafields/my:Operator").text
("my:myfields/my:datafields/d:OSS_Calls/my:Operator").text
("my:myfields/my:datafields/d:OSS_Calls/:Operator").text

I would appreciate anyone's input on what I am doing wrong, or if this will
work.
 
S

S.Y.M. Wong-A-Ton

I don't think this will work, Susan. "Environment.UserName" is not known in
VBScript; it can only be used in .NET (managed) code. I'm not sure what the
"invalid character" would be in the code, but what you can do is set the
expression to a static string like "Test Operator" first and see whether that
works.

So do something like:
XDocument.DOM.selectSingleNode("my:myfields/my:datafields/my:Operator").text
= "Test Operator"

and see if that works. And also, the namespace for "dataFields" might have
to be "dfs:" instead of "my:"; but it's hard to say without knowing what the
XML of your form looks like. Once you get that to work, you can use the
"WScript.Network" object to retrieve a user name. See
http://www.pctools.com/guides/scripting/detail/108/?act=reference and also do
a search in this newsgroup on "WScript Network UserName". If you're on Win
XP, I think you'll also have to install "Windows Script", otherwise the
WScript object will not be known.
 
C

Clay Fox

Hi Susan.

Identifying the user is very important for any workflow or audit ability in
your forms.

In my opinion, using a web service is easier for harvesting a user's Active
Directory information is the best.

A drop back of local code is that it often requires a full trust,
installable form and it returns the local user account. This can be a problem
in a VPN/RAS/ remote user situation where you would want their network/domain
credentials.

Here is a link with a video tutorial
http://www.qdabra.com/proddetail.asp?prod=QADWS


An Active Directory web service can be used codelessly and returns their
network credentials. It also will return address, full name, email,
location, manager, etc from Active Directory.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top