Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

E' possibile far eseguire un programma vba in access da una cpu remota ?

226 views
Skip to first unread message

radicale 001

unread,
Jul 22, 2010, 2:23:01 PM7/22/10
to
Ambiente intranet, windows xp professional, m pc collegati in rete.

E' possibile, in questo contesto, "comandare" da un certo pc della
rete ad un altro pc della rete l' esecuzione di un programma vba
che si trova nell' "altro" pc della rete ? Come si fa ?
cosi' ? :
c = createobject(\\pxf001400\Access_01.mdb , access.application) ?
Troppo facile ... Non ci posso credere.

Ma supponiamo che sia vero.
Allora io prendo un programma P, lo divido in 100 pezzi autonomi,
li spargo su 100 pc diversi, li mando tutti in esecuzione, e
qualunque
sia il tempo d' elaborazione del programma originario T, lo riduco
a CALCI, MORSI E PUGNI a T/100 !

Un sogno !


Alessandro Cara

unread,
Jul 22, 2010, 3:30:29 PM7/22/10
to
radicale 001 ha scritto:

> Ambiente intranet, windows xp professional, m pc collegati in rete.
>
> E' possibile, in questo contesto, "comandare" da un certo pc della
> rete ad un altro pc della rete l' esecuzione di un programma vba
> che si trova nell' "altro" pc della rete ? Come si fa ?
> cosi' ? :
> c = createobject(\\pxf001400\Access_01.mdb , access.application) ?
> Troppo facile ... Non ci posso credere.
Questo non e' un problema di access ma un problema di sistema operativo.
La domanda e': come si fa a lanciare un programma su una stazione remota?
Io ho sempre usato un desktop remoto
Nel caso di Access le cose si complicano prche' sulla stazione remota
deve essere presente (installato) o Access o il suo RunTime
(googla anche "windows wake on lan"

>
> Ma supponiamo che sia vero.
> Allora io prendo un programma P, lo divido in 100 pezzi autonomi,
> li spargo su 100 pc diversi, li mando tutti in esecuzione, e
> qualunque
> sia il tempo d' elaborazione del programma originario T, lo riduco
> a CALCI, MORSI E PUGNI a T/100 !

Non so da dove ti sis spuntata questa idea. la cosa non credo sia come
la immagini.
Certo puoi far "correre" 100 pc con lo stesso programma ma per ottenere
quello che vuoi ciascuna istanza deve lavorare su un segmento di un
centesimo dell'intero. Questo deevi comunicarlo in qualche modo alla
singola istanza.


Domanda sciocca. Ma hai diviso il tuo mdb in FE e BE?
>
> Un sogno !
>
>
>
>

radicale.002

unread,
Jul 22, 2010, 7:04:41 PM7/22/10
to
On 22 Lug, 21:30, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:

> Questo non e' un problema di access ma un problema di sistema operativo.
> La domanda e': come si fa a lanciare un programma su una stazione remota?
> Io ho sempre usato un desktop remoto
> Nel caso di Access le cose si complicano prche' sulla stazione remota
> deve essere presente (installato) o Access o il suo RunTime
> (googla anche "windows wake on lan"

Ma *e'* installato, su ogni macchina.
Quindi ? Si puo' fare con quel metodo ?
Oppure ?

> Non so da dove ti sis spuntata questa idea.

Boh.

>la cosa non credo sia come la immagini.
> Certo puoi far "correre" 100 pc con lo stesso programma ma per ottenere
> quello che vuoi ciascuna istanza deve lavorare su un segmento di un
> centesimo dell'intero. Questo deevi comunicarlo in qualche modo alla
> singola istanza.

E certo ! Questo lo davo per scontato.
Devo scrivere programmi che *collaborino* tra loro.
E' tutta un' altra filosofia.
Mi piacerebbe MOLTO pero' costruire una cosa del
genere.

Non so pero' cosa siano l' FE e quell' altra cosa, francamente.

radicale.002

unread,
Jul 22, 2010, 7:16:40 PM7/22/10
to
On 23 Lug, 01:04, "radicale.002" <radicale....@gmail.com> wrote:

> Non so pero' cosa siano l' FE e quell' altra cosa, francamente.

Ah ... Scusa ...

Non e' che gentilmente potresti buttare un occhio sul mio 3D
con titolo :
"Aiuto ! : da Access 2003 a Access 2007 non funziona la "stampa
lettere"

... Non sia mai che mi potessi aiutare. Diavolo, quello e' un grosso
problema, per me.

Alessandro Cara

unread,
Jul 23, 2010, 1:58:17 AM7/23/10
to
radicale.002 ha scritto:

> On 22 Lug, 21:30, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
> wrote:
>
>> Questo non e' un problema di access ma un problema di sistema operativo.
>> La domanda e': come si fa a lanciare un programma su una stazione remota?
>> Io ho sempre usato un desktop remoto
>> Nel caso di Access le cose si complicano prche' sulla stazione remota
>> deve essere presente (installato) o Access o il suo RunTime
>> (googla anche "windows wake on lan"
>
> Ma *e'* installato, su ogni macchina.
> Quindi ? Si puo' fare con quel metodo ?

Quale metodo? Createobject?
No. Createobject crea un riferimento ad un oggetto del tipo indicato.
Oggetto visibile all'interno della applicazione che lo ha creato e/o aperto.
E' quello che si fa normalmente per generare documenti Word e/o Excel ma
i programmi "corrono" sulla stessa macchina che li ha generati.
Gli oggetti (file) creati sono sempre il documento base che poi devi
riempire con tutto quello che serve e salvare dove si vuole o un
documento preesistente. L'oggetto puo' essere modificato utilizzando
proprieta' e metodi specifici del tipo oggetto stesso(i.e. se e' Excel,
metodi e proprieta' di Excel e delle sue sottoclassi).
E' la situazione descritta, utilizzando Word, dal tuo post "stampa lettere"
Dc.Content.Find.Execute findtext:=x, replacewith:=y,
Format:=True, Replace:=wdReplaceAll

Qui stai usando proprieta' e metodi specifici di Word perche' Dc e' Word(*)

> Oppure ?

1) Fare un front end (FE) unico o anche
2) Distribuire il FE sulle varie stazioni (copia su remoto, varie tecniche)
3) Mettere il BE sul server dati (e' possibile segmentere i dati su vari
BE)
4) Lancio su remoto del FE via "wake up" (ne so poco), eventualmente con
parametri di lancio.

