Newsgroup: it.comp.appl.access
Titolo: VBA - togliere collegamento a tabella ODBC

Buongiorno,
ai miei utenti fornisco l'applicazione su .mde cui sono collegate
delle tabelle su SQLServer via ODBC.
Non voglio far vedere loro le tabelle se avviano l'.mde con il tasto
shift.
Ho pensato di collegare le tabelle via codice con il metodo connect e
questo mi funzia.
Succede, però, che al rientro successivo le tebelle sono già
collegate.
Come posso togliere il collegamento via codice alla chiusura
dell'applicazione?
Credo sia banale, ma, ho provato a cercare su SC e nei forum ma senza
soddisfazione (forse sbaglio le stringhe di ricerca)
Qualcuno sa indirizzarmi?
saluti, mpio.


... era sufficiente usare il metodo delete
ora tutto funziona.
scusate per il disturbo.
grazie comunque,
mpio.

In teoria se tu apri l'mde con il testo shift vedi si le tabelle ma se
tenti di aprirle ti chiede utente e pwd della connessione a sql,
se non la conoscono non possono aprirle


Si, ma nella mia applicazione ho bisogno di dare
accesso alle tabelle con nome utente e pwd
per poter legger/elaborare i dati ivi contenuti.
Daltra parte può succeder che, chi entra nella tabella direttamente,
non rispetti coerenze, ordinamenti, date, etc.
Io voglio controllare che questo sia fatto con le regole scritte in
VBA nei moduli.
Ora sto provando una cosa che mi pare soddisfacente:
1. All'avvio dell'mde creo i collegamenti con utente e pwd su VBA
2. poi apro le maschere di lavoro le quali hanno le barre dei menù
disabilitati
(quindi l'utente non riesce ad arrivare all'ambiente access)
3. alla chiusura tolgo i collegamenti alle tabelle
Comunque sono ancora in valutazione,
se qualcuno ritiene ci siano stade migliori e non troppo difficili,
le provo.
saluti, mpio

se qualcuno ritiene ci siano stade migliori e non troppo difficili,
le provo.
_______________
Le query pass-through

miciomao ha scritto:

Per curiosita'. Come fa con le PT a superare il problema della connessione?
--
ac


Scrive il predicato SQL in una query Standard, quindi a RUNTIME legge
SQL e lo applica ad una PT ON_THE_FLY....?
@Alex

Alessandro Baraldi ha scritto:

Va bene tutto ma su quale "connect"?
--
ac

 ac
La Connection string la devi avere ovviamente... altrimenti cippa...
Non pretenderai che ti dica tutto io adesso....
@Alex


Mi intrometto su cose su cui non sono ferrato,
ma, le PT è un argomento che voglio affrontare a breve,
sopratutto perchè in molti mi dicono che sono più performanti.
Proverò se ne sono capace.
Da quello che ne capisco, però,
è un argomento diverso da quello che mi premeva,
cioè non far vedere le tabelle con il tasto shift.
saluti, mpio.

Alessandro Baraldi ha scritto:

Urca Alex, santa pupazza, la questione era come evitare che le tabelle 
rimangano collegate. Questo fa parte della gestione della connessione, 
come poi mi faccio dare i dati e' un altro "par di braghe". La PT fa 
"risolvere" la query al server ma per farlo ci devi avere la "connect", 
connect che devi avere che si usi o meno PT.
--
ac


Si Ale... ma fai senza avere una LinkedTable in evidenza, puoi avere
una PT nel VBA... forse ho capito male... ma in sostanza io uso una
cosa simile per la validazione del LOGIN, momento nel quale non ho
nessuna LinkedTable, ma certamente ho una ConnectionString da
usare...!
Validato il LOGIN faccio il ripristino delle LinkedTable.
In questo modo non lascio mai LinkedTable connesse incustodite...
@Alex

 saluti, mpio.
Affermazioni da prendere con le pinze...!
Quanto dici è tutto da capire, vale a dire che non è che le PT siano
la soluzione di tutti i mali... innanzitutto restituiscono un RS
ReadOnly, quindi si usano per avere dati in sola visualizzazione
(magari per i Report)... ma la cosa ha un senso solo se il Server su
cui si lavora è un vero RDBMS non JET...., ed in ogni caso la query
deve essere strutturata in modo adeguato...
@Alex

 @Alex
Intanto grazie per le info.
Soprattutto ho scoperto ora che il RS PT non è aggiornabile.
Per cercare una soluzione ho provato al volo a fare una query PT di
aggiornamento e funziona.
Credo che facendo attenzione al codice non dovrei avere grossi traumi.
Sul fatto che JET non sia un vero RDBMS non ho ancora le idee chiare.
(Credevo lo fosse, ma non contraddico la tua affermazione, ho anche
visto altri post con questo argomento nel NG)
Comunque il server su cui vado a lavorare,ma, che non gestisco
direttamente,
è un SQL Server 2003, quindi il tutto dovrebbe essere positivo.
Ciao, mpio.

 Ciao, mpio.
Ciao
@Alex


A però!
Ora mi trovo con parecchio da imparare.
Cerco di approfondire tutti questi argomenti prima di ulteriori passi.
Grazie di tutto, mpio.

Alessandro Baraldi ha scritto:

Yes, "e' chiaro se sa". La procedura che descrivi e' quella e, 
ovviamente, e' corretta. Io opinavo che la PT potesse essere il 
toccasana, come chiaramente esponi all'OP. Per fare quello che vuole 
deve fare esattamente quello che hai indicato, PT o non PT, ADO o DAO o 
qualsivoglia fulmine a ciel sereno.
--
ac

 ac-
Allora mi confermi che qualche cosa me la ricordo...
Con Marzo è esattamente 1anno che non apro un PC per programmare...!
Stò cercando di smettere e sono sulla buona strada.
@Alex