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

Collegare tabelle access senza installare access.

64 views
Skip to first unread message

ciroteo

unread,
Jul 28, 2009, 5:41:00 AM7/28/09
to
Carissimi spero che questo mio messaggio, postato dopo un lungo ed
imperdonabile periodo di silenzio, vi trovi tutti in splendida forma.
Ecco dopo gli sproloqui andiamo al sodo!

Mi è stato sottoposto un problema che vi rigiro essendo di certo fuori
dalla mia portata.

Devo realizzare un programmino: exe, batch, vbs, vb o chissà cosa
altro che mi permetta di modificare il path delle tabelle collegate di
un database access.
Per ragioni a me oscure sulla macchina non è possibile installare il
runtime e risolvere il problema con una normale procedura di relink.
Occorre necessariamente agire con un programmino esterno.

Una applicazione sviluppata in dot.net accede, tra le altre cose, ad
un database mdb. Tale database (db A) contiene a sua volta delle
tabelle collegate che puntano solo ad alcune (forse 3) tabelle di un
secondo mdb (db B).

Ciò che deve essere modificabile da questo programmino che devo creare
è il percorso di queste 3 tabelle a cui punta il Database A. perchè il
database B può essere posizionato in diverse cartelle a seconda delle
esigenze e dei dati che conterrà.

Non avendo alcuna esperienza di Visual Basic puro e nella speranza di
essermi spiegato correttamente, chiedo a voi tutti indicazioni o
suggerimenti.

Un caro saluto.
matteo

Enrico T.S.

unread,
Jul 28, 2009, 11:48:39 AM7/28/09
to

"ciroteo" <matteo...@gmail.com> ha scritto nel messaggio
news:92bbc4cf-0e6d-4aa7...@k30g2000yqf.googlegroups.com...

>Carissimi spero che questo mio messaggio, postato dopo un lungo ed
i>mperdonabile periodo di silenzio, vi trovi tutti in splendida forma.

>Ecco dopo gli sproloqui andiamo al sodo!

>Mi � stato sottoposto un problema che vi rigiro essendo di certo fuori
>dalla mia portata.

>Devo realizzare un programmino: exe, batch, vbs, vb o chiss� cosa


>altro che mi permetta di modificare il path delle tabelle collegate di
>un database access.

>Per ragioni a me oscure sulla macchina non � possibile installare il


>runtime e risolvere il problema con una normale procedura di relink.
>Occorre necessariamente agire con un programmino esterno.

>Una applicazione sviluppata in dot.net accede, tra le altre cose, ad
>un database mdb. Tale database (db A) contiene a sua volta delle
>tabelle collegate che puntano solo ad alcune (forse 3) tabelle di un
>secondo mdb (db B).

>Ci� che deve essere modificabile da questo programmino che devo creare
>� il percorso di queste 3 tabelle a cui punta il Database A. perch� il
>database B pu� essere posizionato in diverse cartelle a seconda delle
>esigenze e dei dati che conterr�.

>Non avendo alcuna esperienza di Visual Basic puro e nella speranza di
>essermi spiegato correttamente, chiedo a voi tutti indicazioni o
>suggerimenti.

>Un caro saluto.
>matteo


Con una cosa del genere in uno script .Vbs io ci sono riuscito.

'---------------------------------------------------------------------------
Set Catalogo = CreateObject("ADOX.Catalog")
Set Tabella = CreateObject("ADOX.Table")

Catalogo.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;User
ID=tuouser;password=tuapassword;Data Source=tuopath\tuofile.mde;Mode=Share
Deny None;Extended Properties='';Jet OLEDB:System
database=tuopath\tuodb.MDW;Jet OLEDB:Registry
Path=SOFTWARE\Microsoft\Office\10.0\Access\Jet\4.0;Jet OLEDB:Database
Password='';Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet
OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet
OLEDB:New Database Password='';Jet OLEDB:Create System Database=False;Jet
OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on
Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet
OLEDB:SFP=False"

