f



My FE updater - whadya'all fink?

I've tried a few approaches. The 'batch file just overwrite the workstation
copy every time' approach. Seems a bit expensive when it might only be
needed 1 time in a hundred (plus I couldn't get Access to open maximized and
couldn't get the command window to go away).

Also opening the workstation front end, checking the version compared to
server update front end, closing if different and running update mdb. I
don't really like the idea of using an mdb to basically do a file copy,
seems a bit expensive. And files having to close themselves to overwrite
themselves etc.

So came up with this VB 'app'

This is a VB app which updates a client version of an Access front end, if
there is a different version, probably on a server.

It takes 5 command line arguments, the 5th being optional, each preceded by
a /
There's no need to delimit file names containing spaces with speech marks

C:\MIKE\Development\FEupdater\UpdateClient.exe - call the updater itself
/mmdatabase.mdb - the client FE to be updated
/\\server\mmdatabase\update\mmdatabase.mdb  - the update version to use
/\\server\MMDatabase\WorkGroup\Secured.mdw - the workgroup file
/mmdatabase.ini  - a simple text file that store the last username used
/C:\Microsoft Office 2000\Office\msaccess.exe - the path to the Access
executable

The last argument is optional, probably only of any use where there is more
than one version of Access on the machine, otherwise the default version of
Access is used.

UpdateClient.exe must be in the same directory as the file to be updated, as
must the ini file.

UpdateClient expects to find a table called mmSysDbProperties with fields
called PropID, PropName, PropValue, Comments. This is a local table, NOT a
linked table, that needs to be in both versions of the client. There needs
to be a record with a value in the PropName of 'Version' and a corresponding
value, the actual version number, in PropValue. This is what gets compared.
All that is checked is a difference. Not a later version!

The only form in the app mimics the look of an Access login, hence the use
of the ini file to store the last logged on user.

Create a desktop shortcut to this file, with the appropriate arguments, not
to the actual Access file.

Private Sub cmdCancel_Click()
  'TVCodeTools ErrorEnablerStart
  On Error GoTo PROC_ERR
  'TVCodeTools ErrorEnablerEnd
  Unload Me
  'TVCodeTools ErrorHandlerStart
PROC_EXIT:
  Exit Sub
PROC_ERR:
  MsgBox Err.Description
  Resume PROC_EXIT
  'TVCodeTools ErrorHandlerEnd
End Sub


Private Sub cmdOK_Click()
  'TVCodeTools ErrorEnablerStart
  On Error GoTo PROC_ERR
  'TVCodeTools ErrorEnablerEnd
  Dim dbWorkStationCopy As Database
  Dim dbServerCopy As Database
  Dim FullFrontEndPath As String
  Dim rstFrontEndVersion As Recordset
  Dim rstUpdateVersion As Recordset
  Dim WorkStationVersion As String
  Dim ServerVersion As String
  Dim wrk As Workspace
  Dim arrArgs As Variant
  Dim fso As New FileSystemObject
  Dim fil As File
  Dim ts As TextStream
  Dim strAccessPath As String
  arrArgs = GetCommandLine(5)
  FullFrontEndPath = CurDir & "\" & arrArgs(1)
  DBEngine.SystemDB = arrArgs(3)
  Set wrk = DBEngine.CreateWorkspace("wrkTemp", Me.txtUserName,
Me.txtPassword)
  Set dbWorkStationCopy = DBEngine(0).OpenDatabase(FullFrontEndPath)
  Set rstFrontEndVersion =
dbWorkStationCopy.OpenRecordset("mmSysDbProperties", dbOpenSnapshot)
  rstFrontEndVersion.FindFirst "PropName = 'Version'"
  WorkStationVersion = rstFrontEndVersion.Fields("PropValue").Value
  rstFrontEndVersion.Close
  dbWorkStationCopy.Close
  Set dbServerCopy = DBEngine(0).OpenDatabase(arrArgs(2))
  Set rstUpdateVersion = dbServerCopy.OpenRecordset("mmSysDbProperties",
dbOpenSnapshot)
  rstUpdateVersion.FindFirst "PropName = 'Version'"
  ServerVersion = rstUpdateVersion.Fields("PropValue").Value
  rstUpdateVersion.Close
  dbServerCopy.Close
  DBEngine(0).Close
  Set fil = fso.GetFile(arrArgs(4))
  Set ts = fil.OpenAsTextStream(ForWriting, TristateUseDefault)
  ts.Write (Me.txtUserName)
  ts.Close
  If WorkStationVersion <> ServerVersion Then
    fso.CopyFile arrArgs(2), FullFrontEndPath, True
  End If
  If UBound(arrArgs) < 5 Then
    strAccessPath = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
  Else
    strAccessPath = arrArgs(5)
  End If
  Shell strAccessPath & " " & FullFrontEndPath & " /wrkgrp " & arrArgs(3) &
_
  "/user " & txtUserName & "/pwd " & txtPassword, vbMaximizedFocus
  wrk.Close
  Unload Me
  'TVCodeTools ErrorHandlerStart
PROC_EXIT:
  Exit Sub
  Unload Me
PROC_ERR:
  MsgBox Err.Description
  Resume PROC_EXIT
  'TVCodeTools ErrorHandlerEnd
End Sub

Private Sub Form_Load()
  'TVCodeTools ErrorEnablerStart
  On Error GoTo PROC_ERR
  'TVCodeTools ErrorEnablerEnd
  Dim fso As New FileSystemObject
  Dim fil As File
  Dim ts As TextStream
  Dim arrArgs As Variant
  arrArgs = GetCommandLine(5)
  Set fil = fso.GetFile(arrArgs(4))
  Set ts = fil.OpenAsTextStream(ForReading, TristateUseDefault)
  Me.txtUserName = ts.ReadAll
  Me.Show
  Me.txtPassword.SetFocus
  'TVCodeTools ErrorHandlerStart
PROC_EXIT:
  Exit Sub
PROC_ERR:
  MsgBox Err.Description
  Resume PROC_EXIT
  'TVCodeTools ErrorHandlerEnd
End Sub

Public Function GetCommandLine(Optional MaxArgs)
  'Declare variables.
  'TVCodeTools ErrorEnablerStart
  On Error GoTo PROC_ERR
  'TVCodeTools ErrorEnablerEnd
  Dim C
  Dim CmdLine
  Dim CmdLnLen
  Dim InArg
  Dim I
  Dim NumArgs
  'See if MaxArgs was provided.
  If IsMissing(MaxArgs) Then
    MaxArgs = 10
  End If
  'Make array of the correct size.
  ReDim ArgArray(MaxArgs)
  NumArgs = 0
  InArg = False
  'Get command line arguments.
  CmdLine = Command()
  CmdLnLen = Len(CmdLine)
  'Go thru command line one character
  'at a time.
  For I = 1 To CmdLnLen
    C = Mid(CmdLine, I, 1)
    'Test for space or tab.
    If (C <> "/") Then
      'Not a forward slash - used as argument delimiter
      'Test if already in argument.
      If Not InArg Then
        'New argument begins.
        'Test for too many arguments.
        If NumArgs = MaxArgs Then
          Exit For
        End If
        NumArgs = NumArgs + 1
        InArg = True
      End If
      'Concatenate character to current argument.
      ArgArray(NumArgs) = ArgArray(NumArgs) & C
    Else
      'Found a forward slash.
      'Set InArg flag to False.
      InArg = False
    End If
  Next I
  'Resize array just enough to hold arguments.
  ReDim Preserve ArgArray(NumArgs)
  'Return Array in Function name.
  GetCommandLine = ArgArray()
  'TVCodeTools ErrorHandlerStart
PROC_EXIT:
  Exit Function
PROC_ERR:
  MsgBox Err.Description
  Resume PROC_EXIT
  'TVCodeTools ErrorHandlerEnd
End Function

Mike


0
7/13/2004 7:40:06 AM
comp.databases.ms-access 42670 articles. 0 followers. Post Follow

12 Replies
1086 Views

Similar Articles

[PageSpeed] 29

"Mike MacSween" <mike.macsween.nospam@btinternet.com> wrote:

> The 'batch file just overwrite the workstation
> copy every time' approach. Seems a bit expensive when it might only be
> needed 1 time in a hundred (plus I couldn't get Access to open
> maximized and couldn't get the command window to go away).

Expensive? I use this method and it works well. To force the command window 
to close and maximise on open:

ECHO OFF
XCOPY "X:\MyPath\MyGUI.mdb" C:\MyLocalPath /I
START "MyGUI" /MAX "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"  
"C:\MyLocalPath\MyGUI.mdb" /wrkgrp  "X:\MyPath\MyApp.mdw" /user guest

Regards,
Keith.
0
keith.wilby (292)
7/13/2004 1:06:45 PM
Hi Mike,

Tony Toews has (since 2000) an Auto-update-utility available.
http://www.granite.ab.ca/access/autofe.htm
This very nice utility works painless on ALL existing versions of Access.
(He even added support for Access 2.0 recently)

This utility can also update more files if needed (helper-mdb's, batch-files, ico's  etc)

Arno R


"Mike MacSween" <mike.macsween.nospam@btinternet.com> schreef in bericht
news:40f391d7$0$58817$5a6aecb4@news.aaisp.net.uk...
> I've tried a few approaches. The 'batch file just overwrite the workstation
> copy every time' approach. Seems a bit expensive when it might only be
> needed 1 time in a hundred (plus I couldn't get Access to open maximized and
> couldn't get the command window to go away).
>
> Also opening the workstation front end, checking the version compared to
> server update front end, closing if different and running update mdb. I
> don't really like the idea of using an mdb to basically do a file copy,
> seems a bit expensive. And files having to close themselves to overwrite
> themselves etc.
>
> So came up with this VB 'app'
>
> This is a VB app which updates a client version of an Access front end, if
> there is a different version, probably on a server.
>
> It takes 5 command line arguments, the 5th being optional, each preceded by
> a /
> There's no need to delimit file names containing spaces with speech marks
>
> C:\MIKE\Development\FEupdater\UpdateClient.exe - call the updater itself
> /mmdatabase.mdb - the client FE to be updated
> /\\server\mmdatabase\update\mmdatabase.mdb  - the update version to use
> /\\server\MMDatabase\WorkGroup\Secured.mdw - the workgroup file
> /mmdatabase.ini  - a simple text file that store the last username used
> /C:\Microsoft Office 2000\Office\msaccess.exe - the path to the Access
> executable
>
> The last argument is optional, probably only of any use where there is more
> than one version of Access on the machine, otherwise the default version of
> Access is used.
>
> UpdateClient.exe must be in the same directory as the file to be updated, as
> must the ini file.
>
> UpdateClient expects to find a table called mmSysDbProperties with fields
> called PropID, PropName, PropValue, Comments. This is a local table, NOT a
> linked table, that needs to be in both versions of the client. There needs
> to be a record with a value in the PropName of 'Version' and a corresponding
> value, the actual version number, in PropValue. This is what gets compared.
> All that is checked is a difference. Not a later version!
>
> The only form in the app mimics the look of an Access login, hence the use
> of the ini file to store the last logged on user.
>
> Create a desktop shortcut to this file, with the appropriate arguments, not
> to the actual Access file.
>
> Private Sub cmdCancel_Click()
>   'TVCodeTools ErrorEnablerStart
>   On Error GoTo PROC_ERR
>   'TVCodeTools ErrorEnablerEnd
>   Unload Me
>   'TVCodeTools ErrorHandlerStart
> PROC_EXIT:
>   Exit Sub
> PROC_ERR:
>   MsgBox Err.Description
>   Resume PROC_EXIT
>   'TVCodeTools ErrorHandlerEnd
> End Sub
>
>
> Private Sub cmdOK_Click()
>   'TVCodeTools ErrorEnablerStart
>   On Error GoTo PROC_ERR
>   'TVCodeTools ErrorEnablerEnd
>   Dim dbWorkStationCopy As Database
>   Dim dbServerCopy As Database
>   Dim FullFrontEndPath As String
>   Dim rstFrontEndVersion As Recordset
>   Dim rstUpdateVersion As Recordset
>   Dim WorkStationVersion As String
>   Dim ServerVersion As String
>   Dim wrk As Workspace
>   Dim arrArgs As Variant
>   Dim fso As New FileSystemObject
>   Dim fil As File
>   Dim ts As TextStream
>   Dim strAccessPath As String
>   arrArgs = GetCommandLine(5)
>   FullFrontEndPath = CurDir & "\" & arrArgs(1)
>   DBEngine.SystemDB = arrArgs(3)
>   Set wrk = DBEngine.CreateWorkspace("wrkTemp", Me.txtUserName,
> Me.txtPassword)
>   Set dbWorkStationCopy = DBEngine(0).OpenDatabase(FullFrontEndPath)
>   Set rstFrontEndVersion =
> dbWorkStationCopy.OpenRecordset("mmSysDbProperties", dbOpenSnapshot)
>   rstFrontEndVersion.FindFirst "PropName = 'Version'"
>   WorkStationVersion = rstFrontEndVersion.Fields("PropValue").Value
>   rstFrontEndVersion.Close
>   dbWorkStationCopy.Close
>   Set dbServerCopy = DBEngine(0).OpenDatabase(arrArgs(2))
>   Set rstUpdateVersion = dbServerCopy.OpenRecordset("mmSysDbProperties",
> dbOpenSnapshot)
>   rstUpdateVersion.FindFirst "PropName = 'Version'"
>   ServerVersion = rstUpdateVersion.Fields("PropValue").Value
>   rstUpdateVersion.Close
>   dbServerCopy.Close
>   DBEngine(0).Close
>   Set fil = fso.GetFile(arrArgs(4))
>   Set ts = fil.OpenAsTextStream(ForWriting, TristateUseDefault)
>   ts.Write (Me.txtUserName)
>   ts.Close
>   If WorkStationVersion <> ServerVersion Then
>     fso.CopyFile arrArgs(2), FullFrontEndPath, True
>   End If
>   If UBound(arrArgs) < 5 Then
>     strAccessPath = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
>   Else
>     strAccessPath = arrArgs(5)
>   End If
>   Shell strAccessPath & " " & FullFrontEndPath & " /wrkgrp " & arrArgs(3) &
> _
>   "/user " & txtUserName & "/pwd " & txtPassword, vbMaximizedFocus
>   wrk.Close
>   Unload Me
>   'TVCodeTools ErrorHandlerStart
> PROC_EXIT:
>   Exit Sub
>   Unload Me
> PROC_ERR:
>   MsgBox Err.Description
>   Resume PROC_EXIT
>   'TVCodeTools ErrorHandlerEnd
> End Sub
>
> Private Sub Form_Load()
>   'TVCodeTools ErrorEnablerStart
>   On Error GoTo PROC_ERR
>   'TVCodeTools ErrorEnablerEnd
>   Dim fso As New FileSystemObject
>   Dim fil As File
>   Dim ts As TextStream
>   Dim arrArgs As Variant
>   arrArgs = GetCommandLine(5)
>   Set fil = fso.GetFile(arrArgs(4))
>   Set ts = fil.OpenAsTextStream(ForReading, TristateUseDefault)
>   Me.txtUserName = ts.ReadAll
>   Me.Show
>   Me.txtPassword.SetFocus
>   'TVCodeTools ErrorHandlerStart
> PROC_EXIT:
>   Exit Sub
> PROC_ERR:
>   MsgBox Err.Description
>   Resume PROC_EXIT
>   'TVCodeTools ErrorHandlerEnd
> End Sub
>
> Public Function GetCommandLine(Optional MaxArgs)
>   'Declare variables.
>   'TVCodeTools ErrorEnablerStart
>   On Error GoTo PROC_ERR
>   'TVCodeTools ErrorEnablerEnd
>   Dim C
>   Dim CmdLine
>   Dim CmdLnLen
>   Dim InArg
>   Dim I
>   Dim NumArgs
>   'See if MaxArgs was provided.
>   If IsMissing(MaxArgs) Then
>     MaxArgs = 10
>   End If
>   'Make array of the correct size.
>   ReDim ArgArray(MaxArgs)
>   NumArgs = 0
>   InArg = False
>   'Get command line arguments.
>   CmdLine = Command()
>   CmdLnLen = Len(CmdLine)
>   'Go thru command line one character
>   'at a time.
>   For I = 1 To CmdLnLen
>     C = Mid(CmdLine, I, 1)
>     'Test for space or tab.
>     If (C <> "/") Then
>       'Not a forward slash - used as argument delimiter
>       'Test if already in argument.
>       If Not InArg Then
>         'New argument begins.
>         'Test for too many arguments.
>         If NumArgs = MaxArgs Then
>           Exit For
>         End If
>         NumArgs = NumArgs + 1
>         InArg = True
>       End If
>       'Concatenate character to current argument.
>       ArgArray(NumArgs) = ArgArray(NumArgs) & C
>     Else
>       'Found a forward slash.
>       'Set InArg flag to False.
>       InArg = False
>     End If
>   Next I
>   'Resize array just enough to hold arguments.
>   ReDim Preserve ArgArray(NumArgs)
>   'Return Array in Function name.
>   GetCommandLine = ArgArray()
>   'TVCodeTools ErrorHandlerStart
> PROC_EXIT:
>   Exit Function
> PROC_ERR:
>   MsgBox Err.Description
>   Resume PROC_EXIT
>   'TVCodeTools ErrorHandlerEnd
> End Function
>
> Mike
>
>


0
7/13/2004 1:47:54 PM
"Keith Wilby" <keith.wilby@AwayWithYerCrap.com> wrote in message
news:Xns952590278D4ABkeithwilby@10.15.188.42...
> "Mike MacSween" <mike.macsween.nospam@btinternet.com> wrote:
>
> > The 'batch file just overwrite the workstation
> > copy every time' approach. Seems a bit expensive when it might only be
> > needed 1 time in a hundred (plus I couldn't get Access to open
> > maximized and couldn't get the command window to go away).
>
> Expensive? I use this method and it works well. To force the command
window
> to close and maximise on open:
>
> ECHO OFF
> XCOPY "X:\MyPath\MyGUI.mdb" C:\MyLocalPath /I
> START "MyGUI" /MAX "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"
> "C:\MyLocalPath\MyGUI.mdb" /wrkgrp  "X:\MyPath\MyApp.mdw" /user guest

Right, that's how you do it, thanks Keith.

Yes, I'm aware it's your preferred method. I wasn't having a go or anything
atall. And now that you've shown me how it's done I may well end up doing it
your way. It was still a good learning experience to knock the thing up in
VB anyway, as I don't have anywhere near enough experience in VB. Well, none
atall really!!

I guess the preferred method may depend on size of mdb file, speed of
network etc. And the advantage with the VB app is that it gives the
potential to do more sophisticated updates. Haven't thought what yet though!
Well, for instance, in development you may want to roll out updates only to
certain users who effectively act as beta testers. Or something. Anyway, you
get the point, there could be as-yet-unthought-of-things you could do with
the vb approach.

Oh, and it does allow me to get the version of access I want, if there's a
non standard install. In fact I don't have to worry about the path to
access.exe atall.

Have you had any problems with your approach? 100 users all turning on their
machines at 9.01am and uploading the new version crashing the network or
anything like that?

Cheers, Mike


0
7/13/2004 1:55:18 PM
Thanks. Actually I downloaded Tony's updater sometime ago and just couldn't
get it to work. Probably operator error.

It's been good for me to do this anyway. And now it's done I can add/extend
it as I like. Though it'll be interesting to hear Tony's comments on my
approach anyway.

Cheers, Mike

"Arno R" <arracomn_o_s_p_a_m@tiscali.nl> wrote in message
news:40f3e84d$0$62367$5fc3050@dreader2.news.tiscali.nl...
> Hi Mike,
>
> Tony Toews has (since 2000) an Auto-update-utility available.
> http://www.granite.ab.ca/access/autofe.htm
> This very nice utility works painless on ALL existing versions of Access.
> (He even added support for Access 2.0 recently)
>
> This utility can also update more files if needed (helper-mdb's,
batch-files, ico's  etc)
>
> Arno R
>
>
> "Mike MacSween" <mike.macsween.nospam@btinternet.com> schreef in bericht
> news:40f391d7$0$58817$5a6aecb4@news.aaisp.net.uk...
> > I've tried a few approaches. The 'batch file just overwrite the
workstation
> > copy every time' approach. Seems a bit expensive when it might only be
> > needed 1 time in a hundred (plus I couldn't get Access to open maximized
and
> > couldn't get the command window to go away).
> >
> > Also opening the workstation front end, checking the version compared to
> > server update front end, closing if different and running update mdb. I
> > don't really like the idea of using an mdb to basically do a file copy,
> > seems a bit expensive. And files having to close themselves to overwrite
> > themselves etc.
> >
> > So came up with this VB 'app'
> >
> > This is a VB app which updates a client version of an Access front end,
if
> > there is a different version, probably on a server.
> >
> > It takes 5 command line arguments, the 5th being optional, each preceded
by
> > a /
> > There's no need to delimit file names containing spaces with speech
marks
> >
> > C:\MIKE\Development\FEupdater\UpdateClient.exe - call the updater itself
> > /mmdatabase.mdb - the client FE to be updated
> > /\\server\mmdatabase\update\mmdatabase.mdb  - the update version to use
> > /\\server\MMDatabase\WorkGroup\Secured.mdw - the workgroup file
> > /mmdatabase.ini  - a simple text file that store the last username used
> > /C:\Microsoft Office 2000\Office\msaccess.exe - the path to the Access
> > executable
> >
> > The last argument is optional, probably only of any use where there is
more
> > than one version of Access on the machine, otherwise the default version
of
> > Access is used.
> >
> > UpdateClient.exe must be in the same directory as the file to be
updated, as
> > must the ini file.
> >
> > UpdateClient expects to find a table called mmSysDbProperties with
fields
> > called PropID, PropName, PropValue, Comments. This is a local table, NOT
a
> > linked table, that needs to be in both versions of the client. There
needs
> > to be a record with a value in the PropName of 'Version' and a
corresponding
> > value, the actual version number, in PropValue. This is what gets
compared.
> > All that is checked is a difference. Not a later version!
> >
> > The only form in the app mimics the look of an Access login, hence the
use
> > of the ini file to store the last logged on user.
> >
> > Create a desktop shortcut to this file, with the appropriate arguments,
not
> > to the actual Access file.
> >
> > Private Sub cmdCancel_Click()
> >   'TVCodeTools ErrorEnablerStart
> >   On Error GoTo PROC_ERR
> >   'TVCodeTools ErrorEnablerEnd
> >   Unload Me
> >   'TVCodeTools ErrorHandlerStart
> > PROC_EXIT:
> >   Exit Sub
> > PROC_ERR:
> >   MsgBox Err.Description
> >   Resume PROC_EXIT
> >   'TVCodeTools ErrorHandlerEnd
> > End Sub
> >
> >
> > Private Sub cmdOK_Click()
> >   'TVCodeTools ErrorEnablerStart
> >   On Error GoTo PROC_ERR
> >   'TVCodeTools ErrorEnablerEnd
> >   Dim dbWorkStationCopy As Database
> >   Dim dbServerCopy As Database
> >   Dim FullFrontEndPath As String
> >   Dim rstFrontEndVersion As Recordset
> >   Dim rstUpdateVersion As Recordset
> >   Dim WorkStationVersion As String
> >   Dim ServerVersion As String
> >   Dim wrk As Workspace
> >   Dim arrArgs As Variant
> >   Dim fso As New FileSystemObject
> >   Dim fil As File
> >   Dim ts As TextStream
> >   Dim strAccessPath As String
> >   arrArgs = GetCommandLine(5)
> >   FullFrontEndPath = CurDir & "\" & arrArgs(1)
> >   DBEngine.SystemDB = arrArgs(3)
> >   Set wrk = DBEngine.CreateWorkspace("wrkTemp", Me.txtUserName,
> > Me.txtPassword)
> >   Set dbWorkStationCopy = DBEngine(0).OpenDatabase(FullFrontEndPath)
> >   Set rstFrontEndVersion =
> > dbWorkStationCopy.OpenRecordset("mmSysDbProperties", dbOpenSnapshot)
> >   rstFrontEndVersion.FindFirst "PropName = 'Version'"
> >   WorkStationVersion = rstFrontEndVersion.Fields("PropValue").Value
> >   rstFrontEndVersion.Close
> >   dbWorkStationCopy.Close
> >   Set dbServerCopy = DBEngine(0).OpenDatabase(arrArgs(2))
> >   Set rstUpdateVersion = dbServerCopy.OpenRecordset("mmSysDbProperties",
> > dbOpenSnapshot)
> >   rstUpdateVersion.FindFirst "PropName = 'Version'"
> >   ServerVersion = rstUpdateVersion.Fields("PropValue").Value
> >   rstUpdateVersion.Close
> >   dbServerCopy.Close
> >   DBEngine(0).Close
> >   Set fil = fso.GetFile(arrArgs(4))
> >   Set ts = fil.OpenAsTextStream(ForWriting, TristateUseDefault)
> >   ts.Write (Me.txtUserName)
> >   ts.Close
> >   If WorkStationVersion <> ServerVersion Then
> >     fso.CopyFile arrArgs(2), FullFrontEndPath, True
> >   End If
> >   If UBound(arrArgs) < 5 Then
> >     strAccessPath = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
> >   Else
> >     strAccessPath = arrArgs(5)
> >   End If
> >   Shell strAccessPath & " " & FullFrontEndPath & " /wrkgrp " &
arrArgs(3) &
> > _
> >   "/user " & txtUserName & "/pwd " & txtPassword, vbMaximizedFocus
> >   wrk.Close
> >   Unload Me
> >   'TVCodeTools ErrorHandlerStart
> > PROC_EXIT:
> >   Exit Sub
> >   Unload Me
> > PROC_ERR:
> >   MsgBox Err.Description
> >   Resume PROC_EXIT
> >   'TVCodeTools ErrorHandlerEnd
> > End Sub
> >
> > Private Sub Form_Load()
> >   'TVCodeTools ErrorEnablerStart
> >   On Error GoTo PROC_ERR
> >   'TVCodeTools ErrorEnablerEnd
> >   Dim fso As New FileSystemObject
> >   Dim fil As File
> >   Dim ts As TextStream
> >   Dim arrArgs As Variant
> >   arrArgs = GetCommandLine(5)
> >   Set fil = fso.GetFile(arrArgs(4))
> >   Set ts = fil.OpenAsTextStream(ForReading, TristateUseDefault)
> >   Me.txtUserName = ts.ReadAll
> >   Me.Show
> >   Me.txtPassword.SetFocus
> >   'TVCodeTools ErrorHandlerStart
> > PROC_EXIT:
> >   Exit Sub
> > PROC_ERR:
> >   MsgBox Err.Description
> >   Resume PROC_EXIT
> >   'TVCodeTools ErrorHandlerEnd
> > End Sub
> >
> > Public Function GetCommandLine(Optional MaxArgs)
> >   'Declare variables.
> >   'TVCodeTools ErrorEnablerStart
> >   On Error GoTo PROC_ERR
> >   'TVCodeTools ErrorEnablerEnd
> >   Dim C
> >   Dim CmdLine
> >   Dim CmdLnLen
> >   Dim InArg
> >   Dim I
> >   Dim NumArgs
> >   'See if MaxArgs was provided.
> >   If IsMissing(MaxArgs) Then
> >     MaxArgs = 10
> >   End If
> >   'Make array of the correct size.
> >   ReDim ArgArray(MaxArgs)
> >   NumArgs = 0
> >   InArg = False
> >   'Get command line arguments.
> >   CmdLine = Command()
> >   CmdLnLen = Len(CmdLine)
> >   'Go thru command line one character
> >   'at a time.
> >   For I = 1 To CmdLnLen
> >     C = Mid(CmdLine, I, 1)
> >     'Test for space or tab.
> >     If (C <> "/") Then
> >       'Not a forward slash - used as argument delimiter
> >       'Test if already in argument.
> >       If Not InArg Then
> >         'New argument begins.
> >         'Test for too many arguments.
> >         If NumArgs = MaxArgs Then
> >           Exit For
> >         End If
> >         NumArgs = NumArgs + 1
> >         InArg = True
> >       End If
> >       'Concatenate character to current argument.
> >       ArgArray(NumArgs) = ArgArray(NumArgs) & C
> >     Else
> >       'Found a forward slash.
> >       'Set InArg flag to False.
> >       InArg = False
> >     End If
> >   Next I
> >   'Resize array just enough to hold arguments.
> >   ReDim Preserve ArgArray(NumArgs)
> >   'Return Array in Function name.
> >   GetCommandLine = ArgArray()
> >   'TVCodeTools ErrorHandlerStart
> > PROC_EXIT:
> >   Exit Function
> > PROC_ERR:
> >   MsgBox Err.Description
> >   Resume PROC_EXIT
> >   'TVCodeTools ErrorHandlerEnd
> > End Function
> >
> > Mike
> >
> >
>
>


0
7/13/2004 1:58:11 PM
"Mike MacSween" <mike.macsween.nospam@btinternet.com> wrote:

> Have you had any problems with your approach? 100 users all turning on
> their machines at 9.01am and uploading the new version crashing the
> network or anything like that?

Mike, I wasn't critisising your approach, I just didn't understand 
"expensive" and also thought you'd like to know how to get rid of that 
pesky black box :o)

I have about 30 concurrent users, maybe 100 all tolled, but there's no "big 
bang" of users logging on simultaneously so no network problems as yet.

Best of luck with your method ...

Regards,
Keith.
0
keith.wilby (292)
7/13/2004 2:27:12 PM
I've had my own for some time (in VB), it takes only one command line 
argument, that being a profile name and the profile is stored in a ini 
file (originally 16 bit for Access 2.0, never bothered updating to use 
reg keys as saw no benefit). Each of my applications has a profile 
table, a simple 2 column key and value so in the profile for DbStart (as 
it's called) there's a SQL string used to get the version number out of 
the profile table.

The clever bit is that it renames the local copy, then copies the newer 
version then copies over all but the "CodeVersion" profile thereby 
keeping any user preferences. Oh, and the other clever bit, it knows 
which version of Access created the mdb so starts the relevant version. 
At one point I did have it as the registered app for loading mdbs from 
exploder as I worked with multiple versions but doing that does break DDE.

It is tailored for use on applications I've designed, which is why I've 
never released it to the general public.

Only problems I've had with this method is sometimes forgetting to check 
out data & misc objects from StarTeam[1] before updating the version number.

[1] what I use instead of Visual SourceSafe.

-- 
Error reading sig - A)bort R)etry I)nfluence with large hammer
0
Trevor
7/13/2004 5:36:35 PM
"Mike MacSween" <mike.macsween.nospam@btinternet.com> wrote:

>Thanks. Actually I downloaded Tony's updater sometime ago and just couldn't
>get it to work. Probably operator error.

Nah, poor documentation on my part.  I'm a developer not a tech writer.

>It's been good for me to do this anyway. And now it's done I can add/extend
>it as I like. Though it'll be interesting to hear Tony's comments on my
>approach anyway.

You are using a table with version numbers.  Whereas I use the datetime of the FE on
the server and store that datetime on the client.   Otherwise very similar in
concept.

FWIW I've been doing a lot of updates recently and am very close to putting a GUI on
mine along with a wizard so as to make it much easier to use.  

One update I just put in was that it no longer requires to you to specify the path to
your msaccess.exe and yet you can still pass parameters.  But there's a bug in that
logic so it'll be a few more days before that's fixed.

Tony
--
Tony Toews, Microsoft Access MVP
   Please respond only in the newsgroups so that others can 
read the entire thread of messages.
   Microsoft Access Links, Hints, Tips & Accounting Systems at 
http://www.granite.ab.ca/accsmstr.htm
0
ttoews (2789)
7/13/2004 6:11:36 PM
Keith Wilby <keith.wilby@AwayWithYerCrap.com> wrote:

>Expensive? I use this method and it works well. To force the command window 
>to close and maximise on open:
>
>ECHO OFF
>XCOPY "X:\MyPath\MyGUI.mdb" C:\MyLocalPath /I
>START "MyGUI" /MAX "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"  
>"C:\MyLocalPath\MyGUI.mdb" /wrkgrp  "X:\MyPath\MyApp.mdw" /user guest

Interesting.  I've seen your postings before but never paid too much attention.  I've
never seen that START command before.  Very Interesting.

Tony
--
Tony Toews, Microsoft Access MVP
   Please respond only in the newsgroups so that others can 
read the entire thread of messages.
   Microsoft Access Links, Hints, Tips & Accounting Systems at 
http://www.granite.ab.ca/accsmstr.htm
0
ttoews (2789)
7/13/2004 8:08:48 PM
Tony Toews <ttoews@telusplanet.net> wrote in
news:10g8f0df8abftcaukjnl0ujei88jlgnfnb@4ax.com: 

> Keith Wilby <keith.wilby@AwayWithYerCrap.com> wrote:
> 
>>Expensive? I use this method and it works well. To force the
>>command window to close and maximise on open:
>>
>>ECHO OFF
>>XCOPY "X:\MyPath\MyGUI.mdb" C:\MyLocalPath /I
>>START "MyGUI" /MAX "C:\Program Files\Microsoft
>>Office\Office\MSACCESS.EXE"  "C:\MyLocalPath\MyGUI.mdb" /wrkgrp 
>>"X:\MyPath\MyApp.mdw" /user guest 
> 
> Interesting.  I've seen your postings before but never paid too
> much attention.  I've never seen that START command before.  Very
> Interesting. 

It is not reliably usable. The START command will not run on my
Win2K workstation, for instance. I've never been able to figure out
why. 

-- 
David W. Fenton                        http://www.bway.net/~dfenton
dfenton at bway dot net                http://www.bway.net/~dfassoc
0
dXXXfenton (2542)
7/14/2004 12:00:37 AM
"David W. Fenton" <dXXXfenton@bway.net.invalid> wrote in message

> >>ECHO OFF
> >>XCOPY "X:\MyPath\MyGUI.mdb" C:\MyLocalPath /I
> >>START "MyGUI" /MAX "C:\Program Files\Microsoft
> >>Office\Office\MSACCESS.EXE"  "C:\MyLocalPath\MyGUI.mdb" /wrkgrp
> >>"X:\MyPath\MyApp.mdw" /user guest
> >
> > Interesting.  I've seen your postings before but never paid too
> > much attention.  I've never seen that START command before.  Very
> > Interesting.
>
> It is not reliably usable. The START command will not run on my
> Win2K workstation, for instance. I've never been able to figure out
> why.

Really? That makes it a non-starter on this clients network then.

Cheers, Mike


0
7/14/2004 9:56:45 AM
"David W. Fenton" <dXXXfenton@bway.net.invalid> wrote:

> It is not reliably usable. The START command will not run on my
> Win2K workstation, for instance. I've never been able to figure out
> why. 

Sorry folks, should have mentioned we're on a lowly NT4/Office 97 setup 
here. I just assumend it would work on other platforms ...
0
keith.wilby (292)
7/15/2004 8:23:25 AM
Keith Wilby <keith.wilby@AwayWithYerCrap.com> wrote in
news:Xns9527601C4F793keithwilby@10.15.188.42: 

> "David W. Fenton" <dXXXfenton@bway.net.invalid> wrote:
> 
>> It is not reliably usable. The START command will not run on my
>> Win2K workstation, for instance. I've never been able to figure
>> out why. 
> 
> Sorry folks, should have mentioned we're on a lowly NT4/Office 97
> setup here. I just assumend it would work on other platforms ...

It does work on Win2K in most configurations. It doesn't work on
mine. 

But I run in a non-standard configuration that has many default
services turned off and security substantially upped in comparison
to the defaults. 

But I can't see why that would break START.

-- 
David W. Fenton                        http://www.bway.net/~dfenton
dfenton at bway dot net                http://www.bway.net/~dfassoc
0
dXXXfenton (2542)
7/15/2004 6:53:49 PM
Reply:

Similar Artilces:

How to corrupt a MS Access database file in a 'normal' way?
Here is the situation: I wrote a VB programm, which stores all the information in a single Access database file using jet engine. It worked well, however one of my customs reported that there was some problems with this programm. I checked, the log files showed that the database was corrupted. The customer told me that there no 'illegal' operation such as pull out the plug, or kill the programm via task manager... So is there any possible normal operation which could corrupt the database? such as 'Weird characters' I guess? (The custom is from Italy, is there any special Italian chars could do this?) Of course it is possible that there are some bugs in the programm, which possibly caused a error may corrupt the database file, but still, how? The program wasn't stopped violently anyway ... Anyone could give some idea about this? Since it is rather hard to talk to Italians... So I can not completely investigate 'what they did about the program'... I have to check the program and potential operations which may corrupt the database. Thanks a lot. shineofleo wrote: > The customer told me that there no 'illegal' operation such as pull out > the plug, or kill the programm via task manager... > Of course it is possible that there are some bugs in the programm, > which possibly caused a error may corrupt the database file, but still, > how? The program wasn't stopped violently anyway ... > > Since it is rather hard t...

A 'datagrid' or 'table' in MS Access
I'm developing a form in Access with VBA. But i didn't found a good way to display the results of a query. I would like to show the results in a way simular to a table in access. (and not as a subform) Any suggestions how to implement this ? Regards, Jon S. wrote: > I'm developing a form in Access with VBA. > > But i didn't found a good way to display the results of a query. > > I would like to show the results in a way simular to a table in > access. (and not as a subform) > > Any suggestions how to implement this ? Ummm.... A subform in datasheet view? A continuous subform with fields side by side to look like a datasheet? A listbox? Br@dley I used a subform in datasheet view, and it starts to look as i intended it. Thanks for the reply Regards, ...

How to add records with 'Autonumber' property to a MS Access database using LabVIEW?
I am trying to write to a MS Access database. Everything works fine as long as I add data to all records at the same time. The database I am using have two tables (just for testing) with a 'one-to-many' relationship between the two. They both have a PrimaryKey with the data type 'AutoNumber'. From what I understand those numbers should be automatically generated when new data is written to the DB. I can't get that to work with LabVIEW. I am using the function 'DB Tools Insert Data.vi'. According to the manual I should be OK with specifying the column I want to write...

ms-access database cannot be updated
I have a ms-access application. The front end is ms-access and the backend is SQL Server. Originallly it worked well on windows 2000 machine. After the machine is re-imaged to windows xp machine. The application cannot be updated. All the textbox or dropdownlist become readonly. There are no particular error message. The screen is just freeze when you are trying to do update. Can someone help with this issue? Thanks! ...

Re: How to add records with 'Autonumber' property to a MS Access database using LabVIEW?
I applied the same approach as you guys have described, however my problem starts before I get to autonumber. I have an issue feeding column (data) from "DB tool list column VI" to "DB Tools insert data VI" .So when&nbsp; I connect&nbsp; column output of "DB tool list vi" to column input of "Insert data Vi " I get an error message "exception occurred in Microsoft OLE DB Provider for ODBC Drivers, [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.." However, when I don?t connect column between those two v...

Re: How to add records with 'Autonumber' property to a MS Access database using LabVIEW? #2
Hi Alex77, can you please post your vi? so that it will be easier to understand your problem. Any of the field has autogenerated values??? ...

Using Access to 'access' an sql database on a webserver
Is this possible? I know about a bit about ODBC and found how to import an ODBC database stored on the computer, however I am after accessing an SQL database stored on a webserver. I'd like to keep it up to date, but that could probably be done with a macro. At the moment I'm just considoring possible options, so just need to know if it can be done, how easy and a rough idea of how. Any help would be much appreciated! Flic On 6 Oct 2006 03:59:25 -0700, "Flic" <FelicityP@gmail.com> wrote: I typically create an ADP, then connect to such db specifying the IP address and the u/pw I got from the ISP. -Tom. >Is this possible? > >I know about a bit about ODBC and found how to import an ODBC database >stored on the computer, however I am after accessing an SQL database >stored on a webserver. I'd like to keep it up to date, but that could >probably be done with a macro. > >At the moment I'm just considoring possible options, so just need to >know if it can be done, how easy and a rough idea of how. > >Any help would be much appreciated! > >Flic Yes, you can connect to the sql server. However, how that server is exposed to the wild wild internet is another matter!! Most (if not all) administrators of their web sites NEVER EVER allow their database server to be exposed to a wide open port on the internet. So, can you do this...sure. However, you need go to web server, and setup the permissions to a...

Updating MS-Access Database query
hello i need to update my MS-Access database thru matlab. when using the following code using function "updates" it updates the database i.e .......whereClause = 'where month = ''Nov'''..... Here "Nov" is an entry in the database. Now when i assign a variable to the months..ie variable name "MNTH" could contain Jan /Feb etc,.....and i want to pass the variable "MNTH" ie .......whereClause = 'where month = ''MNTH'''..... it DOES NOT update the database and i receive the error .....error in horxcat......

Create MS/ACCESS database app for non-ms/access users
Is it possible to create an MS/ACCESS database application and package it for users who do not have MS/ACCESS loaded in their PCs? I was told that this is possible, but I don't know what software is needed. Do you know? If so, please answer this post. Thanks. SueB *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! Per Sue Bricker: >Is it possible to create an MS/ACCESS database application and package >it for users who do not have MS/ACCESS loaded in their PCs? > >I was told that this is possible, but I don't know what software is >needed. Do you know? If so, please answer this post. Thanks. I think it comes down to semantics. "Licensed" vs "Loaded". No you can't create an app that will run on a PC with nothing loaded. Yes you can create an app that will run on a PC where nobody's paid the fee to run MS Access. You still have to install something on that PC, however. What it is is a freebie version of MS Access that only runs applications - doesn't allow anybody to develop an app. You develop the app on your PC, which has MS Access installed. Then somebody installs the freebie ("Runtime Access") on somebody's PC and they can run the app you developed without having to pay any money to anybody. -- PeteCresswell Sue, If Access isn't present, some version of it must be installed to run an Access database. VB.NET, ...

MS Access 2000 corrupt's databases
Hello. We have about 20 users in our Access databases. Sometime databases corrupts and are not available. I have to correct them. It is not nice, because you have to ask every user to close database, because other wise correcting is not possible. We have 100 Mt Cat 5 ethernet and some of the users use database via Citrix servers. Why databases corrupts and is there anything I can do to this problem? Hannu There are some things that can be done to minimize the problem. First, make sure the have the most current updates and service packs for Office, MDAC, Jet, and your operating systems. These are free downloads from Microsoft's web site. Next, make sure each local user has a front-end file on their computer, with a back-end file containing just the tables of data as a back-end on a network share. Also, make sure the users always close Access properly before they exit a session or shut down their computers. For more information on preventing corruption, you will find some good tips here. http://members.iinet.net.au/~allenbrowne/ser-25.html -- Wayne Morgan MS Access MVP "Hannu" <hannu.lappalainen@niiralankulma.fi> wrote in message news:e671227a.0408152348.192e9bea@posting.google.com... > Hello. > > We have about 20 users in our Access databases. Sometime databases > corrupts and are not available. I have to correct them. It is not > nice, because you have to ask every user to close database, because > other wise correcting i...

'''''''''''''The Running Update/Append Queries Using VBA code Ordeal''''''''''''''
Hello fellow programmers, I am trying to run an append/update query from code, a command button on a form initiates the queries. the format i am using is; _____________________________________________________ SELECT "criteria" FROM "criteria" WHERE "criteria" UPDATE/APPEND "field selections" RecordSource "qryExample" = above text strings" _______________________________________________________________________ When i am running a SELECT query in this manner it works fine with no problems, and accepts the values of specified linked form fields. This never works when doing an APPEND/UPDATE query. It can never find the values of linked form fields, Access always asks for the parameter value of the field(s) in question, or Access comes up with an error 3323 - No recordset. I am sure there are other people that have had this problem. What is the difference between Select queries and append/update queries? the append/update queries never seem to be able to find values in linked form fields. Can anyone shed any light on this or point to a knowledgebase Item, or even recommend a book focusing on this subject, I will go and buy it now. I have been for up 2 nights trying to acomplish this and now considering suicide, please help. Thanks In advance, Aaron. I know of two ways you can accomplish this. 1. You can create the SQL script for you append or update query and run the script with DoCmd.RunSQL. 2. You can create a...

'''''''''''''The Running Update/Append Queries Using VBA code Ordeal'''''''''''''' #2
Hi, Thanks for ur help there HJ. I know how to do the tasks you specified there. I would like for the update query to use field values from some of the fields on the form (frmInvoices) such as InvoiceNumber, DateFrom, DateTo. My problem is that an append/update query can't find the values in the open Form (frmInvoices) when I specify them as; [Forms]![frmInvoices]![InvoiceNumber] a select query has no problem finding the field values on a form. please help. Aaron Hi Aaron, Could you post the entire code that you are having trouble with? Now it is not possible to see what goes wrong. HJ "Aaron" <aaron@rapid-motion.co.uk> wrote in message news:260d7f40.0408120245.2f3d01f8@posting.google.com... > Hi, > > Thanks for ur help there HJ. > > I know how to do the tasks you specified there. > > I would like for the update query to use field values from some of the > fields on the form (frmInvoices) such as InvoiceNumber, DateFrom, > DateTo. My problem is that an append/update query can't find the > values in the open Form (frmInvoices) when I specify them as; > > [Forms]![frmInvoices]![InvoiceNumber] > > a select query has no problem finding the field values on a form. > > please help. > > Aaron First off, if you are not always using all the parameters specified in your form, then you have to add parameters to your query on the fly. Also, you can't just do something like qdf.SQL = "SE...

how do you update a java.sql.date type in an ms access database
when i update a row in an access database the date field does not update to the correct date it brings up some funny date which i dont know where it comes from. Below is the method i use to update. maybe the date types are not compatable? thanks in advance, public static void bookIN(int custID, int rNumber,java.sql.Date bkInDate ){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String filename = "hotelDB.mdb"; String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; database+= filename.trim() + ";DriverID=22;READONLY=true}"; Connection con = DriverManager.getConnection( database ,"",""); int yes = 1; Statement s = con.createStatement(); s.executeUpdate("update Rooms set CustomerId ="+custID+",BookINDate ="+ bkInDate +",Occupied = "+yes+" where RoomNo = "+rNumber+" "); s.close(); con.close(); } catch (Exception err) { System.out.println("ERROR: " + err); } } "chose" wrote... > when i update a row in an access database the date field > does not update to the correct date it brings up some > funny date which i dont know where it comes from. It comes from db's attempt to parse an invalid date-string... In Access/Jet,...

'you do not have exclusive access to the database...'
I recently updated one of my clients from Access 97 front-end to Access 2003. (Database still in 97 format). They have about 5 networked PCs. On one of these PCs only, the user gets a warning message when logging in: 'you do not have exclusive access to the database at this time ... may not be able to save changes'. The message keeps on reappearing. If he hits ok about 30 times, it eventually goes away. Can someone help? Thanks. -- Zippy S On Oct 22, 12:53 pm, Zippy <Zipp...@thedessers.com> wrote: > I recently updated one of my clients from Access 97 front-end to Access > 2003. (Database still in 97 format). > > They have about 5 networked PCs. On one of these PCs only, the user > gets a warning message when logging in: 'you do not have exclusive > access to the database at this time ... may not be able to save > changes'. The message keeps on reappearing. If he hits ok about 30 > times, it eventually goes away. > > Can someone help? > Thanks. > -- > Zippy S 1) It could be the way the data is being handled. With multi-user systems, it makes more sense to use dbOpenTable or dbOpenDynaset recordset types only to save a record, and dbOpenSnapshot for everything else. This is quite different from the historic method of opening all tables for read/write when the program is opened and then closing them when the program exits. 2) It could also be a known bug of the .ldb file in Access 2000/2003. If I re...

