![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
30/11/2003, 12:41
|
![Avatar de pabli](http://static.forosdelweb.com/customavatars/avatar45615_1.gif) | | | Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 3 meses Puntos: 0 | |
Hola Ainara,
En efecto, si lo has empezado con DAO no cambies, per te recomiendo ADO para los siguientes. Puedes utilizar DAO y ADO en un mismo proyecto y contra una misma base de datos, yo lo he hecho, pero nominando los objetos con cuidado pues algunos se llaman igual. Si declaras esto:
Dim rec as Recordset
que estás declarando, ¿un objeto DAO o ADO? es mejor
Dim rec as ADODB.Recordset
queda claro que es ADO.
Entre ADO y DAO no hay color, este último paso a la historia
Te paso una función que he encontrado en un programa antiguo, solo la tienes que modificar para que te sirva:
--------------------------------------------------------------------
'************************************************* ************************************************** ********
'** FUNCION Hacer_QRD
'** Descripcion: Esta funcion se encarga de realizar una querie en el servidor por medio de un querydef
'** Debe de pasarsele los datos necesarios para realizarlo
'** Parametros:
'** Cadena_SQL: - Tipo Cadena por valor
'** - Esta variable contiene la sentecia SQL que se va a utilizar para realizar la Querie
'**
'** Cadena_Conexion: - Tipo Cadena por valor
'** - Esta variable contiene el valor de la cadena de conexion a la BD segun los parametros iniciales
'**
'** Timeout: - Tipo Entero por valor
'** - Contiene el valor de tiempo que va ha esperar la respuesta por parte de la BD
'** Variables globales que modifica: N/A
'** Referencia a Funciones: N/A
'** Valores devueltos:
'** - 0 --> La funcion se ha realizado correctamente.
'** - 1 --> La funcion no se ha completado correctamente
'************************************************* ************************************************** ********
Function Hacer_QRD(ByVal Cadena_SQL As String, ByVal Cadena_Conexion As String, ByVal Timeout As Integer) As Integer
Dim QRD_Querie As QueryDef
'Control de Errores
On Error GoTo CONTROL_ERRORES:
'Ponemos el puntero del raton con reloj
Screen.MousePointer = 11
DoEvents
'Creamos el queriedef
Set QRD_Querie = G_Database.CreateQueryDef("")
QRD_Querie.Connect = Cadena_Conexion
QRD_Querie.ReturnsRecords = False
QRD_Querie.ODBCTimeout = Timeout
QRD_Querie.SQL = Cadena_SQL
DoEvents
QRD_Querie.Execute
'Ponemos el puntero del raton con flecha
Screen.MousePointer = 0
'Cerramos el Querydef
QRD_Querie.Close
Hacer_QRD = 0
Exit Function
'Control de Errores
CONTROL_ERRORES:
If Err.Number <> 0 Then
Hacer_QRD = 1
Exit Function
End If
End Function
--------------------------------------------------------------------
G_Database es una variable tipo "Database", a nivel de módulo.
Espero que te sirva.
Saludos
Pablo |