Set Tabella = Catalogo.Tables("TuaTabella")
Set Prop = Tabella.Properties("Jet OLEDB:Link Datasource")
Prop.value = "nuovopath\nomefile.mdb"

Set Mioset = Nothing
Set Catalogo = Nothing
'--------------------------------------------------------


ora la cosa piu complicata � inserire la giusta connessione.
Devi avere l'accortezza di cambiare ed inserire i dati giusti nei campi:

Source -> ci metti il nome del db da trattare (pu� essere sia .mdb che .mde)
Jet OLEDB:System database -> ci metti l'eventuale tuo database di sistema
per le password
User ID -> nome utente (se usi un .mdw diverso dallo standard access)
password -> la password (se usi un .mdw diverso dallo standard access)

Good Work

Bye :o)


Antonio

unread,
Jul 29, 2009, 3:53:52 AM7/29/09
to

"ciroteo" <matteo...@gmail.com> ha scritto nel messaggio
news:92bbc4cf-0e6d-4aa7...@k30g2000yqf.googlegroups.com...
Carissimi spero che questo mio messaggio, postato dopo un lungo ed
imperdonabile periodo di silenzio, vi trovi tutti in splendida forma.
Ecco dopo gli sproloqui andiamo al sodo!

Mi � stato sottoposto un problema che vi rigiro essendo di certo fuori
dalla mia portata.

Devo realizzare un programmino: exe, batch, vbs, vb o chiss� cosa


altro che mi permetta di modificare il path delle tabelle collegate di
un database access.

Per ragioni a me oscure sulla macchina non � possibile installare il


runtime e risolvere il problema con una normale procedura di relink.
Occorre necessariamente agire con un programmino esterno.

Una applicazione sviluppata in dot.net accede, tra le altre cose, ad
un database mdb. Tale database (db A) contiene a sua volta delle
tabelle collegate che puntano solo ad alcune (forse 3) tabelle di un
secondo mdb (db B).

Ci� che deve essere modificabile da questo programmino che devo creare


� il percorso di queste 3 tabelle a cui punta il Database A. perch� il

database B pu� essere posizionato in diverse cartelle a seconda delle
esigenze e dei dati che conterr�.

Non avendo alcuna esperienza di Visual Basic puro e nella speranza di
essermi spiegato correttamente, chiedo a voi tutti indicazioni o
suggerimenti.

Un caro saluto.
matteo

---------- RISPOSTA --------------
Ma il programma scritto in dot.net pu� essere modificato ?
Se la risposta � s�, perch� non prevedere che il percorso delle tabelle B
sia sempre definito in un file di tipo txt, modificabile a piacimento ?

Ciao
Antonio


ciroteo

unread,
Jul 29, 2009, 6:10:19 AM7/29/09
to
On 29 Lug, 09:53, "Antonio" <antonewsgr...@tiscali.it> wrote:
> "ciroteo" <matteo.ci...@gmail.com> ha scritto nel messaggionews:92bbc4cf-0e6d-4aa7...@k30g2000yqf.googlegroups.com...

> Carissimi spero che questo mio messaggio, postato dopo un lungo ed
> imperdonabile periodo di silenzio, vi trovi tutti in splendida forma.
> Ecco dopo gli sproloqui andiamo al sodo!
>
> Mi è stato sottoposto un problema che vi rigiro essendo di certo fuori
> dalla mia portata.
>
> Devo realizzare un programmino: exe, batch, vbs, vb o chissà cosa

> altro che mi permetta di modificare il path delle tabelle collegate di
> un database access.
> Per ragioni a me oscure sulla macchina non è possibile installare il

> runtime e risolvere il problema con una normale procedura di relink.
> Occorre necessariamente agire con un programmino esterno.
>
> Una applicazione sviluppata in dot.net accede, tra le altre cose, ad
> un database mdb. Tale database (db A) contiene a sua volta delle
> tabelle collegate che puntano solo ad alcune (forse 3) tabelle di un
> secondo mdb (db B).
>
> Ciò che deve essere modificabile da questo programmino che devo creare
> è il percorso di queste 3 tabelle a cui punta il Database A. perchè il
> database B può essere posizionato in diverse cartelle a seconda delle
> esigenze e dei dati che conterrà.

