Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problemas EOF o BOF ?????????????

Estas en el tema de Problemas EOF o BOF ????????????? en el foro de Programación General en Foros del Web. Tengo el siguiente problema necesito, hacer una subconsulta, pero como al hacerlo me salia el valor de BOF o EOF es True, el registro actual ...
  #1 (permalink)  
Antiguo 29/09/2004, 12:04
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación Problemas EOF o BOF ?????????????

Tengo el siguiente problema necesito, hacer una subconsulta, pero como al hacerlo me salia el valor de BOF o EOF es True, el registro actual se elimino, la operacion solicitada requiere un registro actual, para lo cual separe en dos consultas, para conseguir primero la fecha y pasarla luegoa una 2da consulta, pero me sale el mismo error, les agradecere su ayuda, aqui les anexo el codigo antes descrito

Dim rsProducto As New ADODB.Recordset
Dim rsFecha As New ADODB.Recordset
Dim intCantidad As Integer
Dim dtFecha As Date

With rsFecha
.ActiveConnection = cn
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.Source = "SELECT MAX(FecLot) as FECHA FROM Lote WHERE CodPro='" & txtCodPro.Text & "'"
.Open
End With

If IsNull(rsFecha!Fecha) = True Then
dtFecha = Date
Else
dtFecha = rsFecha!Fecha
End If
rsFecha.Close
Set rsFecha = Nothing

With rsProducto
.ActiveConnection = cn
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.Source = "SELECT CanProRes as CANTIDAD FROM Lote WHERE CodPro='" & txtCodPro.Text & "' AND FecLot=" & dtFecha
.Open
End With

If IsNull(rsProducto!Cantidad) = True Then
intCantidad = 0
Else
intCantidad = rsProducto!Cantidad
End If

lblCantidadTotal.Caption = intCantidad + CInt(txtCantidadLote.Text)
  #2 (permalink)  
Antiguo 29/09/2004, 16:40
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
bueno si no estoy mal para poner ese tiepo de if's tendria que ser algo asi...
Código:
If rsFecha.BOF = True Then
dtFecha = Date
Else
dtFecha = rsFecha!Fecha
End If
espero te sirva..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 30/09/2004, 09:57
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación

Eso lo se lo que pasa es que lo que uso en el if es para saber si el valor resultante es nulo o no, pero el problema me nace con el mensaje que me sale que hace referencia aEOF o BOF ,
  #4 (permalink)  
Antiguo 30/09/2004, 11:01
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
lo que pasa es que cuando no hay registros el puntero se ubica en el bof o en eof y cuando tu pones rs.fecha por decir sale error por que le puntero esta en el bof o en el eof
tendrias que hacer como dice geoavila

if rs.bof or rs.eof then
'no hay regsitros
else
' si hay regsirtso
endif
  #5 (permalink)  
Antiguo 31/05/2005, 09:37
DK_
 
Fecha de Ingreso: mayo-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Puede ser!!!!

prueba esto:

if rs.recordcount=0 then
intCantidad = 0
else
If IsNull(rsProducto!Cantidad) = True Then
intCantidad = 0
Else
intCantidad = rsProducto!Cantidad
End If
End if
  #6 (permalink)  
Antiguo 31/05/2005, 10:03
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por DK_
prueba esto:

if rs.recordcount=0 then
intCantidad = 0
else
If IsNull(rsProducto!Cantidad) = True Then
intCantidad = 0
Else
intCantidad = rsProducto!Cantidad
End If
End if
Por favor, que este topic es del 2004, no subáis temas antiguos....
  #7 (permalink)  
Antiguo 31/05/2005, 20:51
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
Jajajaja, es verdad, han subido un tópic de hace un año. De todos modos, siempre es útil su lectura . Seguramente el que lo ha subido tenía el mismo problema que el que abrió el tópic, buscando (quizás a través del Google) llegó ahí, lo ha solucionado y ha decidido poner su solución (no se ha dado cuenta en la fecha, y para él el tema era totalmente actual. Es su primer mensaje en el foro así que dudo que se haya fijado en las fechas ni cosas así...).

Lo cierto es que esto de respetar las fechas... hay temas que nunca caducan.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:21.