la consulta no devuelve registros

26/11/2007 - 02:06 por Edgar Brito | Informe spam
como puedo hacer para que mi recordset me devuelva registros, trato de
expricarme:

tengo una tabla: movimientosbancarios que tiene un campo de fecha datetime
al enlazarlo con mi recorset no me devulve registros pongo el siguiente
ejemplo:

Dim Conexion As ADODB.Connection, CadenaConexion As String
Set Conexion = New ADODB.Connection

'ESTABLEZCO MI CADENA DE CONEXION
Conexion.Open "Provider=SQLNCLI; Initial Catalog=tesoreria; Data
Source=desktop;integrated security=SSPI; persist security info=True;"

'CREO MI RECORSET
Dim MovBancarios As ADODB.Recordset
Set MovBancarios = New ADODB.Recordset

'LO PONGO DEL LADO DEL CLIENTE
MovBancarios.CursorLocation = adUseClient
MovBancarios.CursorType = adKeySet

'DE ESTA FORMA MI RECORSET SI DEVUELVE REGISTROS
MovBancarios.Open "movimientosbancarios", Conexion, adOpenDynamic,
dLockOptimistic

'CUANDO TRATO DE RECUPERAR LOS REGISTROS QUE COINCIDAN CON LA FECHA 39295
QUE CORRESPONDE A 01/08/2007 NO ME DEVUELVE REGISTROS.

MovBancarios.Open "select * from movimientosbancarios where [fecha]9295",
Conexion, adOpenDynamic, dLockOptimistic

QUE ME ESTA FALLANDO PORQUE EL RECORSET NO DEVUELVE REGISTROS

Preguntas similare

Leer las respuestas

#1 Maxi
26/11/2007 - 16:18 | Informe spam
Hola, pruebe ese mismo query dentro del query analizer si usa 2000 o el
management studio si usa 2005 y revise si retorna o no regitros.

1) Si no retorna entonces no hay registros que cumplan esa condicion
2) Si los retorna entonces el problema esta en su aplicacion

Por lo que veo usted ademas esta consultando un campo que deberia ser del
tipo fecha con valore numericos, de que tipo de dato es ese campo fecha?
porque si es datetime usted esta haciendo mal la consulta y por ejemplo para
consultar los registros del 1 de diciembre de 2007 deberia hacer

where fecha >='20071201' and fecha < '20071202'


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Edgar Brito" escribió en el mensaje
news:
como puedo hacer para que mi recordset me devuelva registros, trato de
expricarme:

tengo una tabla: movimientosbancarios que tiene un campo de fecha
datetime
al enlazarlo con mi recorset no me devulve registros pongo el siguiente
ejemplo:

Dim Conexion As ADODB.Connection, CadenaConexion As String
Set Conexion = New ADODB.Connection

'ESTABLEZCO MI CADENA DE CONEXION
Conexion.Open "Provider=SQLNCLI; Initial Catalog=tesoreria; Data
Source=desktop;integrated security=SSPI; persist security info=True;"

'CREO MI RECORSET
Dim MovBancarios As ADODB.Recordset
Set MovBancarios = New ADODB.Recordset

'LO PONGO DEL LADO DEL CLIENTE
MovBancarios.CursorLocation = adUseClient
MovBancarios.CursorType = adKeySet

'DE ESTA FORMA MI RECORSET SI DEVUELVE REGISTROS
MovBancarios.Open "movimientosbancarios", Conexion, adOpenDynamic,
dLockOptimistic

'CUANDO TRATO DE RECUPERAR LOS REGISTROS QUE COINCIDAN CON LA FECHA 39295
QUE CORRESPONDE A 01/08/2007 NO ME DEVUELVE REGISTROS.

MovBancarios.Open "select * from movimientosbancarios where
[fecha]9295",
Conexion, adOpenDynamic, dLockOptimistic

QUE ME ESTA FALLANDO PORQUE EL RECORSET NO DEVUELVE REGISTROS

Respuesta Responder a este mensaje
#2 Edgar Brito
27/11/2007 - 06:01 | Informe spam
muchas gracias maxi, logré el objetivo gracias a tu ayuda, lo que pasa es que
excel convierte la fecha en un dato numerico al compararlo con mi campo
smalldatetime de SQL no devolvía registros, lo que hice fue convertir primero
mi valor de excel a a una cadena ddmmaaaa y listo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida