Access - De Dao a Ado

 
Vista:

De Dao a Ado

Publicado por Ayelen (6 intervenciones) el 05/02/2010 11:50:13
Hola y muchas gracias, hace mucho tiempo que no programo en Visual Basic, me pidieron en el trabajo que realice una modificación a una aplicación hecha en access 97. El tema es que pude migrar todo a access 2003. Mi inquietud es la siguiente; pasar un a fragmento de código dónde uso DAO a ADO, alguién puede ayudarme?. El código es el siguiente:

Option Compare Database
Option Explicit
Dim dbsExample As Database
Dim rstExample As Recordset
Dim cons As String

Private Sub Comando0_Click()

Set dbsExample = OpenDatabase("C:\bd1.mdb")
cons = "SELECT * FROM Tabla1 Order By Fecha DESC"
Set rstExample = dbsExample.OpenRecordset(cons, dbOpenDynaset)

rstExample.MoveFirst
rstExample.Edit
rstExample!Valida.Value = True
rstExample.Update
rstExample.Close

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:De Dao a Ado

Publicado por Juan M. Afan de Ribera (11 intervenciones) el 05/02/2010 18:19:53
Hola,

el código podría quedar más o menos así:

Option Compare Database
Option Explicit

Dim dbsExample As ADODB.Connection
Dim rstExample As ADODB.Recordset
Dim cons As String

Private Sub Comando0_Click()

Set dbsExample = New ADODB.Connection
With dbsExample
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = C:\bd1.mdb"
.Open
End With

Set rstExample = New ADODB.Recordset

cons = "SELECT * FROM Tabla1 Order By Fecha DESC"

With rstExample
.ActiveConnection = dbsExample
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Source = cons

.Open

.MoveFirst
.Fields("valida") = True
.Update
End With

Set rstExample = Nothing
Set dbsExample = Nothing

End Sub

No se si es tu caso, pero access 2003 funciona igual con DAO que con ADO (de hecho, si es una aplicación access normal, yo te recomendaría DAO). Esto te lo digo por si te dicen de cambiar todo de DAO a ADO, sin un motivo justificado.

Espero que te sirva,
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juan M. Afan de Ribera

Publicado por Ayelen (6 intervenciones) el 05/02/2010 19:21:44
Hola Juan. Te cuento... estoy de acuerdo con vos en lo que me decís sobre ADO y DAO que funcionan igual en Access 2003, el tema es que me dijeron que si utilizaba una base local use DAO y que si mi base estaba montada en Red use ADO. Estás de acuerdo con esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juan M. Afan de Ribera

Publicado por Ayelen (6 intervenciones) el 05/02/2010 19:24:10
Hola Juan. Te cuento... estoy de acuerdo con vos en lo que me decís sobre ADO y DAO que funcionan igual en Access 2003, el tema es que me dijeron que si utilizaba una base local use DAO y que si mi base estaba montada en Red use ADO. Estás de acuerdo con esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juan M. Afan de Ribera

Publicado por Ayelen (6 intervenciones) el 05/02/2010 19:59:10
Hola Juan. Te cuento... estoy de acuerdo con vos en lo que me decís sobre ADO y DAO que funcionan igual en Access 2003, el tema es que me dijeron que si utilizaba una base local use DAO y que si mi base estaba montada en Red use ADO. Estás de acuerdo con esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:De Dao a Ado

Publicado por Juan M. Afan de Ribera (11 intervenciones) el 06/02/2010 10:20:51
Hola,

pues sinceramente, tampoco soy un experto en estos temas de DAO y ADO. Mi opinión personal es que se han dicho muchas cosas al respecto, pero no todas son correctas. Hay mucha gente que "oye campanas" y después mezclan eso con su propia ignorancia y el resultado final es una gran confusión. Así que no voy a echar yo también mi granito de confusión al tema. En todo caso te dejo un par de enlaces de artículos de microsoft que pueden servirte. Están en inglés, pero bue, para eso está el traductor de Google, no? jejeje:

http://msdn.microsoft.com/en-us/library/aa164825%28office.10%29.aspx
http://msdn.microsoft.com/en-us/library/aa201984%28office.10%29.aspx
http://msdn.microsoft.com/en-us/library/aa201985%28office.10%29.aspx
http://msdn.microsoft.com/en-us/library/aa201986%28office.10%29.aspx
http://msdn.microsoft.com/en-us/library/aa831024%28office.10%29.aspx

Espero que te sirva
Juan M. Afan de Ribera
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cerrado

Publicado por Ayelen (6 intervenciones) el 08/02/2010 14:36:21
Gracias Juan M. Afan de Ribera, he logrado hacer funcionar el código tal cómo necesitaba. Hasta la próxima!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar