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

variable tipo Object

Estas en el tema de variable tipo Object en el foro de Visual Basic clásico en Foros del Web. Hola buenas, tengo un pequeño problema y no logor saber a que es devido. Mi códico es el siguiente: Private Sub Form_Load() On Error GoTo ...
  #1 (permalink)  
Antiguo 20/07/2009, 04:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
variable tipo Object

Hola buenas, tengo un pequeño problema y no logor saber a que es devido.

Mi códico es el siguiente:

Private Sub Form_Load()
On Error GoTo Errores
Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
Adodc2.Recordset.MoveFirst
While Not Adodc2.Recordset.EOF
Adodc2.Recordset.Delete
Adodc2.Recordset.Update
Adodc2.Recordset.MoveNext
Wend
etc...

Mi problema es que donde la linea en rojo me salta este error:
Variable del tipo Object o la variable de bloque With no está establecida.

Mi Adodc2 lo conecto a una base de datos en access y la prueba de conexion es satifactoria, luego en el RecordSource lo conecto a una tabla de mi base de datos.

¿Cual puede ser el problema?

Muchas gracias
  #2 (permalink)  
Antiguo 20/07/2009, 05:24
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: variable tipo Object

si el recordset esta en BOF no podra ir mas arriba, proba haciendo esto


If Not Adodc2.Recordset.BOF
Adodc2.Recordset.MoveFirst
end If
  #3 (permalink)  
Antiguo 20/07/2009, 07:48
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Nada poniendo eso el error sigue saltando. Pero ahora salta en la linea donde pongo adodc2.recordset.BOF

El error me salta por lo que veo, la primera vez que menciono el Adodc2, asi que creo que puede ser algo de la conexion.
  #4 (permalink)  
Antiguo 20/07/2009, 09:02
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: variable tipo Object

Quizas sea porque Adodc2 esta mal declarado o no seha construido bien, asegurate de haberlo declarado y construido bien.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #5 (permalink)  
Antiguo 20/07/2009, 09:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Hombre creo que si esta bien construido,

En conectionString tengo:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Lumenex\Escritorio\WEB Lumenex\tablas1.mdb;Persist Security Info=False

Y tengo un Access 2000

En en REcordSuource especifico la tabla a le accedo (comentarios en este caso)

Asi que creo que lo tengo bien y no se ma ha pasado nada.
  #6 (permalink)  
Antiguo 20/07/2009, 09:17
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: variable tipo Object

al objeto Adodc2 lo declaraste en la parte gral del codigo o esta dentro de un Sub delcarado Private??, si es asi es que estas usando un objeto no dlecarado por eso te tira ese error
  #7 (permalink)  
Antiguo 20/07/2009, 09:19
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Tienes razon esta dentro de un Private, como puedo declararlo????
  #8 (permalink)  
Antiguo 20/07/2009, 09:26
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: variable tipo Object

declaralo en la parte de "declaraciones" generales (arriba del todo)
  #9 (permalink)  
Antiguo 20/07/2009, 09:35
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Lo siento por ser pesado pero podrias ponerme un ejemplo, es que no entiendo lo que me quieres decir, yo el Adodc2 lo declaro con las heramientas de componentes y luego lo utilizo dentro de un sub Private, pero declararlo arriba no se como es.
  #10 (permalink)  
Antiguo 20/07/2009, 09:53
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: variable tipo Object

Código:
'declaraciones globales
Public cnn As ADODB.Connection
Private WithEvents rstMos As ADODB.Recordset
Private sBus As String, bEnc As Boolean, JK As Double, bClick As Boolean
Public sNroInt As String, bEmp As Boolean, sCE As String

'comienzo del codigo
Private Sub Form_Load()
Set cnn = New ADODB.Connection
sFichero = App.Path & "\data\interf.mdb"
'conexion ADO para Access
If cnn.State <> 1 Then
    With cnn
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & sFichero & "';"
        .Open
        .CursorLocation = adUseClient
    End With
End If
una pregunta... cuando haces la conexion y por que usas el objeto desde que carga el form? si podes mostra mas de tu codigo
  #11 (permalink)  
Antiguo 20/07/2009, 10:29
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Private Sub Form_Load()
On Error GoTo Errores ' control de eroores
Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
'
If Not Adodc2.Recordset.BOF Then
Adodc2.Recordset.MoveFirst 'Vaciar tabla comentadios
End If
While Not Adodc2.Recordset.EOF
Adodc2.Recordset.Delete
Adodc2.Recordset.Update
Adodc2.Recordset.MoveNext
Wend
'
If Not Adodc4.Recordset.BOF Then
Adodc4.Recordset.MoveFirst 'Vaciar tabla Obras
End If
While Not Adodc4.Recordset.EOF
Adodc4.Recordset.Delete
Adodc4.Recordset.Update
Adodc4.Recordset.MoveNext
Wend
'
If Not Adodc6.Recordset.BOF Then
Adodc6.Recordset.MoveFirst 'Vaciar tabla clientes
End If
While Not Adodc6.Recordset.EOF
Adodc6.Recordset.Delete
Adodc6.Recordset.Update
Adodc6.Recordset.MoveNext
Wend
'
If Not Adodc8.Recordset.BOF Then
Adodc8.Recordset.MoveFirst 'Vaciar tabla administradores
End If
While Not Adodc8.Recordset.EOF
Adodc8.Recordset.Delete
Adodc8.Recordset.Update
Adodc8.Recordset.MoveNext
Wend
'
Adodc1.Recordset.MoveFirst 'Tabla COmentarios
While Not Adodc1.Recordset.EOF
Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields("idcomentario") = Adodc1.Recordset.Fields("idcomentario")
Adodc2.Recordset.Fields("idobra") = Adodc1.Recordset.Fields("idobra")
Adodc2.Recordset.Fields("fecha") = Adodc1.Recordset.Fields("fecha")
Adodc2.Recordset.Fields("comentario") = Adodc1.Recordset.Fields("comentario")
Adodc2.Recordset.Fields("tipo") = Adodc1.Recordset.Fields("tipo")
Adodc2.Recordset.Update
Adodc1.Recordset.MoveNext
Wend
'
Adodc3.Recordset.MoveFirst 'Tabla Obras
While Not Adodc3.Recordset.EOF
If FechaEntrada >= 1 / 1 / 2008 Then 'Fecha de entrada obra
Adodc4.Recordset.AddNew
Adodc4.Recordset.Fields("IdObra") = Adodc3.Recordset.Fields("IdObra")
Adodc4.Recordset.Fields("IdObraPadre") = Adodc3.Recordset.Fields("IdObraPadre")
Adodc4.Recordset.Fields("IdObraPadre") = Adodc3.Recordset.Fields("IdObraPadre")
Adodc4.Recordset.Fields("IdProveedor") = Adodc3.Recordset.Fields("IdProveedor")
Adodc4.Recordset.Fields("Direccion") = Adodc3.Recordset.Fields("Direccion")
Adodc4.Recordset.Fields("Poblacion") = Adodc3.Recordset.Fields("Poblacion")
Adodc4.Recordset.Fields("obramin") = Adodc3.Recordset.Fields("obramin")
Adodc4.Recordset.Fields("llamada") = Adodc3.Recordset.Fields("llamada")
Adodc4.Recordset.Fields("IdCliente") = Adodc3.Recordset.Fields("IdCliente")
Adodc4.Recordset.Fields("IdAdministrador") = Adodc3.Recordset.Fields("IdAdministrador")
Adodc4.Recordset.Fields("Problema") = Adodc3.Recordset.Fields("Problema")
Adodc4.Recordset.Fields("TipoObra") = Adodc3.Recordset.Fields("TipoObra")
Adodc4.Recordset.Fields("ArrayComentarios") = Adodc3.Recordset.Fields("ArrayComentarios")
Adodc4.Recordset.Fields("FechaEntrada") = Adodc3.Recordset.Fields("FechaEntrada")
Adodc4.Recordset.Fields("FechaPresupuesto") = Adodc3.Recordset.Fields("FechaPresupuesto")
Adodc4.Recordset.Fields("FechaAceptacion") = Adodc3.Recordset.Fields("FechaAceptacion")
Adodc4.Recordset.Fields("FechaObraEmpieza") = Adodc3.Recordset.Fields("FechaObraEmpieza")
Adodc4.Recordset.Fields("FechaObraTermina") = Adodc3.Recordset.Fields("FechaObraTermina")
Adodc4.Recordset.Fields("FechaFactura") = Adodc3.Recordset.Fields("FechaFactura")
Adodc4.Recordset.Fields("Estado") = Adodc3.Recordset.Fields("Estado")
Adodc4.Recordset.Fields("garantia") = Adodc3.Recordset.Fields("garantia")
Adodc4.Recordset.Fields("globalsecretario") = Adodc3.Recordset.Fields("globalsecretario")
Adodc4.Recordset.Fields("adjudicaciondirecta") = Adodc3.Recordset.Fields("adjudicaciondirecta")
Adodc4.Recordset.Fields("SistemaPresupuesto") = Adodc3.Recordset.Fields("SistemaPresupuesto")
Adodc4.Recordset.Update
End If
Adodc3.Recordset.MoveNext
Wend
'
Adodc5.Recordset.MoveFirst 'Tabla clientes
While Not Adodc5.Recordset.EOF
Adodc6.Recordset.AddNew
Adodc6.Recordset.Fields("IdCliente") = Adodc5.Recordset.Fields("IdCliente")
Adodc6.Recordset.Fields("IdAdministrador") = Adodc5.Recordset.Fields("IdAdministrador")
Adodc6.Recordset.Fields("Nombr") = Adodc5.Recordset.Fields("Nombr")
Adodc6.Recordset.Fields("Tipo") = Adodc5.Recordset.Fields("Tipo")
Adodc6.Recordset.Fields("Direccion") = Adodc5.Recordset.Fields("Direccion")
Adodc6.Recordset.Fields("CP") = Adodc5.Recordset.Fields("CP")
Adodc6.Recordset.Fields("Poblacion") = Adodc5.Recordset.Fields("Poblacion")
Adodc6.Recordset.Fields("Comentario") = Adodc5.Recordset.Fields("Comentario")
Adodc6.Recordset.Update
Adodc5.Recordset.MoveNext
Wend
'
Adodc7.Recordset.MoveFirst 'tabla Administradores
While Not Adodc7.Recordset.EOF
Adodc8.Recordset.AddNew
Adodc8.Recordset.Fields("IdAdministrador") = Adodc7.Recordset.Fields("IdAdministrador")
Adodc8.Recordset.Fields("Nombre") = Adodc7.Recordset.Fields("Nombre")
Adodc8.Recordset.Fields("Tipo") = Adodc7.Recordset.Fields("Tipo")
Adodc8.Recordset.Fields("Telefono") = Adodc7.Recordset.Fields("Telefono")
Adodc8.Recordset.Fields("TelefonoFax") = Adodc7.Recordset.Fields("TelefonoFax")
Adodc8.Recordset.Fields("TelefonoMovil") = Adodc7.Recordset.Fields("TelefonoMovil")
Adodc8.Recordset.Fields("Direccion") = Adodc7.Recordset.Fields("Direccion")
Adodc8.Recordset.Fields("CP") = Adodc7.Recordset.Fields("CP")
Adodc8.Recordset.Fields("Poblacion") = Adodc7.Recordset.Fields("Poblacion")
Adodc8.Recordset.Fields("email") = Adodc7.Recordset.Fields("email")
Adodc8.Recordset.Fields("email") = Adodc7.Recordset.Fields("email")
Adodc8.Recordset.Fields("contacto") = Adodc7.Recordset.Fields("contacto")
Adodc8.Recordset.Fields("comentario") = Adodc7.Recordset.Fields("comentario")
Adodc8.Recordset.Fields("login") = Adodc7.Recordset.Fields("login")
Adodc8.Recordset.Fields("pass") = Adodc7.Recordset.Fields("pass")
Adodc8.Recordset.Fields("prioridad") = Adodc7.Recordset.Fields("prioridad")
Adodc8.Recordset.Update
Adodc7.Recordset.MoveNext
Wend
'
End 'Finalizar aplicacion
'
Errores:
MsgBox Err.Description
End Sub

Este es todo mi codigo, es solo una aplicacion que me vuelque el contenido que yo quiero de una tabla a otra.
  #12 (permalink)  
Antiguo 20/07/2009, 10:47
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: variable tipo Object

mi limitada capacidad ha llegado... yo no te puedo ayudar mas.... para mi te falta la conexion y declarar los recordsets.... aparte podes reducir el codigo para que no sea "engorreoso"
  #13 (permalink)  
Antiguo 21/07/2009, 01:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 28
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: variable tipo Object

Gracias a todos por la ayuda pero ya lo solucione, jejeje

Adodc2.Refresh

Ese era el problema, menuda tonteria y tire un día en esto...
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 03:52.