SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Marc en Jueves 1 de Abril de 2004, 16:26
-
:hola: Hola a todos,
estoy haciendo una aplicación que consiste en coordinar VB con una b.datos access (Dao), la base
tiene contraseña y las tablas se abren bien, el problema es que se me cae en la siguiente instrucción:
If Not Data1.Recordset.EOF Then
Con el sgte. mensaje:
"Error '91' en tiempo de ejecución:
Variable de tipo Object o la variable de bloque With no está establecida"
Yo sé que el error 91 indica que la consulta en cuestión estaría nula, el problema es que antes de ponerle contraseña a la data, el código funcionaba bien.
Por fa, respondame alguien que sepa lo que pasa.
Gracias.
-
Hola Marc.
Habría que echarle un ojo al código. Que una variable de objeto (en este caso Data1 o Recordset) no refencie ningún objeto, se puede deber a diversas causas (la variable no se ha inicializado, se le ha asignado el valor nothing, se le ha asignado otra variable de objeto con valor nothing).Tal vez tengas que eliminar algún 'On Error resune next' que seguro que tienes por algun sitio en el que algo importante está cascando y no te enteras ...
Chao.
-
Hola Brroz
solucione el problema, (eso creo) así quedo el codigo:
==============================0
dim vaCont as integer
vaCont=1
Set nC = db.OpenRecordset("Select ncliente From Comuna ORDER BY ncliente", dbOpenDynaset)
If db.Recordsets.Count > 1 Then
If Not IsNull(nC(0)) Then
nC.MoveLast
Text1.Text = nC(0) + 1
Else
Text1.Text = vaCont
End If
Else
Text1.Text = 1
End If
Close All
=============================0
Donde dice
If db.Recordsets.Count > 1 Then
decía
If Not Data1.Recordset.EOF Then
La tabla Comuna está sin registros, o sea mi consulta encontraba un solo registro que contenía un valor CERO.
Así que me decía "No hay ningun registro activo....."
por eso necesitaba algo como
If db.Recordsets.Count > 1 Then
Habré solucionado el problema (al menos cuando lo corro el Text1.text queda en uno.
Gracias y salu2.