[AccessD] Recording Windows Version, 32/64 bit, and Access Version

Stuart McLachlan stuart at lexacorp.com.pg
Tue Oct 23 16:13:45 CDT 2012


Why would you rather write it like that?

The original is faster and perfectly valid. 

IF evaluates intPos as a Boolean expression where any non-zero value is True and zero is 
False.

I use that construction all the time.

-- 
Stuart

On 23 Oct 2012 at 10:12, Dan Waters wrote:

> Hi William,
> 
> I had copied and tested that procedure but didn't read it closely.
> 
> It does work correctly though because execution will only pass to the second
> choice if intPos = 0.
> 
> Still, I would rather write it like this:
> 
>     If intPos <> 0 then
> 
> Dan

> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Benson
> Sent: Tuesday, October 23, 2012 8:37 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Recording Windows Version, 32/64 bit, and Access
> Version
> 
> If intPos is an integer why are you testing it like a boolean?
> On Oct 22, 2012 8:05 PM, "Dan Waters" <df.waters at comcast.net> wrote:
> 
> > A couple of weeks ago I did some research to record Windows and Access 
> > versions while a person was logging in.  This is what I came up with.
> >
> >
> >
> > HTH!
> >
> > Dan
> >
> >
> >
> > '---------------------------------------
> >
> >
> >
> > Option Compare Database
> >
> > Option Explicit
> >
> >
> >
> > Private Type OSVERSIONINFO
> >
> >     dwOSVersionInfoSize As Long
> >
> >     dwMajorVersion As Long
> >
> >     dwMinorVersion As Long
> >
> >     dwBuildNumber As Long
> >
> >     dwPlatformId As Long
> >
> >     szCSDVersion As String * 128
> >
> > End Type
> >
> >
> >
> > Public Declare Function GetVersionExA Lib "kernel32" 
> > (lpVersionInformation As OSVERSIONINFO) As Integer
> >
> >
> >
> > Private Sub GetWindowsAccessVersion()
> >
> >
> >
> >     '-- This will record the current windows version, whether the OS 
> > is 32 bit or 64 bit, and the Access version for the person logging in.
> >
> >
> >
> >     Dim stg As String
> >
> >     Dim fso As FileSystemObject
> >
> >     Dim int3264 As Integer
> >
> >     Dim stgWindowsVersion As String
> >
> >     Dim stgAccessVersion As String
> >
> >
> >
> >     Set fso = CreateObject("Scripting.FileSystemObject")
> >
> >     If fso.FolderExists("C:\Windows\sysWOW64") = True Then
> >
> >         int3264 = 64
> >
> >     Else
> >
> >         int3264 = 32
> >
> >     End If
> >
> >
> >
> >     stgWindowsVersion = WindowsVersion
> >
> >     stgAccessVersion = Application.Version & " - " & Application.Build
> >
> >
> >
> >     stg = "UPDATE tblPeopleMain SET" _
> >
> >         & " versionWindows = '" & stgWindowsVersion & "'," _
> >
> >         & " version3264 = " & int3264 & "," _
> >
> >         & " versionAccess = '" & stgAccessVersion & "'" _
> >
> >         & " WHERE PeopleID = " & GV.CurrentPeopleID
> >
> >     DBEngine(0)(0).Execute stg, dbSeeChanges Or dbFailOnError
> >
> >
> >
> >     Set fso = Nothing
> >
> >
> >
> > End Sub
> >
> >
> >
> > Public Function WindowsVersion() As String
> >
> >
> >
> >     Dim osinfo As OSVERSIONINFO
> >
> >     Dim retvalue As Integer
> >
> >
> >
> >     osinfo.dwOSVersionInfoSize = 148
> >
> >     osinfo.szCSDVersion = Space$(128)
> >
> >     retvalue = GetVersionExA(osinfo)
> >
> >
> >
> >     WindowsVersion = osinfo.dwMajorVersion & "." & 
> > osinfo.dwMinorVersion & "
> > Build (" & osinfo.dwBuildNumber & ") " & 
> > fTrimNull(osinfo.szCSDVersion)
> >
> >
> >
> > End Function
> >
> >
> >
> > Private Function fTrimNull(strIn As String) As String
> >
> >
> >
> >     Dim intPos As Integer
> >
> >
> >
> >     intPos = InStr(1, strIn, vbNullChar)
> >
> >     If intPos Then
> >
> >         fTrimNull = Mid$(strIn, 1, intPos - 1)
> >
> >     Else
> >
> >         fTrimNull = strIn
> >
> >     End If
> >
> >
> >
> > End Function
> >
> >
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list