El número de valores de consulta y el número de campos de destino son diferentes

Bienvenidos a VerTutoriales.com, es posible que sin saber por qué alguna consulta que esteis lanzando desde visual basic (vb6) os devuelva este error: «el número de valores de consulta y el número de campos de destino son diferentes», la solución es bien simple, veamos:

El problema surge en cómo toma los datos la consulta y es posible que los valores decimales lleven una «,» por medio, esto puede ser un problema o no, dependiendo de la configuración que tengas en vuestro sistema, en mi caso usaba para los cálculos los puntos «.» y hacía que el cliente configurara su sistema de manera que los puntos fueran el símbolo decimal y la coma fuera el separador de miles, esto no solía ser un problema mientras no compartieran el sistema con otras aplicaciones contables. Pero al ir creciendo las funcionalidades e ir ampliando el target, nos empezó a hacer falta cambiar esto. Es decir, la configuración de decimales pasó a ser la configuración por defecto, las comas «,» como símbolo decimal y los puntos «.» como símbolo separador de miles, toda esta explicación para qué… pues despues de solucionar la toma de datos generando una función que supliera la carencia de Val(), en apariencia todo funcionaba bien, los cálculos los realizaba genial, pero en una parte, a la hora de insertar decimales, decía que los valores de consulta no eran igual a los de destino, ¿cómo?

Pues eso, algo que no se había tocado fallaba… el problema es que visual basic, tomaba ese valor como no válido y directamente lo omitía, provocando que la consulta no fuera correcta.

SOLUCIÓN:

En la consulta se le añade a la insersión del campo el entrecomillado con comillas simples, por ejemplo: ‘0,2032’ y quedará solucionado este problema!

Espero que os sea útil… sé que me alargué bastante en la explicación pero es que así comenzó todo…

 

Un saludo!

Carlos Dk

Apasionado por la enseñanza y el SEO

5 comentarios en “El número de valores de consulta y el número de campos de destino son diferentes

  • el 19 junio, 2013 a las 11:12 pm
    Permalink

    Amigo, ese comentario estuvo genial, resolvió mi problema que era exactamente igual al que tu expusiste. muchísimas gracias…

    Respuesta
  • el 4 mayo, 2018 a las 8:27 pm
    Permalink

    hola, me podrias dar una ejemplo, no se donde insert las comillas que hablas. gracias

    Respuesta
    • el 14 junio, 2021 a las 5:17 pm
      Permalink

      Buenas, me puedes enviar un ejemplo, tengo el mismo problema al insertar un valor numerico con decimales, Saludos

      Respuesta
  • el 10 mayo, 2018 a las 9:33 pm
    Permalink

    Has leído el artículo completo? Se refiere a que el número puede contener el valor , esa , rompe la concatenación de la query

    No sé si me expliqué :D, puedes pegar la consulta donde te da error para revisarla 😉

    Respuesta
    • el 14 junio, 2021 a las 5:25 pm
      Permalink

      Esta es mi consulta:
      Private sub Button1_click(…)
      dim varfecha as date
      vartasa as double

      varfecha=textbox1.text
      vartasa=cdbl(textbox2.text)

      if conn.state=connection.closed then
      conn.open()
      endif

      dim cmd as new oledbCommand(ïnsert into dttcambio (dttcamvio_fecha, dttcambio_tasa) values (#¨&varfecha & ¨#,¨ & vartasa & ¨)¨,conn)
      cmd.executenonquery()

      Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.