How do I set MS Access NOT to use my profile's 'My Documents'
Hello All, I need to set Access to use my local folder, and not my 'My Docs' folder which is in a netwrok drive. I did the setting thru' options, but when I logged in again, it was pointing to 'My Docs' folder. How do I set this folder permanently? Regards K. Lakshmanan On 4 Mar 2006 01:53:07 -0800, lakshmanan.kk@gmail.com wrote: >Hello All, >I need to set Access to use my local folder, and not my 'My Docs' >folder which is in a netwrok drive. >I did the setting thru' options, but when I logged in again, it was >pointing to 'My Docs' folder. >How do I set this folder permanently? >Regards >K. Lakshmanan Tools/Options/General/Default database folder Wayne Gillespie Gosford NSW Australia Thanks. I did that and when I logged out of XP and login again, it was pointing to My Documents. Now I found a setting (in three places, if I am right) in registry called 'default database directory' which was setting this value. I changed that to my local folder, and now it is fine. Thanks anyway. Regards. ...

MATLAB command to access MS Access database
Hi! Is there a MATLAB command which gives access to a .mdb MS Access database or do I need a special driver? Thanks, Andree Hi Andree Ellert, you can use activeXcontrol to interact with MS-Access database. access = actxserver('Access.Application'); returns the handle for Access. set(access, 'Visible', 1); will show the opened Access window. use get(access) and set(access) commands to find the methods available to call. -Vadivelu M =========== http://www.mathworks.com/access/helpdesk/help/toolbox/database/datatool.shtml "Andree Ellert" <ellert@gmx.net/////\\\\\> wrote in message news:eed9874.-1@webx.raydaftYaTP... > Hi! > > Is there a MATLAB command which gives access to a .mdb MS Access > database or do I need a special driver? > > Thanks, > > Andree Andree Ellert wrote: > > > Hi! > > Is there a MATLAB command which gives access to a .mdb MS Access > database or do I need a special driver? > > Thanks, > > Andree <http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=4045&objectType=file> -Hardik ...