>
> Non avendo alcuna esperienza di Visual Basic puro e nella speranza di
> essermi spiegato correttamente, chiedo a voi tutti indicazioni o
> suggerimenti.
>
> Un caro saluto.
> matteo
>
> ----------  RISPOSTA  --------------
> Ma il programma scritto in dot.net può essere modificato ?
> Se la risposta è sì, perchè non prevedere che il percorso delle tabelle B

> sia sempre definito in un file di tipo txt, modificabile a piacimento ?
>
> Ciao
> Antonio

Ragazzi intanto grazie mille per la risposta.
Ora proverò a vedere come implementare questa soluzione e vi faccio
sapere.
buone vacanze a chi parte.
M

ciroteo

unread,
Jul 29, 2009, 6:17:57 AM7/29/09
to
On 29 Lug, 09:53, "Antonio" <antonewsgr...@tiscali.it> wrote:
> "ciroteo" <matteo.ci...@gmail.com> ha scritto nel messaggionews:92bbc4cf-0e6d-4aa7...@k30g2000yqf.googlegroups.com...

> Carissimi spero che questo mio messaggio, postato dopo un lungo ed
> imperdonabile periodo di silenzio, vi trovi tutti in splendida forma.
> Ecco dopo gli sproloqui andiamo al sodo!
>
> Mi è stato sottoposto un problema che vi rigiro essendo di certo fuori
> dalla mia portata.
>
> Devo realizzare un programmino: exe, batch, vbs, vb o chissà cosa

> altro che mi permetta di modificare il path delle tabelle collegate di
> un database access.
> Per ragioni a me oscure sulla macchina non è possibile installare il

> runtime e risolvere il problema con una normale procedura di relink.
> Occorre necessariamente agire con un programmino esterno.
>
> Una applicazione sviluppata in dot.net accede, tra le altre cose, ad
> un database mdb. Tale database (db A) contiene a sua volta delle
> tabelle collegate che puntano solo ad alcune (forse 3) tabelle di un
> secondo mdb (db B).
>
> Ciò che deve essere modificabile da questo programmino che devo creare
> è il percorso di queste 3 tabelle a cui punta il Database A. perchè il
> database B può essere posizionato in diverse cartelle a seconda delle
> esigenze e dei dati che conterrà.

>
> Non avendo alcuna esperienza di Visual Basic puro e nella speranza di
> essermi spiegato correttamente, chiedo a voi tutti indicazioni o
> suggerimenti.
>
> Un caro saluto.
> matteo
>
> ----------  RISPOSTA  --------------
> Ma il programma scritto in dot.net può essere modificato ?
> Se la risposta è sì, perchè non prevedere che il percorso delle tabelle B

> sia sempre definito in un file di tipo txt, modificabile a piacimento ?
>
> Ciao
> Antonio

Ciao antonio, rileggo ora la tua domanda, non lo so se si può
modificare.
Purtroppo non lo sviluppo io, io ho solo fornito l'estrazione dati da
un gestionale in un mdb e la struttura delle tabelle in esso
contenute.
Nulla di più!
sorry ...

ciroteo

unread,
Jul 29, 2009, 7:12:31 AM7/29/09
to


Ecco la soluzione semplificata al massimo.
Studierò se del caso i vbscript e gli oggetti adox.
Grazie a tutti.
matteo


'--------------------------------------------------------------------------


-
Set Catalogo = CreateObject("ADOX.Catalog")
Set Tabella = CreateObject("ADOX.Table")
Catalogo.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;User

ID=Admin;password=;Data Source=c:\documenti\flavio\DBFE.mdb;"
Set Tabella = Catalogo.Tables("Tabella1")


Set Prop = Tabella.Properties("Jet OLEDB:Link Datasource")

Prop.value = "c:\documenti\flavio\db1.mdb"

0 new messages