>
>> Non so da dove ti sis spuntata questa idea.
> Boh.
>
>> la cosa non credo sia come la immagini.
>> Certo puoi far "correre" 100 pc con lo stesso programma ma per ottenere
>> quello che vuoi ciascuna istanza deve lavorare su un segmento di un
>> centesimo dell'intero. Questo deevi comunicarlo in qualche modo alla
>> singola istanza.
>
> E certo ! Questo lo davo per scontato.
> Devo scrivere programmi che *collaborino* tra loro.
> E' tutta un' altra filosofia.
> Mi piacerebbe MOLTO pero' costruire una cosa del
> genere.
>
> Non so pero' cosa siano l' FE e quell' altra cosa, francamente.

FE = Front end. Normalmente contiene la parte attiva (forms, report,
modules)
BE = Back end. Contiene i dati (tabelle).I dati vengono acceduti dal/i
BE via collegamento ("link" dinamico o statico)

Normalmente 1 BE n FE (1 FE per ogni stazione)

(*) se per qualche motivo, in versioni diverse del prodotto,
Dc,Content,Find, Execute hanno comportamenti diversi quella istruzione
va rivista.

Alessandro Cara

unread,
Jul 23, 2010, 1:58:34 AM7/23/10
to
radicale.002 ha scritto:
Mi sembrava di avercelo "buttato"
Se hai problemi prosegui quel 3D

"SCHIODA senza alcun ritegno in access 2007. Strasob."
Non e' che indichi molto del comportamento.
Hai provato a seguirlo cn il Debugger?
E prova a dare una occhiata al sito di Karl per vedere se c'e' qualche
indicazione al riguardo (probabimente cose che riguardano la automazione)


Uhmmmmmm....... comunque nell'oggetto del messaggio cose come:
Help, Aiuto, Mi ammazzo, Salvatemi,Non ci riesco....etc sono fortemente
aborrite dai "guardiani" del NG. Meglio evitare.

BFS

unread,
Jul 23, 2010, 3:43:47 AM7/23/10
to

devi fare un rootkit in access? :-)

BFS

radicale 004

unread,
Jul 23, 2010, 5:03:50 AM7/23/10
to
On 23 Lug, 07:58, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:

> Mi sembrava di avercelo "buttato"
> Se hai problemi prosegui quel 3D

Oddio scusa ... Hai ragione. Ieri stavo nel pallone.

radicale 004

unread,
Jul 23, 2010, 5:15:58 AM7/23/10
to
On 23 Lug, 07:58, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:

>Quale metodo? Createobject?


>No. Createobject crea un riferimento ad un oggetto del tipo >indicato. Oggetto visibile all'interno della applicazione che
>lo ha creato e/o aperto.

Ma sui libercoli che ho, ho letto che se fai :

dim Oggetto_Access as access.application
set Oggetto_Access = createobject("server", Access.application)

la macchina apre un access *sul* server, ma il riferimento
Oggetto_Access e' invece sulla macchina che l' ha creato,
per cui tramite questo tu puoi manovrare quello, facendo
processare il lavoro dalla cpu remota.

Perlomeno, io ho capito cosi' ... :-)

>FE = Front end. Normalmente contiene la parte attiva (forms, >report, modules)
>BE = Back end. Contiene i dati (tabelle).I dati vengono acceduti >dal/i BE via collegamento ("link" dinamico o statico)

Ah, sono quelli ? Non sapevo che si chiamassero cosi !
A me 'ste cose non le ha insegnate mai nessuno ... Ma
ci sono arrivato da solo e infatti ho costruito :

un FE, che contiene i programmi e le maschere e che
risiede su ogni macchina e che parla con l' utente.
Ad ogni FE corrisponde un BE locale, sempre sulla
stessa macchina, che contiene una copia esatta dei
dati del BE server (piu' altri che gli servono per
funzionare bla bla bla), che invece e' unico.

Paolo opg

unread,
Jul 23, 2010, 5:48:23 AM7/23/10
to
radicale 001 <radica...@gmail.com> wrote in news:1695b0e2-5e68-4119-
9361-008...@w31g2000yqb.googlegroups.com:

> Ambiente intranet, windows xp professional, m pc collegati in rete.
>
> E' possibile, in questo contesto, "comandare" da un certo pc della
> rete ad un altro pc della rete l' esecuzione di un programma vba
> che si trova nell' "altro" pc della rete ? Come si fa ?
> cosi' ? :
> c = createobject(\\pxf001400\Access_01.mdb , access.application) ?
> Troppo facile ... Non ci posso credere.
>


dipende da cosa intendi per 'comandare'...
tu vuoi mandare i click al programma sul client?
la vedo dura...


> Ma supponiamo che sia vero.
> Allora io prendo un programma P, lo divido in 100 pezzi autonomi,
> li spargo su 100 pc diversi, li mando tutti in esecuzione, e
> qualunque
> sia il tempo d' elaborazione del programma originario T, lo riduco
> a CALCI, MORSI E PUGNI a T/100 !
>
> Un sogno !
>
>


e' una cosa che si fa gia'; imo farla con access non ha senso...

http://it.wikipedia.org/wiki/Calcolo_distribuito


--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

pablitomf

unread,
Jul 23, 2010, 5:48:30 AM7/23/10
to
On 22 Lug, 20:23, radicale 001 <radicale....@gmail.com> wrote:
> Ambiente intranet, windows xp professional, m pc collegati in rete.
>
> E' possibile, in questo contesto, "comandare" da un certo pc della
> rete ad un altro pc della rete l' esecuzione di un programma vba
> che si trova nell' "altro" pc della rete ? Come si fa ?
> cosi' ? :
> c = createobject(\\pxf001400\Access_01.mdb , access.application) ?
> Troppo facile ... Non ci posso credere.

Peccato solo che se lanci qualcosa che sia un mdb o un exe o quel che
ti pare, da remoto, si apre cmq in locale...
io direi una cosa...dovresti crearti un barbatrucco...
se avessi questa esigenza, io mi inventerei qualcosa che "ASCOLTA" su
ogni PC remoto che mi interessa...una sentinella...poi da server
centrale, lancerei quando devo, messaggi subliminali ai pc remoti, che
l' "ASCOLTATORE" decifrerà capendo cosa fare...
;)

> Ma supponiamo che sia vero.

Supposizione non vera, quindi non supponiamolo :D

Alessandro Cara

unread,
Jul 23, 2010, 7:29:15 AM7/23/10
to
Paolo opg ha scritto:
[cut]

>
> e' una cosa che si fa gia'; imo farla con access non ha senso...
>
> http://it.wikipedia.org/wiki/Calcolo_distribuito
Ok! Ma........
Ognuno usa cio' che ha a disposizione e/o conosce.
Se ho un archivio cartaceo e 100 segretarie non uso di certo il "c" per
esaminarlo. E questo nel massimo rispetto di wiki.

Alessandro Cara

unread,
Jul 23, 2010, 7:29:21 AM7/23/10
to
radicale 004 ha scritto:

> On 23 Lug, 07:58, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
> wrote:
>
>> Quale metodo? Createobject?
>> No. Createobject crea un riferimento ad un oggetto del tipo >indicato. Oggetto visibile all'interno della applicazione che
>> lo ha creato e/o aperto.
>
> Ma sui libercoli che ho, ho letto che se fai :

se i libercoli sono in "itagliano" la possibilita' di errori di
traduzione e' elevata.

>
> dim Oggetto_Access as access.application
> set Oggetto_Access = createobject("server", Access.application)

"server" e' solo l'indirizzo del file da aprire e/o creare.

dall'help:
CreateObject(classe,[nomeserver])
classe, Obbligatoria. Variant (String). Nome dell'applicazione e classe
dell'oggetto da creare.
nomeserver, Facoltativa. Variant (String). Nome del server di rete su
cui verrà creato l'oggetto. Se è una stringa vuota (""), viene
utilizzato il nome del computer locale.


>
> la macchina apre un access *sul* server, ma il riferimento
> Oggetto_Access e' invece sulla macchina che l' ha creato,
> per cui tramite questo tu puoi manovrare quello, facendo
> processare il lavoro dalla cpu remota.

tutto giusto solo che la cpu e' quella locale e sul server non apre
l'applicazione ma il file.

>
> Perlomeno, io ho capito cosi' ... :-)

in questo caso oserei dire che la comprensione e' approssimativa ;-{)

Paolo opg

unread,
Jul 23, 2010, 8:04:20 AM7/23/10
to
Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
news:r2f2o.215655$813.1...@tornado.fastwebnet.it:

se ti chiedono di sviluppare un web server e conosci solo access lo scrivi
in vba dentro un mdb?

imo ti conviene renderti conto che access per quanto versatile ha qualche
limite e prenderne atto, guardandoti poi intorno per trovare un'altra via.


ne caso specifico, a mio parere access non e' uno strumento indicato per lo
sviluppo di un sistema di calcolo distribuito.

Alessandro Cara

unread,
Jul 23, 2010, 8:36:54 AM7/23/10
to
Paolo opg ha scritto:

> Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
> news:r2f2o.215655$813.1...@tornado.fastwebnet.it:
>
>> Paolo opg ha scritto:
>> [cut]
>>> e' una cosa che si fa gia'; imo farla con access non ha senso...
>>>
>>> http://it.wikipedia.org/wiki/Calcolo_distribuito
>> Ok! Ma........
>> Ognuno usa cio' che ha a disposizione e/o conosce.
>> Se ho un archivio cartaceo e 100 segretarie non uso di certo il "c" per
>> esaminarlo. E questo nel massimo rispetto di wiki.
>>
>>
>
> se ti chiedono di sviluppare un web server e conosci solo access lo scrivi
> in vba dentro un mdb?
se non esistesse apache o iis o non li avessi a disposizione perche' no?
In fondo e' sufficiente aprire un socket (anche la porta 80) e scambiare
messaggi(*).

>
> imo ti conviene renderti conto che access per quanto versatile ha qualche
> limite e prenderne atto, guardandoti poi intorno per trovare un'altra via.

Dei limiti, soprattuto dei miei, e' da un po' che me ne sono reso conto.
Non so volare e non per paura ;-{)


>
>
> ne caso specifico, a mio parere access non e' uno strumento indicato per lo
> sviluppo di un sistema di calcolo distribuito.

Mica ho detto il contrario. Non a caso ho fatto l'esempio dell'archivio
cartaceo. E' dura con un archivio cartaceo far girare i programmi che si
occupano di calcolo distribuito ed ho citato conoscenza e disponibilita'

>
>

(*) il lavoro di base che fa il web server, di fatto, non e' altro che
leggere un file sul locale e spedirlo all'indirizzo che lo ha richiesto
non e' che richieda grosse capacita' computazionali e' solo I/O.
Hanno scritto web server in Java che e' tutto tranne che prestazionale.

Popi - TheBadHabits

unread,
Jul 23, 2010, 9:33:25 AM7/23/10
to
On 22 Lug, 20:23, radicale 001 <radicale....@gmail.com> wrote:
> Ambiente intranet, windows xp professional, m pc collegati in rete.
>
> E' possibile, in questo contesto, "comandare" da un certo pc della
> rete ad un altro pc della rete l' esecuzione di un programma vba
> che si trova nell' "altro" pc della rete ? Come si fa ?
> cosi' ? :
> c = createobject(\\pxf001400\Access_01.mdb , access.application) ?
> Troppo facile ... Non ci posso credere.

No, non è troppo facile, ma qualcosa del genere ;)

Metti il codice sotto in un modulo, apri il task manager e lancia la
routine senza passare il nome di un pc: vedrai che fra i task attivi
ci saranno 2 MSACCESS.EXE, il primo sei tu che hai aperto il modulo,
il secondo è l'applicazione generata con la CreateObject, che sparirà
chiudendo la MsgBox.

A questo punto apri il task manager anche su un pc della rete e
rilancia la routine dal tuo pc passandole il nome del pc che hai
scelto("\\NomePcInRete") : il tuo task manager continuerà a mostrare
un solo task, mentre sul pc che hai scelto comparirà quello della
CreateObject associato al nome utente con cui ti sei loggato sul tuo
pc.

Le due limitazioni che ho trovato (almeno qua, con una situazione
corrispondente a quella che hai indicato tu) sono:
1) il gioco funziona solo se su entrambi i pc c'è la *stessa* versione
di Access,
2) probabilmente bisogna inventarsi un ciclo di attesa in chiusura
perché il task sul pc remoto non termina.

HTH

Popi


Public Sub AppInRemoto(Optional ByRef NomePc As String = "")

Dim ApplicazioneRemota As Access.Application

On Error Resume Next
Debug.Print "Avvio ..."
Set ApplicazioneRemota = CreateObject("Access.Application",
NomePc)

Debug.Print "Caricamento db ..."
ApplicazioneRemota.OpenCurrentDatabase "X:\Archivi\TestRemoto.mdb"

Debug.Print "Messaggio ..."
MsgBox ApplicazioneRemota.SysCmd(acSysCmdAccessDir) & vbCrLf &
ApplicazioneRemota.SysCmd(acSysCmdAccessVer), , "Avviata"

Debug.Print "Chiusura ..."

ApplicazioneRemota.Quit acQuitSaveNone

On Error GoTo 0

Debug.Print "Termine ..."
Set ApplicazioneRemota = Nothing

Debug.Print "Finito."

End Sub

Paolo opg

unread,
Jul 23, 2010, 10:03:37 AM7/23/10
to
Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
news:S1g2o.215701$813....@tornado.fastwebnet.it:

> Paolo opg ha scritto:
>> Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
>> news:r2f2o.215655$813.1...@tornado.fastwebnet.it:
>>
>>> Paolo opg ha scritto:
>>> [cut]
>>>> e' una cosa che si fa gia'; imo farla con access non ha senso...
>>>>
>>>> http://it.wikipedia.org/wiki/Calcolo_distribuito
>>> Ok! Ma........
>>> Ognuno usa cio' che ha a disposizione e/o conosce.
>>> Se ho un archivio cartaceo e 100 segretarie non uso di certo il "c"
>>> per esaminarlo. E questo nel massimo rispetto di wiki.
>>>
>>>
>>
>> se ti chiedono di sviluppare un web server e conosci solo access lo
>> scrivi in vba dentro un mdb?
> se non esistesse apache o iis o non li avessi a disposizione perche'
> no? In fondo e' sufficiente aprire un socket (anche la porta 80) e
> scambiare messaggi(*).
>

[cut]


> (*) il lavoro di base che fa il web server, di fatto, non e' altro che
> leggere un file sul locale e spedirlo all'indirizzo che lo ha
> richiesto non e' che richieda grosse capacita' computazionali e' solo
> I/O. Hanno scritto web server in Java che e' tutto tranne che
> prestazionale.
>


non c'entrano le prestazioni...

access e' adatto per tante cose e non e' adatto per tante altre.

che mi risulti, fare da server o restare attivo h24 per lunghi periodi
(per lunghi periodi intendo giorni) non e' uno dei compiti per cui e'
stato pensato access.

puoi usarlo ugualmente, puoi mettere in piedi comunque tutto quello che
vuoi, ma poi non ti devi lamentare se ti mangia tutta la memoria in due
ore oppure ti obbliga a riavviare il server ogni paio di giorni.

si chiamano scelte di progetto: le fai all'inizio e se le fai male poi ne
paghi le conseguenze.

e se le scelte di progetto le fai considerando solo cio' che conosci
(conosco access e quindi uso access), oltre a non crescere
professionalmente imo rischi anche di prendere cantonate.

Alessandro Cara

unread,
Jul 23, 2010, 11:17:30 AM7/23/10
to
Paolo opg ha scritto:
[cut]

> e se le scelte di progetto le fai considerando solo cio' che conosci

> (conosco access e quindi uso access), oltre a non crescere
> professionalmente imo rischi anche di prendere cantonate.
>
>

Tanto ed esclusivamente per la cronaca, non conosco solo access e forse
questo e' un mio limite perche' tendo a ricondurre tutto a bit on bit off.
Trovo comunque normale che ognuno, puo' informarsi certo, ma fa le cose
in base alle conoscenze che ha. Trovo complicato che riesca a fare cose
che non conosce e non c'e' niente di peggio che una conoscenza
superficiale per prendere cantonate ed ancora peggio se le cose si fanno
per sentito dire.

Mia nipote voleva far girare un server web sul commodore 64, era
fattibile ma, ovviamente, era un gioco.

.....e in quanto a leak di memoria(*), in access ed anche in altri
ambienti, modestamente, sono un esperto ed il monitor di utilizzo
memoria e' un mio fraterno amico ;-{)

(*) ci dovrebbe essere anche un mio vecchissimo post sull'argomento

Paolo opg

unread,
Jul 23, 2010, 11:43:16 AM7/23/10
to
Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
news:loi2o.215759$813.1...@tornado.fastwebnet.it:

> Paolo opg ha scritto:
> [cut]
>
>> e se le scelte di progetto le fai considerando solo cio' che conosci
>> (conosco access e quindi uso access), oltre a non crescere
>> professionalmente imo rischi anche di prendere cantonate.
>>
>>
> Tanto ed esclusivamente per la cronaca, non conosco solo access e
> forse questo e' un mio limite perche' tendo a ricondurre tutto a bit
> on bit off.

ho fatto un discorso generale, non voleva essere un ipotesi sulle tue
conoscenze o una valutazione professionale su di te.

> Trovo comunque normale che ognuno, puo' informarsi certo,
> ma fa le cose in base alle conoscenze che ha. Trovo complicato che
> riesca a fare cose che non conosce e non c'e' niente di peggio che una
> conoscenza superficiale per prendere cantonate ed ancora peggio se le
> cose si fanno per sentito dire.
>

ovvio che ognuno fa in base a quello che sa fare.

per come la vedo io pero' bisogna anche conoscere i limiti dello
strumento che si usa.

tanto per tornare al post originale, se devo sviluppare un sistema di
calcolo distribuito e conosco solo access, posso ignorare l'esistenza di
strumenti piu' adatti e andare avanti con access: conosco quello, uso
quello.

oppure faccio un passo indietro e faccio fare il lavoro a chi sa
programmare in altri linguaggi piu' adatti per questo particolare
compito. o se e' giustificato dalla portata del progetto imparo questi
lignuaggi piu' adatti (vedi crescita professionale).

se pero' parto da 'uso cio' che so usare' imo mi avvio di slancio verso
il disastro e non cresco...

beninteso, opinione personale, non dogma di fede.

Alessandro Cara