Error '3426' When Updating Database
Here's the code: Private db As Database, rs As Recordset Set rs = db.OpenRecordset("Table") rs.AddNew 'User puts in some stuff in form and hits okay rs.Update This stuff works perfectly for the FIRST record only. When I try to add a second one, it gives me the runtime error '3426': This action was cancelled by an associated object. Any ideas on how to fix this? -- Message posted via http://www.accessmonster.com On Wed, 29 Dec 2004 18:27:15 GMT, "Christina Grabe via AccessMonster.com" <forum@AccessMonster.com> wrote: >Here's the code: >Private db As Database, rs As Recordset > >Set rs = db.OpenRecordset("Table") > >rs.AddNew >'User puts in some stuff in form and hits okay >rs.Update > >This stuff works perfectly for the FIRST record only. When I try to add a second one, it gives me the runtime error '3426': This action was cancelled by an associated object. >Any ideas on how to fix this? > >-- >Message posted via http://www.accessmonster.com Hi see "PRB This Action was Cancelled by an Associated Object.(3426)" perhaps, at http://support.microsoft.com/kb/q189851/ or serach Google for "This Action was Cancelled by an Associated Object" with the quotes. "http://support.microsoft.com/kb/q189851/ David I did those things before posting this and they didn't help much. My recordset was not pointing to a null and Google didn'...

