recordcount debuelve -1

25/02/2006 - 12:09 por Ch0rY | Informe spam
Hola estoy usando una conexion ODBC para actualizar los datos de una hoja
excel, de esta forma

Set wrkODBC = CreateWorkspace("NuevoWorkspaceODBC", "", "", dbUseODBC)

Set conMiembros = wrkODBC.OpenConnection("conexion1", , ,
"ODBC;DSN=Agrupación;")
Set rstUtilidades = conMiembros.OpenRecordset(SQL)

SQL = "SELECT Miembros.N_Situación, Miembros.DNI, [Nombre] & ' ' &
[Apellido1] & ' ' & [Apellido2] AS NombreCompleto,
Agrupación.F_Incorporación, Agrupación.N_Indicativo, Agrupación.F_Baja "

SQL = SQL & " FROM Miembros INNER JOIN Agrupación ON Miembros.DNI =
Agrupación.DNI"

SQL = SQL & " WHERE (((Miembros.N_Situación) Like 1 Or
(Miembros.N_Situación) = 2) And ((Agrupación.N_Indicativo) Like 0)) Or
(((Agrupación.N_Indicativo) > 2))"

SQL = SQL & " ORDER BY [Nombre] & ' ' & [Apellido1] & ' ' & [Apellido2]"

Set rstMiembros = conMiembros.OpenRecordset(SQL)

LUego compruebo de esta manera si hay registros o no

If rstMiembros.RecordCount > 0 Then

El problema es q la primera vez q ejecuto la consulta SQL funciona
prefectamente, pero si la intento hacer por segunda vez no me debuelve ningun
registro

Cual puede ser el problema?

gracias
 

Leer las respuestas

#1 Héctor Miguel
28/02/2006 - 09:31 | Informe spam
hola, Ch0rY !

1) [me parece que] estas 'exponiendo' [solo] las partes del codigo donde [imagino] 'supones' que reside 'el problema' -?-
2) no comentas [p.e.] si en las 'siguientes llamadas' hay -algunos- 'cambios' en las 'llamadas' al procedimiento/paametros/... -?-
3) pudiera tratarse de 'formas de abrir' un recordset 'por omision' [tratandose de DAO] como de tipo 'dynaset' que [p.e.]
NO permiten la 'lectura' de un 'RecorCount'... hasta que se haya 'leido' el ultimo registro con un 'MoveLast' -?-
4) tampoco comentas si la base que estas leyendo es: FoxPro, dBASE, or Paradox [p.e.] -?-
5) [algunas veces] se necesita CERRAR el recordset [y la base de datos] despues de haber 'terminado de trabajar' con el -?-
6) [p.e.] los recordsets del tipo 'dynaset' pudieran NO ser 'actualizables'... 'bajo ciertas [y variadas] circunstancias' [hay varias] :(
7) en tanto comentas detalles adicionales... revisa si te sirve la informacion [que es mas que 'extensa'] del siguiente enlace:
-> http://tinyurl.com/ogybc

supongo que ya saldran mas detalles -?- los comentas ?
saludos,
hector.
=> ... usando una conexion ODBC para actualizar los datos de una hoja excel, de esta forma
Set wrkODBC = CreateWorkspace("NuevoWorkspaceODBC", "", "", dbUseODBC)
Set conMiembros = wrkODBC.OpenConnection("conexion1", , , "ODBC;DSN=Agrupación;")
Set rstUtilidades = conMiembros.OpenRecordset(SQL)
SQL = "SELECT Miembros.N_Situación, Miembros.DNI, [Nombre] & ' ' & [Apellido1] & ' ' & [Apellido2] AS NombreCompleto, Agrupación.F_Incorporación, Agrupación.N_Indicativo,
Agrupación.F_Baja "
SQL = SQL & " FROM Miembros INNER JOIN Agrupación ON Miembros.DNI = Agrupación.DNI"
SQL = SQL & " WHERE (((Miembros.N_Situación) Like 1 Or (Miembros.N_Situación) = 2) And ((Agrupación.N_Indicativo) Like 0)) Or (((Agrupación.N_Indicativo) > 2))"
SQL = SQL & " ORDER BY [Nombre] & ' ' & [Apellido1] & ' ' & [Apellido2]"
Set rstMiembros = conMiembros.OpenRecordset(SQL)
LUego compruebo de esta manera si hay registros o no
If rstMiembros.RecordCount > 0 Then
El problema es q la primera vez q ejecuto la consulta SQL funciona prefectamente, pero si la intento hacer por segunda vez no me debuelve ningun registro
Cual puede ser el problema?

Preguntas similares