
07/07/2008, 01:56
|
 | | | Fecha de Ingreso: junio-2008 Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 10 meses Puntos: 7 | |
Respuesta: contar campos vacios de un registro especifico Donde pone "<indice>" debes poner el número del campo que quieras consultar, siendo 0 (cero) el primero.
Por ejemplo, a partir de la consulta "SELECT campo1, campo2, campo3 FROM tabla", el objeto Recordset te va a devolver:
<recordset>.Fields.Count = 3
<recordset>.Fields(0).Name = "campo1"
<recordset>.Fields(1).Name = "campo2"
<recordset>.Fields(2).Name = "campo3"
Si la tabla "tabla" contiene dos registros, con los valores "valor 1.1", "valor 1.2" y "valor 1.3" para el primer registro, y "valor 2.1", "valor 2.2" y "valor 2.3" para el segundo, nada más abrir el recordset, además, tendrás estos valores:
<recordset>.Fields(0).Value = "valor 1.1"
<recordset>.Fields(1).Value = "valor 1.2"
<recordset>.Fields(2).Value = "valor 1.3"
Si después de ver esto, hicieras un <recordset>.MoveNext, lo que verías en total, es esto:
<recordset>.Fields.Count = 3
<recordset>.Fields(0).Name = "campo1"
<recordset>.Fields(1).Name = "campo2"
<recordset>.Fields(2).Name = "campo3"
<recordset>.Fields(0).Value = "valor 2.1"
<recordset>.Fields(1).Value = "valor 2.2"
<recordset>.Fields(2).Value = "valor 2.3"
Observa que la propiedad Count siempre vale lo mismo y que las propiedades Name también, ya que son datos relativos a la definición de la consulta, no a su resultado (la instrucción SELECT es la misma mientras no la cambies explícitamente). Sin embargo, las propiedades Value sí cambian, porque contienen el valor del registro actual.
De todas formas, coméntanos si lo que quieres hacer es esto, o bien lo que dice Avellaneda, porque son cosas distintas. Por ejemplo, para una tabla que contuviera una única línea con los siguientes datos:
Campo1 = "hola"
Campo2 = null
Campo3 = null
Campo4 = null
Campo5 = "adios"
lo que yo te estoy proponiendo, te devolvería "3", mientras que según lo propone Avellaneda, (por ejemplo: "SELECT * FROM [LaTabla] WHERE IsNull(Campo2)") te devolvería "1". |