Ver Mensaje Individual
  #13 (permalink)  
Antiguo 29/03/2007, 14:09
Avatar de CésarBalaguer
CésarBalaguer
 
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: RecordSet Vacio !! me da error !!

Sobre este mensaje:
-------------------
Ahora veamos la sugerencia:

Cita:
strSql = "SELECT Interprete_Artista "
strSql = strSql & "FROM TABLA_1 INNER JOIN TABLA_2 ON "
strSql = strSql & "(TABLA_1.INTERPRETEIDTEMA=TABLA2.IDTEMA) "
set mADO = conn.execute(strSql)

Este Query nos regresa todas las filas de Tabla_1 y Tabla_2 donde sus campos INTERPRETEIDTEMA y IDTEMA respectivamente sean iguales, pero no es lo que el ciclo original quiere:


Cita:
Do While Cint (Tabla_1.Fields ("InterpreteIDTEMA"))=Cint (Tabla_2.Fields ("IdTema")) AND Not Tabla_1.Eof %>
----------------------*
si se dan cuenta, en el while iguala tabla1(interpreteidtema) con tabla2(idtema) es decir, la condiciòn es que la columna de la base de datos interpreteidtema de la tabla1 sea igual a la columna idtema de la tabla2; (eso es solucionable con un JOIN, luego viene una condiciòn tabla1.EOF, eso no es una condicion sino el estado de un cursor, eso devuelve un valor lògico que indica si el cursor està al final del archivo, cosa que facilmente podrìa ser condiciòn ùnica del while si la primera pregunta forma parte del query.

en programaciòn, mientras menos preguntas se hagan, màs ràpido es el programa.