unread,
Jul 23, 2010, 11:58:36 AM7/23/10
to
Paolo opg ha scritto:
[cut]
>
> beninteso, opinione personale, non dogma di fede.
>
Non credo ai dogmi. Neanche a quello della Trinita' (non Terence Hill).
In nome del professionismo della scalabilita' della ricerca della
prestazione ho visto spendere fior di fiorini con risultati spesso
discutibili.

radicale 004

unread,
Jul 23, 2010, 12:23:41 PM7/23/10
to
On 23 Lug, 15:33, Popi - TheBadHabits <rlu...@yahoo.com> wrote:

>Metti il codice sotto in un modulo,

(omissis)

Accidenti ... Ci devo provare.
E se funziona con access, allora funziona con qualsiasi
altro componente.

P.S.

Vuoi ridere ?
Leggevo : "metti il codice sotto in un modulo"
tutto insieme, e non capivo che volesse dire.
"sotto in un modulo" ... ? E che significa ?

Poi dopo qualche secondo ho capito che dovevo
leggere : metti il codice (che sta in fondo al
post) in un modulo ... :D

radicale 004

unread,
Jul 23, 2010, 12:31:52 PM7/23/10
to
On 23 Lug, 11:48, pablitomf <pablit...@virgilio.it> wrote:

> da remoto, si apre cmq in locale...

Ma secondo Popi, pare di no.
Vedi il suo post qui.

>se avessi questa esigenza, io mi inventerei qualcosa che "ASCOLTA" >su ogni PC remoto che mi interessa...una sentinella...poi da server
>centrale, lancerei quando devo, messaggi subliminali ai pc remoti, >che l' "ASCOLTATORE" decifrerà capendo cosa fare...

Notevole.
Ma cosi' funziona solo se su ogni remoto c'e' una
applicazione perennemente attiva.
Senno' i messaggi subliminali chi te li ascolta ?

Dunque penso che la via giusta sia un opportuno
mix tra la tua notevole idea e la tecnica di Popi :

un "centro" lancia le proc sui vari pc, le quali
a quel punto si che le metto in ascolto.
Fatto cio' subentra la tua idea.

Problema : per mandare i messaggi potrei scrivere su
dei piccoli file posti su ogni macchina, letti a
intervalli regolari.

Oppure chiedere ai pc remoti di leggere, sempre a
intervalli regolari, un file centrale.

Oppure ?

radicale 004

unread,
Jul 23, 2010, 12:35:57 PM7/23/10
to
On 23 Lug, 14:04, Paolo opg <spamcatc...@tiscali.it> wrote:

>imo ti conviene renderti conto che access per quanto versatile
>ha qualche limite e prenderne atto, guardandoti poi intorno per >trovare un'altra via.

Non se Access funge da semplice contenitore di un
vba.
Se tu vedi l' Access come un semplice contenitore
che serve solo e soltanto perche' appunto si riesce
a farlo partire su ogni macchina, ecco svelato il
mistero.

*certamente* vi sono soluzioni migliori, te ne do
atto.

>ne caso specifico, a mio parere access non e' uno strumento >indicato per lo sviluppo di un sistema di calcolo distribuito.

*NON* Access, per l' appunto.

radicale 004

unread,
Jul 23, 2010, 1:00:25 PM7/23/10
to
On 23 Lug, 15:33, Popi - TheBadHabits <rlu...@yahoo.com> wrote:
> No, non è troppo facile, ma qualcosa del genere ;)

Funziona, funziona.
Eccome se funziona. ;-)

Purtroppo, mi dice "autorizzazione negata" ,
il che vuol dire che funziona. Ci "prova"
ad avviarlo sulla macchina.
Ma questo e' un problema di grant.
Devo chiedere ai nostri sistemisti.

Grazie.

radicale 004

unread,
Jul 23, 2010, 1:18:32 PM7/23/10
to
On 23 Lug, 19:00, radicale 004 <radicale....@gmail.com> wrote:

> Purtroppo, mi dice "autorizzazione negata" ,

Ho risolto anche questo problema.
Mi sono messo su un' altra macchina e ho fatto
partire l' access sopra la macchina di cui ho
grant da amministratore.

E FUNZIONA ... ;-)

Ma non riesco a visualizzare l' applicazione sullo
schermo del server.

Qualche dritta ?


radicale 004

unread,
Jul 23, 2010, 1:24:45 PM7/23/10
to
On 23 Lug, 19:18, radicale 004 <radicale....@gmail.com> wrote:

> Ma non riesco a visualizzare l' applicazione sullo
> schermo del server.

In realta' si riesce solo a creare una istanza
di Access, ma non a manovrarla.
Non si apre.

E' come aver fatto, sul server :
dim A as new access.application
Questo lo fa, ma non si riesce ad aprirlo.


radicale 004

unread,
Jul 23, 2010, 1:58:04 PM7/23/10
to
On 23 Lug, 19:24, radicale 004 <radicale....@gmail.com> wrote:

> E' come aver fatto, sul server :
> dim A as new access.application
> Questo lo fa, ma non si riesce ad aprirlo.

NO !
Invece riesco a manovrarlo.

Ho provato : gl' ho fatto aprire una maschera
(dal remoto) che nell' evento aperura crea un
nuovo file di testo e ci scrive dentro.
Il file di testo e' stato creato.

