Newsgroup: it.comp.appl.access
Titolo: sincronizzazione tramite macro

ho un db replicato, all'apertura nasconde la finestra del dB e appare
la maschera principale da dove poter eseguire le diverse opzioni tra le
quali la sincronizzazione, però se ho la finestra DB nascosta non mi
permette di sincronizzare. Per rimediare ho scritto due righe di codice
che invia il tasto F11 per visualizzare la finestra DB, esegue una
macro che chiude la finestra principale e esegue il comando
sincronizzazione, ma neanche così funziona....cosa devo fare???

scordato un pezzo....
allora lanciando il codice pare funzionare tutto, appare la finestra
del DB viene eseguita la macro che chiude la maschera principale e
appare la finestra di sincronizzazione replica, seleziono il server web
per la sincronizzazione, mi chiede se voglio chiudere il db per
sincronizzare (fin qui tutto ok) selezioni Si chiude il Db ma non
sincronizza
...........aiuto!!!!

 ha scritto nel messaggio 
news:1166545095....@73g2000cwn.googlegroups.com...

Server Web?
Mhmm.. Nell'help in linea leggo:
Sincronizzazione dei dati di un set di repliche
...
Sincronizzazione diretta
La sincronizzazione diretta costituisce un'ottima soluzione se le repliche 
sono connesse direttamente alla rete locale (LAN) e sono disponibili tramite 
cartelle di rete condivise. La sincronizzazione diretta non costituisce 
invece la soluzione ottimale per effettuare la sincronizzazione remota 
tramite il servizio RAS (Remote Access Service) o una connssione di accesso 
remoto. In questo caso si consiglia di utilizzare la sincronizzazione 
indiretta o Internet.
Sincronizzazione indiretta
La sincronizzazione indiretta risulta utile se si lavora in un ambiente 
senza connessione alla rete, ad esempio per gli utenti di computer 
portatili.
La sincronizzazione indiretta puň essere configurata solo tramite 
Replication Manager, disponibile in Microsoft Office 2000 Developer (MOD). 
Una volta configurata la sincronizzazione indiretta con Replication Manager, 
č possibile eseguire una sincronizzazione di questo tipo utilizzando 
Microsoft Access, Replication Manager o gli oggetti JRO.
Sincronizzazione Internet
La sincronizzazione Internet costituisce un metodo pratico per sincronizzare 
le repliche all'interno di un ambiente senza collegamento alla rete, nel 
quale sia stato configurato un server Internet.
Per effettuare una sincronizzazione Internet, utilizzare Replication 
Manager, disponibile in Microsoft Office 2000 Developer (MOD).
...
Di quale sincronizzazione parli?
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
di quest'ultima

 di quest'ultima
Quindi hai tutto l'occorrente (MOD) per fare le repliche su internet?
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Beh uso il replication manager, la cosa che mi fa impazzire è che con
la sincronizzazione "manuale" e cioè io che seleziono il comando, il
tutto funziona, con il codice no, come ho già detto mi appare la
finestra di sincronizzazione, seleziono la replica con la quale
sincronizzare, mi chiede di chiudere il db per procedere, chiude il Db
e poi basta! non sincronizza......lo odio

 ha scritto nel messaggio 
news:1166602826.0...@i12g2000cwa.googlegroups.com...
Beh uso il replication manager, la cosa che mi fa impazzire è che con
la sincronizzazione "manuale" e cioè io che seleziono il comando, il
tutto funziona, con il codice no, come ho già detto mi appare la
finestra di sincronizzazione, seleziono la replica con la quale
sincronizzare, mi chiede di chiudere il db per procedere, chiude il Db
e poi basta! non sincronizza......lo odio
[risposta]
Anche se non utilizzo repliche, vediamo il codice che vorresti utilizzare...
Ciao.
-- 
Sergio MAZZA

Sergio MAZZA ha scritto:

premetto, di codice non ne capisco nulla
allora ho utilizzato questi due metodi che ho ricopiato da qualche post
1)creo una macro che chiude le maschere aperte e esegue il comando
sincronizza, l'ho salvata come modulo e associata ad un pulsante
Private Sub sincro_Click()
On Error GoTo sincro_Err
    DoCmd.Close acForm, "Maschera Principale"
    DoCmd.RunCommand acCmdSynchronizeNow
sincro_Exit:
    Exit Sub
sincro_Err:
    MsgBox Error$
    Resume sincro_Exit
End Sub
in questo caso mi appariva la finestra per la sincronizzazione ma poi
non accadeva nulla
2) utilizzato il seguente codice scopiazzato
Public Function SynchronizeNow()
    Dim dbRemote As DAO.Database
    Set dbRemote = DBEngine.OpenDatabase("path/name of remote db")
    dbRemote.Synchronize "path/name of local db"
    dbRemote.Close
    Set dbRemote = Nothing
  End Function
in questo caso mi da un errore di compilazione (se non ricordo male
diceva, tipo non definito dall'utente)

 diceva, tipo non definito dall'utente)
correggo, l'errore è il seguente
"errore di compilazione: tipo definito dall'utente non valido"

 ha scritto nel messaggio 
news:1166608877.2...@80g2000cwy.googlegroups.com...
premetto, di codice non ne capisco nulla
[risposta]
Bene; speriamo che in due ne facciamo uno buono.




sincro_Exit:
    Exit Sub







[risposta]
Perché devi inserire i riferimenti alla libreria Microsoft DAO (Strumenti - 
Riferimenti); e ovviamente cambiare i paramentri in OpenDatabase e 
Synchronize...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
hehehe.....allora i parametri li avevo cambiati ;) son meno peggio di
come mi descrivo :D
per quanto riguarda i riferimenti invece.....l'ho fatto
ora...risultato: è cambiato l'errore...ora appare questo:
Errore di Run-time '3055'
nome file non valido
il codice con i parametri personalizzati è il seguente:
ublic Function SynchronizeNow()
    Dim dbRemote As DAO.Database
    Set dbRemote = DBEngine.OpenDatabase("
http://85.
**.**.***")
    dbRemote.Synchronize "C:\Inetpub\wwwroot\pneusinc.mdb"
    dbRemote.Close
    Set dbRemote = Nothing
  End Function
cmq ti ringrazio per tutte le risposte fin'ora ricevute!

 ha scritto nel messaggio 
news:1166610367.4...@i12g2000cwa.googlegroups.com...
hehehe.....allora i parametri li avevo cambiati ;) son meno peggio di
come mi descrivo :D
[risposta]
Vabbé oh! Non si sa mai...
per quanto riguarda i riferimenti invece.....l'ho fatto
ora...risultato: è cambiato l'errore...ora appare questo:
Errore di Run-time '3055'
nome file non valido
il codice con i parametri personalizzati è il seguente:
ublic Function SynchronizeNow()
    Dim dbRemote As DAO.Database
    Set dbRemote = DBEngine.OpenDatabase("
http://85.
**.**.***")
    dbRemote.Synchronize "C:\Inetpub\wwwroot\pneusinc.mdb"
    dbRemote.Close
    Set dbRemote = Nothing
  End Function
cmq ti ringrazio per tutte le risposte fin'ora ricevute!
[risposta]
Ti riporto cosa dice l'help in linea del Metodo Synchronize:
...
Quando si effettua la sincronizzazione di due repliche su Internet, si deve 
utilizzare la costante dbRepSyncInternet. In questo caso, si specifica 
l'indirizzo URL (Uniform Resource Locator) per l'argomento nomepercorso 
invece di specificare un percorso di rete di dati locale.
...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
uhmm.....funziona!!!! sei un grande
ma......
sincronizza ma non riapre il DB

 sincronizza ma non riapre il DB
Te possino.
Leggi l'help in linea del metodo OpenCurrentDatabase...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

è turco, io so fare solo copia e incolla :D
apparte i scherzi, sono un ragioniere e mi occupo di ovviamente di
amministrazione, ogni tanto mi diletto in qualche opera informatica, ma
di programmazione ne capisco molto poco e a quanto pare sta volta mi
son buttato in una cosa un pò troppo impegnativa per la mia
esperienza. Ora proverò a capirci qlcs anche di questo
OpenCurrentDatabase....sei stato un aiuto prezioso...ti ringrazio di
cuore
Ciao
Diego T.

 ha scritto nel messaggio 
news:1166612867.9...@48g2000cwx.googlegroups.com...
è turco, io so fare solo copia e incolla :D
apparte i scherzi, sono un ragioniere e mi occupo di ovviamente di
amministrazione, ogni tanto mi diletto in qualche opera informatica, ma
di programmazione ne capisco molto poco e a quanto pare sta volta mi
son buttato in una cosa un pò troppo impegnativa per la mia
esperienza. Ora proverò a capirci qlcs anche di questo
OpenCurrentDatabase....sei stato un aiuto prezioso...ti ringrazio di
cuore
Ciao
Diego T.
[risposta]
Anche per me la contabilità è lingua straniera, ma quando mi serve qualcosa 
ed è alla mia portata (e costerebbe caro farlo fare), (almeno) ci provo.
Comunque; prova con: Application.OpenCurrentDatabase 
"c:\documenti\nomeMdb.mdb"
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

allora con l'istruzione che mi hai consigliato mi dava errore....db
già aperto....quindi ho sostituito con DoCmd.OpenForm "Maschera
Principale" e tutto funziona alla grande
sono emozionato, è venuta fuori una bella creatura, in parte anche
tua!!!!!
grazie a te e a tutti quelli che mi hanno aiutato direttamente o
indirettamente!
Ciao Diego T.

 ha scritto nel messaggio 
news:1166614029.5...@48g2000cwx.googlegroups.com...
allora con l'istruzione che mi hai consigliato mi dava errore....db
già aperto....quindi ho sostituito con DoCmd.OpenForm "Maschera
Principale" e tutto funziona alla grande
sono emozionato, è venuta fuori una bella creatura, in parte anche
tua!!!!!
[risposta]
Speriamo abbia preso il mio lato migliore...
grazie a te e a tutti quelli che mi hanno aiutato direttamente o
indirettamente!
Ciao Diego T.
[risposta]
Ciao.
-- 
Sergio MAZZA