Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error 3021

Estas en el tema de Error 3021 en el foro de Visual Basic clásico en Foros del Web. HOla a todos los foreros. estoy tratando de avanzar registros por un cliente y un producto dado pero cuando le doy siguiente me sale el ...
  #1 (permalink)  
Antiguo 24/04/2009, 07:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Error 3021

HOla a todos los foreros.

estoy tratando de avanzar registros por un cliente y un producto dado pero cuando le doy siguiente me sale el error 3021.

Que podrá ser?

anexo mi codigo


Rs2.MoveNext el error me sale Aqui
If Rs2.EOF = True Then
MsgBox "Está en el ultimo"
Rs2.MovePrevious
End If
Text_Fecha.Text = Rs2.Fields("cot_date")
Text_Id.Text = Rs2.Fields("cot_number")
Combo_Cliente.Text = Rs2.Fields("search_name")
Cmb_Producto.Text = Rs2.Fields("search_desc")
Text_Product.Text = Rs2.Fields("item_no")
Text_Especific.Text = Rs2.Fields("Especific_prod")
'Text_Presentacion.Text = Rs2.Fields("item_desc_2")
'Text_Cantidad.Text = Rs2.Fields("qty_prod")
Text_Precio.Text = Rs2.Fields("prc_or_disc_1")
Text_Validez.Text = Rs2.Fields("end_prc")
Combo_terminos.Text = Rs2.Fields("pay_term")
'Cmb_Direccion.Text = Rs2.Fields("addr_1")
'Cmb_Moneda.Text = Rs2.Fields("cot_curr")
Combo_Vendedor.Text = Rs2.Fields("cot_sales")
'Text_Observ.Text = Rs2.Fields("cot_Observ")
'Rs2.Update
'Rs15.MoveNext


If IsNull(Rs2.Fields("qty_prod")) Then
Text_Cantidad.Text = ""
Else
Text_Cantidad.Text = Rs2.Fields("qty_prod")
End If

If IsNull(Rs2.Fields("addr_1")) Then
Cmb_Direccion.Text = ""
Else
Cmb_Direccion.Text = Rs2.Fields("addr_1")
End If

If IsNull(Rs2.Fields("item_desc_2")) Then
Text_Presentacion.Text = ""
Else
Text_Presentacion.Text = Rs2.Fields("item_desc_2")
End If

If IsNull(Rs2.Fields("cot_curr")) Then
Cmb_Moneda.Text = ""
Else
Cmb_Moneda.Text = Rs2.Fields("cot_curr")
End If

If IsNull(Rs2.Fields("cot_Observ")) Then
Text_Observ.Text = ""
Else
Text_Observ.Text = Rs2.Fields("cot_Observ")
End If
  #2 (permalink)  
Antiguo 24/04/2009, 09:45
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error 3021

el error exacto que me saca es:

Either EOF or BOF is true, or the current record has been deleted.
Requested operation requires a current record.

Gracias,
  #3 (permalink)  
Antiguo 24/04/2009, 11:34
 
Fecha de Ingreso: diciembre-2007
Ubicación: Lima
Mensajes: 23
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Error 3021

Hola lo que deseas hacer es recorrer los registros con botones <<, <, >, >> osea inicio, anterior, siguiente y ultimo verdad? pues si es asi haslo de esta manera:

creas los cuatro botones y le pones a todos el mismo nombre para crear una matriz de controles, te preguntara: Ya existe un control llamado "nombrequeasignes" ¿Desea crear una matriz de controles? le das si
y en el evento click de cualquier de los 4 botones pones este codigo:

Código PHP:
If rs2.RecordCount 0 Then
    Select 
Case Index
        
Case 0
            rs2
.MoveFirst
            
        
Case 1
            rs2
.MovePrevious
            
If rs2.BOF Then
                rs2
.MoveFirst
            End 
If
            
        Case 
2
            rs2
.MoveNext
            
If rs2.EOF Then
                rs2
.MoveLast
            End 
If
            
        Case 
3
            rs2
.MoveLast
            
    End Select
    Call llenadatos
End 
If 


y en luego creas un sub

Código PHP:
Sub llenadatos() //aqui pones lo siguiente
Text_Fecha.Text Rs2.Fields("cot_date")
Text_Id.Text Rs2.Fields("cot_number")
Combo_Cliente.Text Rs2.Fields("search_name")
Cmb_Producto.Text Rs2.Fields("search_desc")
Text_Product.Text Rs2.Fields("item_no")
Text_Especific.Text Rs2.Fields("Especific_prod")
'Text_Presentacion.Text = Rs2.Fields("item_desc_2")
'
Text_Cantidad.Text Rs2.Fields("qty_prod")
Text_Precio.Text Rs2.Fields("prc_or_disc_1")
Text_Validez.Text Rs2.Fields("end_prc")
Combo_terminos.Text Rs2.Fields("pay_term")
'Cmb_Direccion.Text = Rs2.Fields("addr_1")
'
Cmb_Moneda.Text Rs2.Fields("cot_curr")
Combo_Vendedor.Text Rs2.Fields("cot_sales")
Text_Observ.Text Rs2.Fields("cot_Observ")
End Sub 
y una cosa para ver si esta vacio tu pones de esta manera:


Código PHP:
If IsNull(Rs2.Fields("qty_prod")) Then
Text_Cantidad
.Text ""
Else
Text_Cantidad.Text Rs2.Fields("qty_prod")
End If 
eso lo puedes reemplazar solo por esto:

Código PHP:
Text_Cantidad.Text "" &  Rs2.Fields("qty_prod"
espero que te sirva.

Saludos.
  #4 (permalink)  
Antiguo 24/04/2009, 12:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error 3021

Hola muchas gracias por responderme sashen....

tu nombre es dificil...

hice lo que me dijiste pero no me pregunta crear la matriz de controles, simplemente me saca la advertencia y ya.

sera porque en vba no funciona?
  #5 (permalink)  
Antiguo 24/04/2009, 15:43
 
Fecha de Ingreso: diciembre-2007
Ubicación: Lima
Mensajes: 23
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Error 3021

el ejemplo que te di es para visual basic

Saludos.
  #6 (permalink)  
Antiguo 24/04/2009, 17:58
 
Fecha de Ingreso: abril-2009
Mensajes: 136
Antigüedad: 15 años
Puntos: 1
Respuesta: Error 3021

Ami me sucede cuando utilizos conexiones nativa prueba tu rutina realizando una conexion por ODBC y veras que te funciona
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 08:51.