Newsgroup: it.comp.appl.access
Titolo: Associazione Tardiva per Riferimenti Librerie

Buon giorno a tutto il N.G.
Premetto che ho letto molteplici post sull'argomento Late Binding, e
per quello che sono riuscito a capire l'associazione tardiva evita i
problemi di errori su riferimenti di versione diversa, in quanto
l'applicazione si va a cercare quella disponibile nel S.O. , bene
quello che volevo chiedere e cercare di capire era, se tutto questo
puo' essere esteso anche ai riferimenti tipo DAO 3.6 Object Library,
visual basic for application, Microsoft Access 11.0 Object library,
Ole Automation ed infine Microsoft Activex Data Objects 2.1 Library.
considerando che probabilmente un db potrebbe girare su una versione
diversa dal 2003,(sicuramente inferiore e non la 2007), ci sarebbe la
maniera di implementare l'associazione tardiva a questi riferimenti? E
se fosse possibile, quale sarebbe la maniera? Voglio dire, se devo
aprire un Oggetto Word o Excel, mi vado a creare l'oggetto Word o
Excel, senza spuntare il riferimento, ma questi riferimenti
sopracitati, principalmente servono ad accedere alle tabelle a
lavorare sui recordset, la creazione di uno dei  riferimenti di cui
sopra,  come ma sopratutto su quale evento la vado ad implementare?
insomma non sono riferimenti che vengono usati al momento come un
foglio excel o un documento word, sono riferimenti che fanno
funzionare proprio l'applicazione, dal basso della mia ignoranza... si
potrebbero creare su un modulo in una funzione pubblica e richiamarli
nelle varie routine?
Grazie per le eventuali risposte
Saluti
Diego

 ha scritto nel messaggio
news:1187865739....@l22g2000prc.googlegroups.com...

Ciao Diego.
Ci sono delle librerie che non puoi associare con LateBinding ed è
facilmente spiegabile...
Quando istanzi un'oggetto con LateBinding sei tu a definirlo, ed usarlo
quindi distruggerlo...!
Access però per funzionare di suo, anche solo per aprirsi e caricare
l'interprete o l'IDE deve avere
i riferimenti perchè tu come potresti passaglierli....???
Quindi VBA e le Librerie di Access(che sono il Runtime al limite) devono
esserci, e se non erro anche OLE, per DAO ed ADO invece potrebbe essere
possibile fare il lateBinding, ma solo se non usi Maschere associate o
controlli associati...!
Se apri un Recordset fine a se stesso con ADO potresti pure fare così:
Set adoConnection = CreateObject("ADODB.Connection")
Set adoRecordset = CreateObject("ADODB.Recordset")
' quindi lo apri...
Ma se hai Form Associate... come fà Access a gestire la libreria
DAO(Fondamentale per Access) in LateBinding..??
Quindi la risposta dovrebbe essere NO per quanto fondamentale per Access...!
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 - Mostra testo tra virgolette -
Ciao Alessandro, grazie per la risposta che trovo più che esaudiente,
anche se devo dirti che non uso maschere o controlli associati ,
faccio tutto con maschere e controlli non associati e utilizzo query
(inserimento, aggiornamento, cancellazione), per scrivere nelle
tabelle, quindi in teoria potrei anche usare il latebinding per quanto
riguarda l'apertura e le varie operazioni sui record, in questo caso
come dovrei costruire la routine? Uso DAO per accedere alle tabelle;
Dim DaoConnection as Object
Dim DaoRecordset as Object
Set DaoConnection = CreateObject("DAODB.Connection")
Set DaoRecordset = CreateObject("DAODB.Recordset")
potrebbe essere la sintassi giusta?
Saluti
Diego

Ciao Alessandro, grazie per la risposta che trovo più che esaudiente,
anche se devo dirti che non uso maschere o controlli associati ,
faccio tutto con maschere e controlli non associati e utilizzo query
(inserimento, aggiornamento, cancellazione), per scrivere nelle
tabelle, quindi in teoria potrei anche usare il latebinding per quanto
riguarda l'apertura e le varie operazioni sui record, in questo caso
come dovrei costruire la routine? Uso DAO per accedere alle tabelle;
Dim DaoConnection as Object
Dim DaoRecordset as Object
Set DaoConnection = CreateObject("DAODB.Connection")
Set DaoRecordset = CreateObject("DAODB.Recordset")
potrebbe essere la sintassi giusta?
Saluti
Diego
A livello spassionato Diego non capisco il motivo del mancato utilizzo di
Form Associate..., sai in molti le usano... io tra quelli(anche se non
significa nulla).
Perchè ti sei complicato la vita in quel modo...? Sei certo di aver preso la
strada corretta....????
Mi verrebbe da dirti "LASSA PERDE...."
Non credo che nessuno con Access abbia mai fatto una cosa simile.... vedi un
pò se funziona...
Dim DBEngine As Object
Dim DB As Object
Dim RS As Object
Set DBEngine=CreateObject("DAO.DBEngine.36")
Set DB=DBEngine.OpenDatabase(App.Path & "\MyDb.mdb")
Set RS = DB.OpenRecordset("SELECT * FROM T1")
ecc...



mmmmmmhhh...mi sa che seguirò il tuo consiglio !! =))
Grazie comunque
Saluti
Diego