Ver Mensaje Individual
  #15 (permalink)  
Antiguo 13/06/2008, 11:51
Avatar de Txoco
Txoco
 
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Sentencia Update con Boolean

Hola!

No confundas los checkboxes, porque no son booleanos, ya que aunque tu lo veas como "marcado/no marcado" (true/false), realmente son numéricos, porque te devuelve 1 ó 0. Te recuerdo que puedes configurar un checkbox para que te devuelva un 2. Para verlo, despliega la propiedad Value de un checkbox cualquiera y verás que tiene las siguientes posibilidades:

0 - Unchecked
1 - Checked
2 - Grayed

Por eso no puede ser booleano. Tampoco lo confundas con que apunte a un campo booleano, porque sigue devolviendo un número (de hecho, un Integer, 16 bits), y debes hacer la conversión a mano.

La forma correcta es hacer la concatenación comparando la propiedad Value con 1 ó 0, y puedes hacerlo en una única línea (como te recomendé, con IIf), o en varias instrucciones como esta, una por cada control:

Código:
    ....
    SQL = SQL & ", TipoComprobante="
    If ChkTC.Value = 1 Then
        SQL = SQL & "True"
    Else
         SQL = SQL & "False"
    End If

    SQL = SQL & ", Comprobante="
    If ChkC.Value = 1 Then...
Las dos formas son igual de buenas... y las únicas. Lo normal además es que las bases de datos no consideren "1" como "True" de forma automática.