Newsgroup: it.comp.appl.access
Titolo: ADO e DAO

Fino ad oggi ho utilizzato sempre access 97.
Ora ho l'obbligo di passare a access 2000.
Da quel che ho capito, fino ad access 97 c'era solo DAO,
mentre con Access 2000 è arrivato ADO.
Le prime conversioni da access 97 non sono andate a buon
fine in molti moduli, fino a quando ho visto che basta
andare nell'editor e mettere tra i riferimenti,
"Microsoft DAO 3.6 Object Library" e portarlo in alto.
Ora sembra andare tutto.
Ho capito bene?
Posso ignorare l'esistenza di ADO e continuare a fare
tutto come sempre, sfruttando funzioni e funzioncine
raccolte in anni con il 97 o cè l'inghippo?
E' a parte questo ignorando ADO  perdo qualcosa
di interessante?
Grazie Mille a chiunque possa togliermi questi dubbi
e restituirmi il sonno!
-- 
Posted from 
adsl-pool2-vi-27.aruba.it
 [62.149.141.36] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 e restituirmi il sonno!
Buon riposo :-)
Sib

 ha scritto nel messaggio
news:ae2bed48bb19006e38b...@mygate.mailgate.org...

Forse scatenerò una tempesta ma "secondo me e per quello che devo fare io
***" ADO va 100 volte meglio di DAO.
*** Mi spiego: In un ambiente multiutente, ADO è sorprendentemente + veloce
di DAO e ti spiego il perchè: con ADO puoi aprire una connessione
all'inizio, diciamo all'apertura del programma. Questa operazione può
risultare lenta (Anche una decina di secondi se altri utenti stanno già
utilizzando il db). Quando però sei connessa fai tutte le altre operazioni
in maniera molto ma molto piu veloce. DAO praticamente crea una connessione
per ogni maschera associata che apri, per ogni recordset che apri ... per
ogni cazzata che si fa insomma. A, dimenticavo ... devi lavorare con
maschere non associate, a meno che non fai un progetto e ti appoggi a SQL.
Questa è solo l' opinione che mi sono fatto con la mia esperienza. Ho
sentito di molti test per confrontare prestazioni ADO-DAO ma tutte
tralasciavano il fatto della connessione!!! Se faccio una singola operazione
ovviamente impiego del tempo per connettermi con entrambi i metodi. Ma se
devo fare più di una operazione ADO è migliore.
Sono stato molto superficiale ma serve tanto per dare un' idea
Ciao

 maschere non associate, a meno che non fai un progetto e ti appoggi a SQL.
Non ho capito bene cosa intendi per connessione.
L'apertura di un recordset? o cosa?
Sib

 maschere non associate, a meno che non fai un progetto e ti appoggi a SQL.
OK, ma è un metodo di lavoro inutilizzabile con applicazioni consistenti.
Ciao, Simone

 futuro non so.
Sì, può essere.
Ciao, Simone

 ha scritto nel messaggio
news:bl2n7.22726$ul3.7...@news.infostrada.it...

Il fatto che uso maschere non associate è una conseguenza della lentezza
delle maschere associate e delle tabelle collegate. Io sono partito da
queste ultime come tutti ma ora che l'applicazione è consistente ho optato
per una soluzione molto più dispendiosa in termini di tempo ma molto più
veloce. (Praticamente sto facendo il lavoro che fanno in VB, anche se a dire
la verità in VB si possono associare le maschere con ADO ed in Access no).
L'unico argomento che mi ha convinto sono i fatti ...
La mia applicazione non ha tabelle collegate. Per cambiare azienda basta
cambiare al volo la stringa di connessione. Per assurdo per cambiare base
dati (Da mdb a SQL) basta cambiare la stringa di connessione (Tanto assurdo
perchè il codice SQL non è uguale al 100%).
Sulla velocità ho già letto e provato tutto quello che è stato postato in
questo NG ma sinceramente mi piacerebbe testare le famose applicazioni che
tengono aperto l'mdb con una "mascherina collegata". Sicuramente migliorano
le prestazioni, ma non c'è paragone con quello che sto provando a fare io
con ADO.
Invierei volentieri la mia applicazione al NG ma non mi sembra il caso di
spedire anche i sorgenti :) per cui non vi posso inviare nulla, per ora non
ho tempo di fare una applicazione di esempio ...  magari più avanti.
Ciao

 tengono aperto l'mdb con una "mascherina collegata
Mandami un'e-mail e ti faccio scaricare una procedura (che rivendo
semplicemente), basata su DAO, con tabelle collegate e buonissime
prestazioni.
Ciao, Simone


Per connessione intento:
Dim Conn as ADODB.Connection
Set Conn = New ADODB.Connection
    With Conn
        .Provider = ("Microsoft.jet.oledb.4.0")
        .Properties("data source") = PercorsoFile
        .Mode = adModeReadWrite
        .CursorLocation = Cursor
        .Open
    End With
Poi quando lavoro con i recordset invece di currentdb o del percorso
utilizzo la connessione (Per dirla brevemente)
Ciao