Access database as 'exe' file
I am developing an Access database with files linked to external spreadsheets and wish to distribute it as an 'exe' file. Is this possible and if so, can anyone answer my dumb question? Thks On 16 Mar 2005, stuart.r.deaves@transport.qld.gov.au (StuartD) wrote: >I am developing an Access database with files linked to external >spreadsheets and wish to distribute it as an 'exe' file. You don't mention Access version, so what I say may be out of date... for the Access 97 that I have there is a developer's version which allows you to distribute a RUNTIME module (it is, as far as I know, the full Access install with all of the development interface options disabled) with a wizard in the program which creates the install routine and the links to the database application you have created I will GUESS this is still true, but I have not looked at any of the newer versions of Access, so am not 100% sure You should go to the Microsoft site and search around for your version of Access John Thomas Smith http://www.direct2usales.com http://www.pacifier.com/~jtsmith For MS Office XP (Access 2002) there is a developer editon, which includes Access runtime and packaging wizard. Unfortunately, for MS Office 2003 (Access 2003) there is no such developer edition, but you must purchase Visual Studio Tools for MS Office :( , which contains Access 2003 runtime and packaging wizard. Greetings "John Thomas Smith" <jtsmith@pacifier.com> je nap...

Simple MS Access Update ... Wont Update
Hi, For some reason, when I put this query in all it does is give me the old value and doesn't subtract the value by 1. I'm not new to SQL but this is quite odd. UPDATE Rental_Line_Items SET Rental_Line_Items.Days_Left = (Rental_Line_Items.Days_Left-1) WHERE (((Rental_Line_Items.Returned_Date) Is Null)); nvm ... somehow the exact same query that didn't work 2 seconds ago ... works now thanks though ...

