You can't update another document without opening it. A macro in document 1
could update document2, but it would have to open it to do so. But using a
second document just to store your number is unnecessary.
A simpler method would be to store a document variable in the template
containing the code (or in normal.dot). Or store the variable in a text
file, using ordinary input/print statements. Or even in the registry, for
that matter.
Thanks for your reply.
The problem I am running into is:
I need to create a new sequential number everytime one of 4-5 other documents
is opened. In other words, if I opened document B, it might have an invoice
number of, say 10027. If someone else opens document D a second later, it
would need to have an invoice number of 10028. The use of a
"privateprofilestring" does not appear to work when there are multiple users
on multiple computers in a network.
Any help is greatly appreciated.
thanks,
Steve
dfwtxsteve (at) aol.com
>You can't update another document without opening it. A macro in document 1
>could update document2, but it would have to open it to do so. But using a
[quoted text clipped - 10 lines]
>>>>
>>>> End Sub
Jonathan West - 17 Nov 2005 11:42 GMT
if you have multiple users and a single common number sequence, by
definition you are going to need the source of those numbers to be in a
location which is available to all the users. And also, you are going to
need to be able to do it in a way that can cope with two simultaneous
requests from different people.
If you are new to programming, I suspect that this is going to be a bit
beyond you - you have picked a multi-access multi-user problem for what
appears to be one of your first programming projects.
You need a database for this. Admittedly a very small one, but a database
nevertheless. I'm not a database programmer, so at this point I'm going to
drop out of this conversation.

Signature
Regards
Jonathan West - Word MVP
www.intelligentdocuments.co.uk
Please reply to the newsgroup
Keep your VBA code safe, sign the ClassicVB petition www.classicvb.org
> Thanks for your reply.
> The problem I am running into is:
[quoted text clipped - 27 lines]
>>>>>
>>>>> End Sub
Doug Robbins - Word MVP - 17 Nov 2005 20:44 GMT
The following code in an autonew macro in the template from which the
documents are created will add 1 to the last number used in an Access
database, and insert that number into a document variable in the document
Dim vConnection As New ADODB.Connection
Dim vRecordSet As New ADODB.Recordset
Dim LastNumber As Long, NewNumber As Long
vConnection.ConnectionString = _
"data source=c:\AQS\AQS.mdb;" & _ 'Use your own database
"Provider=Microsoft.Jet.OLEDB.4.0;"
vConnection.Open
vRecordSet.Open "tblNumbers", vConnection, adOpenKeyset, adLockOptimistic
vRecordSet.MoveLast
LastNumber = vRecordSet!Number
NewNumber = LastNumber + 1
vRecordSet.AddNew
vRecordSet!Number = NewNumber
vRecordSet.Update
ActiveDocument.Variables("varNumber").Value = NewNumber
ActiveDocument.Fields.Update
vRecordSet.Close
vConnection.Close
Set vRecordSet = Nothing
Set vConnection = Nothing
It is based on the datasource having a table called tblNumbers which
contains a number field with the fieldname of number. The Template must
have a { DOCVARIABLE varNumber } field in it to display the number.
In the template, you need to set a reference to the Microsoft ActiveX Data
Objects #.# Library under Tools>References in the Visual Basic Editor.

Signature
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
> Thanks for your reply.
> The problem I am running into is:
[quoted text clipped - 27 lines]
>>>>>
>>>>> End Sub