Es esto eficiente?

25/03/2009 - 20:40 por José A. Giménez [Py] | Informe spam
Saludos nuevamente. tengo una aplicacion front end en Access 2008 que se
comunica aon un Sql Server Express 2008. Tengo las tablas vinculadas, pero
deso hacer más eficiente las operaciones de grabacion, edicion y eliminacion
de datos. Con ls tablas vinculadas uso .FindFirst para localizar el registro
en cuestion y hacer .Addnew, .delete, .update.

He visto que el rendimiento cae al tener las tablas vinculadas, por lo que
deseo hacer estas operaciones por medio de SQL, sin tener tablas vinculadas.
Abajo copio un ejemplo de como actualizo una tabla llamada Bancos con datos
que se cargan en un formulario de Access. Estoy haciendo lo correcto? desde
el punto de vista del rendimiento?
Gracias!

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim tField As ADODB.Field
Set cnn = Nothing
Set rst = Nothing
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=Datos Upisa; " & _
"Data Source=SQLSERVER\SQLEXPRESS; " & _
"integrated security=SSPI; persist security info=True;"
rst.Open "UPDATE BANCOS SET BANCOS.Direccion='" & Me.LaDirec & _
"', BANCOS.Telefbanc='" & Me.ElTelbanco & _
"', BANCOS.Notas='" & Me.LaNota & _
"', BANCOS.Contacto1='" & Me.ElContact1 & "', BANCOS.TelContac1='" &
Me.EltelContac1 & "' WHERE NomBanco='" & Me.ElBanco & _
"'", cnn, adOpenStatic, adLockReadOnly
Set rst = Nothing
Set cnn = Nothing
Set rst = Nothing
 

Leer las respuestas

#1 Maxi
25/03/2009 - 19:53 | Informe spam
Hola y que quiere saber si es eficiente? si estan manejado bien las
sentencias sera efeciente, un update si tiene bien los indices lo sera.
Ahora si eso es eficiente desde access creo que se lo deberia preguntar a un
foro de ese producto



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server



"José A. Giménez [Py]" <gimenezj(algarroba)hotmail(punto)(com)> escribió en
el mensaje de noticias:#64u#
Saludos nuevamente. tengo una aplicacion front end en Access 2008 que se
comunica aon un Sql Server Express 2008. Tengo las tablas vinculadas, pero
deso hacer más eficiente las operaciones de grabacion, edicion y
eliminacion de datos. Con ls tablas vinculadas uso .FindFirst para
localizar el registro en cuestion y hacer .Addnew, .delete, .update.

He visto que el rendimiento cae al tener las tablas vinculadas, por lo que
deseo hacer estas operaciones por medio de SQL, sin tener tablas
vinculadas. Abajo copio un ejemplo de como actualizo una tabla llamada
Bancos con datos que se cargan en un formulario de Access. Estoy haciendo
lo correcto? desde el punto de vista del rendimiento?
Gracias!

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim tField As ADODB.Field
Set cnn = Nothing
Set rst = Nothing
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=Datos Upisa; " & _
"Data Source=SQLSERVER\SQLEXPRESS; " & _
"integrated security=SSPI; persist security info=True;"
rst.Open "UPDATE BANCOS SET BANCOS.Direccion='" & Me.LaDirec & _
"', BANCOS.Telefbanc='" & Me.ElTelbanco & _
"', BANCOS.Notas='" & Me.LaNota & _
"', BANCOS.Contacto1='" & Me.ElContact1 & "', BANCOS.TelContac1='" &
Me.EltelContac1 & "' WHERE NomBanco='" & Me.ElBanco & _
"'", cnn, adOpenStatic, adLockReadOnly
Set rst = Nothing
Set cnn = Nothing
Set rst = Nothing


Preguntas similares