Posso fare cio' che voglio.
*tranne* visualizzarlo sullo schermo.
Poco male, ma mi piacerebbe sapere perche'.

Non ho "accesso" sullo schermo di un altro
pc, e' chiaro.


Pablitomf (da casa)

unread,
Jul 24, 2010, 5:51:28 AM7/24/10
to

"radicale 004" <radica...@gmail.com> ha scritto nel messaggio
news:d9f45fdb-68fb-4ea5...@x21g2000yqa.googlegroups.com...

On 23 Lug, 11:48, pablitomf <pablit...@virgilio.it> wrote:

>> da remoto, si apre cmq in locale...

>Ma secondo Popi, pare di no.
>Vedi il suo post qui.

Dipende per "aprire" tu cosa intendi... io intendo che a video (di quello
remoto) si apre l'applicazione... onesto? io credo non si possa fare, ma non
ho mai trattato l'argomento così approfonditamente da poterlo scrivere con
il sangue :)
Io però sono scettico, perchè trattasi di interazione con il S.O. del PC
remoto... quindi eventualmente un emulazione di un trojan.

>Oppure ?

Oppure il Server (su cui magari setti IIS) scrivi su un DB con una sola
tabella "Messaggi" (ID,DESCRIZIONE) consultabile via ASP... ogni pagina
consultata dona all'utente una risposta... la risposta è il messaggio
subliminale...
L'ID sarà quello del PC remoto (PC1, PC2, PCn...) e la DESCRIZIONE sarà
l'azione che il Client dovrà eseguire...

Se sull'applicazione CLIENT temporizzerai un controllo di recupero dati (usa
il mio demo
http://lnx.accessgroup.it/community/access-web/recuperare-dati-da-server-remoto.html),
da utilizzare come comando, vedrai che qualche risultato lo otterrai ;)

radicale.002

unread,
Jul 24, 2010, 6:36:14 AM7/24/10
to
On 24 Lug, 11:51, "Pablitomf \(da casa\)" <pablit...@hotmail.it>
wrote:

> Dipende per "aprire" tu cosa intendi... io intendo che a video (di quello
> remoto) si apre l'applicazione... onesto?

Vediamola piu' in generale, se sei d' accordo.
posto che :
non tutte i processi presentano un output a video. Anzi, la maggior
parte dei processi *attivi* su una macchina NON compaiono a video,
e sono visibili solo tramite il task manager.

- azzarderei - la definizione che segue :
"un processo e' attivo quando, risiedendo in RAM, e' potenzialmente
eseguibile dalla macchina".

Ebbene ho verificato che e' possibile,con la tecnica standard che ho
trovato sul libro (dunque non parliamo di trojan, suvvia ...) e con l'
aiuto
del buon Popi, attivare (vedi sopra) un *componente* su una macchina
remota e fargli eseguire un compito : nel mio caso ho verificato la
produzione di un semplice file di testo, ma chiaramente a questo
punto
gli si puo' far fare qualunque cosa, *tranne* apparire a video.

I vantaggi sono evidenti :

- intanto l' estrema semplicita' delle istruzioni necessarie
per l' attivazione.

- poi il fatto che puo' essere attivato *qualsiasi* componente, anche
una applicazione excel, word, e credo (anche se non so come si
fa) un qualsiasi componente prodotto dall' utente.

- e poi quello piu' grosso :
si possono costruire applicazioni tali da realizzare un VERO
parallelismo, con macchine che collaborano tra loro per raggiungere
un risultato.

Per esempio, supponiamo di avere le macchine
M1, M2, ... Mn.
l' utente, tramite email, invia una richiesta di report a M1.

La macchina M1 possieda un tabella delle macchine
disponibili.

Allora potra' scegliere da quale macchina far elaborare
il report in funzione di n parametri come ad esempio :
p1 : la macchina e' libera
p2 : la macchina e' specializzata per questo tipo di
elaborazione
...
...

Dico : ti *rendi conto* della POTENZA di una cosa del genere ?

> Oppure il Server (su cui magari setti IIS) scrivi su un DB con una sola
> tabella "Messaggi" (ID,DESCRIZIONE) consultabile via ASP... ogni pagina
> consultata dona all'utente una risposta... la risposta è il messaggio
> subliminale...
> L'ID sarà quello del PC remoto (PC1, PC2, PCn...) e la DESCRIZIONE sarà
> l'azione che il Client dovrà eseguire...
> Se sull'applicazione CLIENT temporizzerai un controllo di recupero dati (usa

> il mio demohttp://lnx.accessgroup.it/community/access-web/recuperare-dati-da-ser...),


> da utilizzare come comando, vedrai che qualche risultato lo otterrai ;)

Francamente (meglio non bluffare) :
non ho le competenze sufficienti per capire DAVVERO
quelo che hai scritto. Intuisco solo che e' una gran figata. :-)

Pablitomf (da casa)

unread,
Jul 24, 2010, 8:05:35 AM7/24/10
to
Francamente (meglio non bluffare) :
non ho le competenze sufficienti per capire DAVVERO
quelo che hai scritto. Intuisco solo che e' una gran figata. :-)