request for explanation on access an database in ms access
This is the code that I found on the internet for accessing an ms access database: import java.sql.*; class Test { public static void main(String[] args) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // set this to a MS Access DB you have on your machine String filename = "d:/java/mdbTEST.mdb"; String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end // now we can get the connection from the DriverManager Connection con = DriverManager.getConnection( database ,"",""); } catch (Exception e) { System.out.println("Error: " + e); } } } What I don't understand is the declaration of database. What I did was putting the database in the same dir as the sourcecode and use "jdbc:odbc:CafeJolt.mdb". But this doesn't work. And the above code does, why is that??? Actually it's not Java question. It's ODBC question. You have to have ODBC connection. Depending of Windows it's usually something like this (for my Windows 2000): Start->Sttings->Control Panel->Administartive Tools->Data Sources(ODBC)-> User DSN -> [Add]-> Driver to Microsoft Access(*.mdb) === And here, finally you can choose file name. ...

Access MS-ACCESS database on server from client????
I m currently developing a java based application and want to know how can i make client access database located on the server? "HeMan_Speaks" <Lunar20092010@gmail.com> wrote in message news:d71ce567-0434-48b8-b1d2-bb191706ab45@w8g2000prd.googlegroups.com... >I m currently developing a java based application and want to know how > can i make client access database located on the server? I think you're going to have to expand a little bit more in your question here, as is not 100% quite clear what you're trying to do. You might want to make a little bit of a distinction between MS access, the development system that allows you to write code, build forms, and build reports, and that of the database engine that you choose to use with MS access. When you build an application MS access, you then choose your database engine, that might be oracle, SQL server, or perhaps more often leave the default jet database. So when you say make a client access application, are you talking about a piece of software that you plan to install and each computer? The fact that your introducing the issue of java further complicates your question. Perhaps your question is simply you have some java code running on a server, and with to open a mdb file (an access database file). In this situation you're not really using MS access at all here (you using what is called the jet database engine to read that mdb file). For all the trouble in this type of sce...

UPDATE VALUE IN ACCESS DATABASE-CONNECTIVITY DATABASE?
Hi to all labviewers, I'm trying to update some values in my access database with sql and labview connectivity toolset but i got an error, what is the problem whit my code? note: when i try to update one colum it's work fine. &nbsp; regard's eyal. UPDATE_ACCESS.JPG: http://forums.ni.com/attachments/ni/170/152737/1/UPDATE_ACCESS.JPG This is a multi-part message in MIME format. ------=_NextPart_000_0066_01C5EE8B.DE98AE20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I'm not sure if you can use comma's to se...

Can I update a MS Access 2002 database with Visual Basic .net 2003 Standard Editon?
I am considering purchasing Visual Basic .net 2003 Standard Editon to do some development work with Web Forms and I need to know whether this edit will allow me to update an Access database (mdb) file. I already have a database which is updated through an Access front-end, I want to update the database through web forms, is this possible? what are the benefits of going for the Professional Verion of Visual Studio instead? Cheers, In VB.Net you'd use the ADO.Net objects to update the database. Visual Studio.Net is just another Rapid Application Development (RAD) tool. It has the added ability of being the development platform for VB.NET, C#.NET, C++.NET, Java.NET. It can also easily create XML objects/dependencies and set up web pages to use ASP.NET. And, other stuff I've forgotten about. -- MGFoster:::mgf00 <at> earthlink <decimal-point> net Oakland, CA (USA) pisaac wrote: > I am considering purchasing Visual Basic .net 2003 Standard Editon to > do some development work with Web Forms and I need to know whether > this edit will allow me to update an Access database (mdb) file. I > already have a database which is updated through an Access front-end, > I want to update the database through web forms, is this possible? > what are the benefits of going for the Professional Verion of Visual > Studio instead? You'd want to go to the description of what you get with VB.NET Standard to see if it comes with the necessary su...

Is there a way to update a web database from an desktop Access database?
Hi, I would like to be able to take records from an Access database (most likely 2010) and update them to whatever database is being used on a web server? For instance, I would like to extract someone's calendar from an Access application and let them sign in and see what their calendar is for a certain time period. I know how to extract the data from Access, but not how to post it onto someone's website (which could be using MySQL, SQL Server). -paulw ...

Harpoon3 '1950
Hi guys, version 1.6 of the 1950-64 database for Harpoon3 is now released. Get it here: http://www.harpoonhq.com/harpoon3/colonialwars/ The database includes many new units: 27 aircraft, 28 ships, 7 submarines, and 26 facilities. There are currently four Harpoon3 databases, covering the 1939-2015 timeframe, available on the HarpoonHQ: World War II scenarios: http://www.harpoonhq.com/harpoon3/scenarios_wwii/ 1950-1964 scenarios: http://www.harpoonhq.com/harpoon3/colonialwars/ 1965-1979 scenarios: http://www.harpoonhq.com/harpoon3/scenarios_1960-79/ 1980-2015 scenari...

Web resources about - My FE updater - whadya'all fink? - comp.databases.ms-access

Resources last updated: 3/21/2016 3:50:49 PM