Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2004, 10:29
Teri
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 11 meses
Puntos: 0
Acces xp y Recordset.find

Una duda, sobre esto

estoy declarando una función pública para llamarla desde una consulta, aunque eso creo que es lo de menos.

Declaro el recordset como estático para volver a utilizarlo en todos los registros sin necesidad de instanciarlo de nuevo, y utilizar un find, que debería funcionar.

Bien, pues ahí está el problema, me da un error el find.

Error 3001: Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

Aquí pongo el código, por si me ayudan, con esta tontería

Public Function ObtenerNumeroProyecto(cCliente As String, cPoliza As String) As String

Static lAbiertos As Boolean ' controla que ya se haya llamado a la función previamente, para no abrir las conexiones

Static rs As New ADODB.Recordset


If Not lAbiertos Then
rs.Open "SELECT * FROM 4_1_ProyectosSeguros_ObtenerNumeroProyecto;", CurrentProject.Connection, adOpenDynamic
lAbiertos = True
End If
If IsNull(cCliente) Then
ObtenerNumeroProyecto = "#ERROR"
Else
rs.Find "[Clie No] = '" & cCliente & "' AND Poliza = '" & cPoliza & "'" , , adSearchForward, 1
If rs.EOF Then
ObtenerNumeroProyecto = "NUEVO"
Else
ObtenerNumeroProyecto = rs![Proj No]
End If
rs.Close
End If

End Function

He probado a hacer cada parte del find por separado y funcionan bien, es más, después de hacer esad dos partes por separado, he intentado ejecutar ese find, el completo, y ha funcionado, no me daba errores, eso sí, sin la parte final de los argumentos, solo con el find y lo que quiero buscar

Todo ayuda es bienvenida