-------------

se hai almeno XP Professional o meglio ancora Win2003 server (sul PC
server), e vuoi provarci, fą un fischio... t'aiuto tranquillamente ;)


radicale.002

unread,
Jul 24, 2010, 8:53:43 AM7/24/10
to
On 24 Lug, 14:05, "Pablitomf \(da casa\)" <pablit...@hotmail.it>
wrote:

> Francamente (meglio non bluffare) :


> non ho le competenze sufficienti per capire DAVVERO
> quelo che hai scritto. Intuisco solo che e' una gran figata. :-)
>
> -------------
>
> se hai almeno XP Professional o meglio ancora Win2003 server (sul PC

> server), e vuoi provarci, fà un fischio... t'aiuto tranquillamente ;)

Ma ... Grazie ! Sei davvero gentile e disponibile.
Ok, la prossima settimana in ufficio cerco di fare qualcosa.

Paolo opg

unread,
Jul 26, 2010, 3:01:25 AM7/26/10
to
Alessandro Cara <alessan...@ay-1anetwork.it> wrote in
news:U_i2o.215792$813....@tornado.fastwebnet.it:

> Paolo opg ha scritto:
> [cut]
>>
>> beninteso, opinione personale, non dogma di fede.
>>
> Non credo ai dogmi. Neanche a quello della Trinita' (non Terence Hill).


perfetto, direi.
come ho scritto, la mia opinione non e' un dogma.


> In nome del professionismo della scalabilita' della ricerca della
> prestazione ho visto spendere fior di fiorini con risultati spesso
> discutibili.
>


beh, buon lavoro nello sviluppo di un sistema di calcolo distribuito in
access...

Paolo opg

unread,
Jul 26, 2010, 3:10:27 AM7/26/10
to
radicale 004 <radica...@gmail.com> wrote in
news:a4ee1216-9088-41ea...@k39g2000yqb.googlegroups.com:

> On 23 Lug, 14:04, Paolo opg <spamcatc...@tiscali.it> wrote:
>
>>imo ti conviene renderti conto che access per quanto versatile
>>ha qualche limite e prenderne atto, guardandoti poi intorno per
>>>trovare un'altra via.
>
> Non se Access funge da semplice contenitore di un
> vba.
> Se tu vedi l' Access come un semplice contenitore
> che serve solo e soltanto perche' appunto si riesce
> a farlo partire su ogni macchina, ecco svelato il
> mistero.
>

access e' un contenitore pesante.

se ti serve vba, usa vba, non vba dentro uno scatolone...

'perche' d'estate giri sempre col casco da moto in testa?'
'ha la visiera oscurata: cosi' il sole non m'acceca'


> *certamente* vi sono soluzioni migliori, te ne do
> atto.
>

'lo sai che fanno anche gli occhiali da sole?'
'certo che lo so, ma il casco ce l'avevo in casa; cosi' ho fatto
prima...'


proprio perche' ci sono soluzioni migliori e visto che un sistema di
calcolo distribuito non e' uno scherzetto io mi sento di propendere per
la valutazione delle alternative *prima* di iniziare lo sviluppo.

trovarsi in braghe di tela a meta' progetto ed essere obbligati a passare
a un prodotto/linguaggio diverso non e' una bella prospettiva...


>>ne caso specifico, a mio parere access non e' uno strumento >indicato
>>per lo sviluppo di un sistema di calcolo distribuito.
>
> *NON* Access, per l' appunto.
>
>

Alessandro Cara

unread,
Jul 26, 2010, 3:44:57 AM7/26/10
to
Paolo opg ha scritto:
[cut]
>
> beh, buon lavoro nello sviluppo di un sistema di calcolo distribuito in
> access...
L'unico sviluppo che ho da fare, in questo momento, e' che il caffe' sia
con le tre "c" famose ed il cornetto con la panna "fornato" al punto giusto.

Popi - TheBadHabits

unread,
Jul 26, 2010, 4:08:16 AM7/26/10
to

Ciao!

A me, invece, non è chiaro perché sull'help di CreateObject sia
scritto "Per ulteriori informazioni su come rendere visibile
un'applicazione in un computer in rete remoto, consultare la
documentazione COM (vedere Microsoft Developer Network). Potrebbe
essere necessario aggiungere una chiave per l'applicazione nel
registro di configurazione."

Buon divertimento ;)

Popi

Popi - TheBadHabits

unread,
Jul 26, 2010, 4:11:06 AM7/26/10
to

LOL!

Popi

radicale.002

unread,
Jul 26, 2010, 12:33:45 PM7/26/10
to
On 26 Lug, 10:08, Popi - TheBadHabits <rlu...@yahoo.com> wrote:

> A me, invece, non è chiaro perché sull'help di CreateObject sia
> scritto "Per ulteriori informazioni su come rendere visibile
> un'applicazione in un computer in rete remoto, consultare la
> documentazione COM (vedere Microsoft Developer Network). Potrebbe
> essere necessario aggiungere una chiave per l'applicazione nel
> registro di configurazione."

E se non t' e' chiaro a te, pensa a me ... ;-)

0 new messages