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

¿¿¿DAO o ADO??

60 views
Skip to first unread message

SALAS

unread,
Apr 26, 2004, 10:37:33 AM4/26/04
to
Hola,

Estoy empezando a programar en VBA Access 2000 y me
pregunto en que es mejor programar, en DAO o en ADO ???

Gracias por las respuestas.

Eduardo Olaz

unread,
Apr 26, 2004, 12:34:39 PM4/26/04
to
ADO es más potente que DAO y más flexible.
En muchos aspectos es más simple de usar
Además tiene Eventos; DAO no los tiene.
No necesitas activar la referencia a su librería, salvo cuando quieras crear
Tablas, Relaciones, etc...
DAO se puede quedar obsoleto en poco tiempo.

Tú mismo...

Saludos desde la calle Estafeta de Pamplona

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
ALGARROBA = @

"SALAS" <anon...@discussions.microsoft.com> escribió en el mensaje
news:43c801c42b9c$02d802e0$a401...@phx.gbl...

guarracuco

unread,
Apr 26, 2004, 2:42:19 PM4/26/04
to
Microsoft a apostado a esta nueva tecnología (ADO) . Su
estructura es mas sencilla y mas lógica, aunque no debemos
despreciar para nada a su predecesor DAO. Opino,
personalmente, que no debemos quedarnos atras, sino ir a
la vanguardia de la tecnología.
Atte carlos

Victor Delgadillo

unread,
Apr 26, 2004, 3:14:27 PM4/26/04
to
Otra ventaja es que SQL Server funciona con ADO, no asi con DAO!

--
Victor Delgadillo [MVP Access]
Miami, Florida

Consultas al grupo, asi todos nos beneficiamos.

_
"guarracuco" <guarra...@hotmail.com> wrote in message
news:477e01c42bbe$34765f50$a501...@phx.gbl...

José Mª Fueyo (Desde el curro)

unread,
Apr 26, 2004, 4:08:33 PM4/26/04
to
Hola.
Sí vas a trabajar con un mdb, y en local, DAO te servirá perfectamente. En
el resto de escenarios, ADO.
Y de todos modos, vete pensando en la opcion de ADO.Net y todo lo que
significa la plataforma .Net

Salu2
--
José Mª Fueyo
[MS MVP Access]


jm

unread,
Apr 27, 2004, 6:05:37 AM4/27/04
to
Hola a todos.

No entiendo eso de que ADO tiene Eventos y DAO no. ¿Me lo podríais explicar
y para que sirven?

Muchas gracias y saludos.


"Eduardo Olaz" <eduardoALGARROBAolaz.net> escribió en el mensaje
news:%23jiGlw6...@TK2MSFTNGP09.phx.gbl...

Eduardo Olaz

unread,
Apr 27, 2004, 8:46:01 AM4/27/04
to
Hay una serie de objetos de Access que cuando suceden determinadas
circustancias, avisan de lo que ha pasado.
Este aviso se llama Evento.
Mediante código, este evento puede ser captuardo y reaccionar adecuadamente
a él.
A título sólo de ejemplo:
En concreto, en ADO hay dos objetos que generan eventos, son:
El objeto Recordset y el objeto Connection.
El objeto Connection de ADO se podría asimilar al objeto Database de DAO.
Database de DAO no tiene ningún evento, al igual que el objeto Recordset de
DAO.
El objeto Recordset de ADO tiene los siguientes eventos:
EndOfRecordset( _
fMoreData As Boolean, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
FetchComplete( _
pError As Error, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
FetchProgress( _
Progress As Long, _
MaxProgress As Long, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
FieldChangeComplete( _
cFields As Long, Fields, _
pError As Error, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
MoveComplete( _
adReason As EventReasonEnum, _
pError As Error, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
RecordChangeComplete( _
adReason As EventReasonEnum, _
cRecords As Long, _
pError As Error, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
RecordsetChangeComplete( _
adReason As EventReasonEnum, _
pError As Error, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
WillChangeField( _
cFields As Long, _
Fields, adStatus As EventStatusEnum, _
pRecordset As Recordset)
WillChangeRecord( _
adReason As EventReasonEnum, _
cRecords As Long, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)
WillChangeRecordset( _
adReason As EventReasonEnum, _
adStatus As EventStatusEnum, _
pRecordset As Recordset)

Igualmente el objeto Connection tiene los siguientes eventos:
BeginTransComplete( _
TransactionLevel As Long, _
pError As Error, _
adStatus As EventStatusEnum, _
pConnection As Connection)
CommitTransComplete( _
pError As Error, _
adStatus As EventStatusEnum, _
pConnection As Connection)
ConnectComplete( _
pError As Error, _
adStatus As EventStatusEnum, _
pConnection As Connection)
Disconnect( _
adStatus As EventStatusEnum, _
pConnection As Connection)
ExecuteComplete( _
RecordsAffected As Long, _
pError As Error, _
adStatus As EventStatusEnum, _
pCommand As Command, _
pRecordset As Recordset, _
pConnection As Connection)
InfoMessage( _
pError As Error, _
adStatus As EventStatusEnum, _
pConnection As Connection)
RollbackTransComplete( _
pError As Error, _
adStatus As EventStatusEnum, _
pConnection As Connection)
WillConnect( _
ConnectionString As String, _
UserID As String, _
Password As String, _
Options As Long, _
adStatus As EventStatusEnum, _
pConnection As Connection)
WillExecute( _
Source As String, _
CursorType As CursorTypeEnum, _
LockType As LockTypeEnum, _
Options As Long, _
adStatus As EventStatusEnum, _
pCommand As Command, _
pRecordset As Recordset, _
pConnection As Connection)

Tú puedes capturar estos eventos y reaccionar ante ellos.
Por ejemplo, antes de cambiar un valor de un objeto Field, se produce el
evento WillChangeField.
Esto te permite, por ejemplo, efectuar una serie de comprobaciones y en
función del dato a cambiar, suspender o confirmar la actualización del
campo.
Tras confirmar el cambio, y efectuarlo en el registro, se produce el evento
FieldChangeComplete, que te permite comprobar si se ha producido algún
problema en la actualización, y si ha sido así reaccionar de manera
adecuada.
Esto son sólo muestras de lo que se puede hacer con los eventos de ADO.
DAO no genera eventos, con lo que el control de que todo ha funcionado
correctamente es más complicado.

Te recomendaría que le eches un vistazo a la ayuda de ADO. Te puede aportar
muy buenas ideas.

Artículo 1º:
.- Ante cualquier duda, consulte antes que nada
EL MANUAL DE INSTRUCCIONES

Saludos desde la calle Estafeta de Pamplona

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
ALGARROBA = @

"jm" <jma...@e.limaimplantes.com> escribió en el mensaje
news:uEfJH9DL...@TK2MSFTNGP09.phx.gbl...

jm

unread,
Apr 28, 2004, 3:32:18 AM4/28/04
to
Muchas gracias.


"Eduardo Olaz" <eduardoALGARROBAolaz.net> escribió en el mensaje

news:%23onFG2F...@tk2msftngp13.phx.gbl...

0 new messages