Prev: update tables
Next: ciao
From: J_Goddard via AccessMonster.com on 9 Mar 2010 17:12 Hi - You could also try the MS Access function Environ, which returns the current value of a specified Environment variable. Since you are on a network, there is almost certainly going to be an environment variable with the current user login name. For example, on my network, environ("username") returns my login name. Might work for you, if all your users are in the same environment. John xbound wrote: >I have the following code to get the network login name: > >Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ >"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long > >Function fOSUserName() As String >' Returns the network login name > Dim lngLen As Long, lngX As Long > Dim strUserName As String > strUserName = String$(254, 0) > lngLen = 255 > lngX = apiGetUserName(strUserName, lngLen) > If lngX <> 0 Then > fOSUserName = Left$(strUserName, lngLen - 1) > Else > fOSUserName = vbNullString > End If >End Function > >This code is available widely from the internet and I've been using it in a >couple of my Access projects with no problem. Then lately I created a new >Access project and import the form containing that piece of code straight >from one of the old projects. However; as soon as that function is >entered, I would get an error : "Compile error. Type declaration does not >match declared data type." such that I couldn't examine the values of >variables there. It seems the statement "fOSUserName = Left$(strUserName, >lngLen - 1)" is causing trouble. If I comment out that statement, I don't >get any error but of course I won't get the network login name either. As >a precaution I stepped through the function in the old project and found >that everything is working as expected. > >The old adp projects were created in Access 2003 on a XP workstation. The >new project was created in Access 2007 on a Win 7 workstation. Since the >old projects are functioning perfectly on the Win 7 machine, I gather that >the Access version and the OS platform are not the issues. This only >makes the problem more baffling to me. Maybe someone could spot or have >an idea what I've missed? > >thanks. -- John Goddard Ottawa, ON Canada jrgoddard at cyberus dot ca Message posted via AccessMonster.com http://www.accessmonster.com/Uwe/Forums.aspx/access/201003/1
From: xbound on 9 Mar 2010 18:11 Yes it is. Even if it is not, I don't think one would get "Compile Error" Right now, the Compile Error pops up at the moment when Stepping Into the line "Function fOSUserName() As String"; while at the same time the debugger would highlight "LEFT$" several lines down. Then can't go on anymore. "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message news:uf7LJ28vKHA.812(a)TK2MSFTNGP06.phx.gbl... > xbound, > > Is your database in a Trusted Location? > > http://www.regina-whipp.com/index_files/TrustedLocation.htm > > -- > Gina Whipp > 2010 Microsoft MVP (Access) > > "I feel I have been denied critical, need to know, information!" - Tremors > II > > http://www.regina-whipp.com/index_files/TipList.htm > > "xbound" <ekwong999(a)hotmail.com> wrote in message > news:F5B63B0B-888C-48C4-AA96-30E5DDB2EEC0(a)microsoft.com... > I run the thing today and it's NOT working again. Really frustrating.... > > "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message > news:unE1uo7vKHA.812(a)TK2MSFTNGP06.phx.gbl... >> Glad to hear all is well! >> >> -- >> Gina Whipp >> 2010 Microsoft MVP (Access) >> >> "I feel I have been denied critical, need to know, information!" - >> Tremors >> II >> >> http://www.regina-whipp.com/index_files/TipList.htm >> >> "xbound" <ekwong999(a)hotmail.com> wrote in message >> news:42D4867D-7A35-4143-8B95-23785ACF81A9(a)microsoft.com... >> I've posted back last week but for some reason it's not showing up. >> >> Thanks for all the responses. After applying SP2, the compile error >> went >> away. Things like this is really hard to troubleshoot ...... >> >> >> "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message >> news:OvNoAiMvKHA.5340(a)TK2MSFTNGP04.phx.gbl... >>> Mark, >>> >>> Hopefully, the OP will post back. I found I had to run my Access 2003 >>> in >>> compatiblity mode, aslo 64 bit but my Access 2007 is fine as long as in >>> a >>> Trusted Location. But all we can do is wait and see... >>> -- >>> Gina Whipp >>> 2010 Microsoft MVP (Access) >>> >>> "I feel I have been denied critical, need to know, information!" - >>> Tremors >>> II >>> >>> http://www.regina-whipp.com/index_files/TipList.htm >>> >>> "Mark Andrews" <mandrews___NOSPAM___(a)rptsoftware.com> wrote in message >>> news:eFuvyNMvKHA.5980(a)TK2MSFTNGP05.phx.gbl... >>> Mine is 64bit. Not in compatibility mode. However I'm not the one with >>> the >>> issue. >>> Mark >>> >>> "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message >>> news:uwKmlKLvKHA.1964(a)TK2MSFTNGP04.phx.gbl... >>>> Was that Windows 7 64 bit or 32 bit? And are either of you running in >>>> Compatibly Mode? >>>> >>>> "Mark Andrews" <mandrews___NOSPAM___(a)rptsoftware.com> wrote in message >>>> news:uRbAA6KvKHA.1796(a)TK2MSFTNGP02.phx.gbl... >>>> I just copied your code into a new database in Access 2007 sp2 on my >>>> Windows >>>> 7 laptop and it worked fine. >>>> >>>> HTH, >>>> Mark >>>> >>>> "xbound" <ekwong999(a)hotmail.com> wrote in message >>>> news:162CFB93-ADF0-4D33-9495-5B8FF564C99E(a)microsoft.com... >>>>> I have the following code to get the network login name: >>>>> >>>>> Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ >>>>> "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long >>>>> >>>>> Function fOSUserName() As String >>>>> ' Returns the network login name >>>>> Dim lngLen As Long, lngX As Long >>>>> Dim strUserName As String >>>>> strUserName = String$(254, 0) >>>>> lngLen = 255 >>>>> lngX = apiGetUserName(strUserName, lngLen) >>>>> If lngX <> 0 Then >>>>> fOSUserName = Left$(strUserName, lngLen - 1) >>>>> Else >>>>> fOSUserName = vbNullString >>>>> End If >>>>> End Function >>>>> >>>>> >>>>> This code is available widely from the internet and I've been using it >>>>> in >>>>> a couple of my Access projects with no problem. Then lately I >>>>> created >>>>> a >>>>> new Access project and import the form containing that piece of code >>>>> straight from one of the old projects. However; as soon as that >>>>> function >>>>> is entered, I would get an error : "Compile error. Type declaration >>>>> does >>>>> not match declared data type." such that I couldn't examine the >>>>> values >>>>> of variables there. It seems the statement "fOSUserName = >>>>> Left$(strUserName, lngLen - 1)" is causing trouble. If I comment out >>>>> that >>>>> statement, I don't get any error but of course I won't get the network >>>>> login name either. As a precaution I stepped through the function >>>>> in >>>>> the old project and found that everything is working as expected. >>>>> >>>>> The old adp projects were created in Access 2003 on a XP workstation. >>>>> The new project was created in Access 2007 on a Win 7 workstation. >>>>> Since >>>>> the old projects are functioning perfectly on the Win 7 machine, I >>>>> gather >>>>> that the Access version and the OS platform are not the issues. >>>>> This >>>>> only makes the problem more baffling to me. Maybe someone could >>>>> spot >>>>> or >>>>> have an idea what I've missed? >>>>> >>>>> thanks. >>>> >>> >> >
From: John W. Vinson on 9 Mar 2010 18:35 On Tue, 9 Mar 2010 15:11:58 -0800, "xbound" <ekwong999(a)hotmail.com> wrote: >Yes it is. Even if it is not, I don't think one would get "Compile Error" > >Right now, the Compile Error pops up at the moment when Stepping Into the >line "Function fOSUserName() As String"; while at the same time the >debugger would highlight "LEFT$" several lines down. Then can't go on >anymore. This appears to be the very common References bug. Open any module in design view, or open the VBA editor by typing Ctrl-G. Select Tools... References from the menu. One of the ..DLL files required by Access will probably be marked MISSING. Uncheck it, recheck it, close and open Access. If none are MISSING, check any reference; close and open Access; then uncheck it again. This will force Access to relink the libraries. -- John W. Vinson [MVP]
From: KenSheridan via AccessMonster.com on 9 Mar 2010 18:40 Its generally recommended that environmental variables not be used for this. I use: ''''module basGetUser'''' ''''module starts'''' Option Compare Database Option Explicit Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal _ lpBuffer As String, nSize As Long) As Long Public Function GetUser() As String Dim strBuffer As String Dim lngSize As Long, lngRetVal As Long lngSize = 199 strBuffer = String$(200, 0) lngRetVal = GetUserName(strBuffer, lngSize) GetUser = Left$(strBuffer, lngSize - 1) End Function ''''module ends'''' Ken Sheridan Stafford, England J_Goddard wrote: >Hi - > >You could also try the MS Access function Environ, which returns the current >value of a specified Environment variable. Since you are on a network, there >is almost certainly going to be an environment variable with the current user >login name. For example, on my network, > >environ("username") returns my login name. > >Might work for you, if all your users are in the same environment. > >John > >>I have the following code to get the network login name: >> >[quoted text clipped - 35 lines] >> >>thanks. > -- Message posted via http://www.accessmonster.com
From: Gina Whipp on 9 Mar 2010 22:32
Silly me.. John is correct it is a Reference issue... -- Gina Whipp 2010 Microsoft MVP (Access) "I feel I have been denied critical, need to know, information!" - Tremors II http://www.regina-whipp.com/index_files/TipList.htm "xbound" <ekwong999(a)hotmail.com> wrote in message news:246E40F2-65A8-43BF-B9C9-B4C40BFC92B0(a)microsoft.com... Yes it is. Even if it is not, I don't think one would get "Compile Error" Right now, the Compile Error pops up at the moment when Stepping Into the line "Function fOSUserName() As String"; while at the same time the debugger would highlight "LEFT$" several lines down. Then can't go on anymore. "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message news:uf7LJ28vKHA.812(a)TK2MSFTNGP06.phx.gbl... > xbound, > > Is your database in a Trusted Location? > > http://www.regina-whipp.com/index_files/TrustedLocation.htm > > -- > Gina Whipp > 2010 Microsoft MVP (Access) > > "I feel I have been denied critical, need to know, information!" - Tremors > II > > http://www.regina-whipp.com/index_files/TipList.htm > > "xbound" <ekwong999(a)hotmail.com> wrote in message > news:F5B63B0B-888C-48C4-AA96-30E5DDB2EEC0(a)microsoft.com... > I run the thing today and it's NOT working again. Really frustrating.... > > "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message > news:unE1uo7vKHA.812(a)TK2MSFTNGP06.phx.gbl... >> Glad to hear all is well! >> >> -- >> Gina Whipp >> 2010 Microsoft MVP (Access) >> >> "I feel I have been denied critical, need to know, information!" - >> Tremors >> II >> >> http://www.regina-whipp.com/index_files/TipList.htm >> >> "xbound" <ekwong999(a)hotmail.com> wrote in message >> news:42D4867D-7A35-4143-8B95-23785ACF81A9(a)microsoft.com... >> I've posted back last week but for some reason it's not showing up. >> >> Thanks for all the responses. After applying SP2, the compile error >> went >> away. Things like this is really hard to troubleshoot ...... >> >> >> "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message >> news:OvNoAiMvKHA.5340(a)TK2MSFTNGP04.phx.gbl... >>> Mark, >>> >>> Hopefully, the OP will post back. I found I had to run my Access 2003 >>> in >>> compatiblity mode, aslo 64 bit but my Access 2007 is fine as long as in >>> a >>> Trusted Location. But all we can do is wait and see... >>> -- >>> Gina Whipp >>> 2010 Microsoft MVP (Access) >>> >>> "I feel I have been denied critical, need to know, information!" - >>> Tremors >>> II >>> >>> http://www.regina-whipp.com/index_files/TipList.htm >>> >>> "Mark Andrews" <mandrews___NOSPAM___(a)rptsoftware.com> wrote in message >>> news:eFuvyNMvKHA.5980(a)TK2MSFTNGP05.phx.gbl... >>> Mine is 64bit. Not in compatibility mode. However I'm not the one with >>> the >>> issue. >>> Mark >>> >>> "Gina Whipp" <NotInterested(a)InViruses.com> wrote in message >>> news:uwKmlKLvKHA.1964(a)TK2MSFTNGP04.phx.gbl... >>>> Was that Windows 7 64 bit or 32 bit? And are either of you running in >>>> Compatibly Mode? >>>> >>>> "Mark Andrews" <mandrews___NOSPAM___(a)rptsoftware.com> wrote in message >>>> news:uRbAA6KvKHA.1796(a)TK2MSFTNGP02.phx.gbl... >>>> I just copied your code into a new database in Access 2007 sp2 on my >>>> Windows >>>> 7 laptop and it worked fine. >>>> >>>> HTH, >>>> Mark >>>> >>>> "xbound" <ekwong999(a)hotmail.com> wrote in message >>>> news:162CFB93-ADF0-4D33-9495-5B8FF564C99E(a)microsoft.com... >>>>> I have the following code to get the network login name: >>>>> >>>>> Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ >>>>> "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long >>>>> >>>>> Function fOSUserName() As String >>>>> ' Returns the network login name >>>>> Dim lngLen As Long, lngX As Long >>>>> Dim strUserName As String >>>>> strUserName = String$(254, 0) >>>>> lngLen = 255 >>>>> lngX = apiGetUserName(strUserName, lngLen) >>>>> If lngX <> 0 Then >>>>> fOSUserName = Left$(strUserName, lngLen - 1) >>>>> Else >>>>> fOSUserName = vbNullString >>>>> End If >>>>> End Function >>>>> >>>>> >>>>> This code is available widely from the internet and I've been using it >>>>> in >>>>> a couple of my Access projects with no problem. Then lately I >>>>> created >>>>> a >>>>> new Access project and import the form containing that piece of code >>>>> straight from one of the old projects. However; as soon as that >>>>> function >>>>> is entered, I would get an error : "Compile error. Type declaration >>>>> does >>>>> not match declared data type." such that I couldn't examine the >>>>> values >>>>> of variables there. It seems the statement "fOSUserName = >>>>> Left$(strUserName, lngLen - 1)" is causing trouble. If I comment out >>>>> that >>>>> statement, I don't get any error but of course I won't get the network >>>>> login name either. As a precaution I stepped through the function >>>>> in >>>>> the old project and found that everything is working as expected. >>>>> >>>>> The old adp projects were created in Access 2003 on a XP workstation. >>>>> The new project was created in Access 2007 on a Win 7 workstation. >>>>> Since >>>>> the old projects are functioning perfectly on the Win 7 machine, I >>>>> gather >>>>> that the Access version and the OS platform are not the issues. >>>>> This >>>>> only makes the problem more baffling to me. Maybe someone could >>>>> spot >>>>> or >>>>> have an idea what I've missed? >>>>> >>>>> thanks. >>>> >>> >> > |