Combos y fechas

Hola buen dia, saludos.
Disculpe las molestias pero tengo un problema y espero que me pueda ayudar se lo voy a agradecer mucho....el problema es que estoy realizado un reporteador en la cual cuenta con 5 combos de las cuales dos contiene fechas pero lanza un error aqui tengo mi codigo:
valor1=combo1 &&fecha1
valor2=combo2 &&fecha2
<span style="white-space: pre;"> </span>condicion1="fecha1"+"="+dtoc(valor1) &&&lee fechas como texto
<span style="white-space: pre;"> condicion</span>2<span style="white-space: pre;">="fecha</span>2<span style="white-space: pre;">"+"="+dtoc(valor</span>2<span style="white-space: pre;">)</span> &&&lee fechas como texto
<span style="white-space: pre;"> </span>&&&consulta1<span style="white-space: pre;"> </span>
<span style="white-space: pre;"><span style="white-space: pre;"> </span>c</span>onsulta1='select * from mitabla where'+ ""+condicion1+""+'into cursor temp1'
     Este es la secuencia que sigue mi codigo, por favor me puede ayudar y si tiene una mejor idea se agradecere mucho, muchas gracias de antemano

1 Respuesta

Respuesta
1
Me puedes enviar el mensaje de error, y sobre todo, cual seria el valor de consulta1, es posible que tengas algun error en el query.
EL error es Operator/operand type mismatch
mi campo en la tabla es de tipo date
mi codigo completo es:
local c1,c2,c3,c4,c5,n1,n2,n3,n4,n5,valor1,valor2,valor3,valor4,valor5,consulta,banco1
set date british
<span style="white-space: pre;"> </span>n1=0
<span style="white-space: pre;"> </span>n2=0
<span style="white-space: pre;"> </span>n3=0
<span style="white-space: pre;"> </span>n4=0
<span style="white-space: pre;"> </span>n5=0
<span style="white-space: pre;"> </span>valor1=""
<span style="white-space: pre;"> </span>valor2=""
<span style="white-space: pre;"> </span>valor3=""
<span style="white-space: pre;"> </span>valor4=""
<span style="white-space: pre;"> </span>valor5=""
<span style="white-space: pre;"> </span>c1=thisformset.frmdetxfichas.combo1.value
<span style="white-space: pre;"> </span>c2=thisformset.frmdetxfichas.combo2.value
<span style="white-space: pre;"> </span>c3=ctod(thisformset.frmdetxfichas.combo3.value )
<span style="white-space: pre;"> </span>c4=thisformset.frmdetxfichas.combo4.value
<span style="white-space: pre;"> </span>c5=ctod(thisformset.frmdetxfichas.combo5.value)
<span style="white-space: pre;"> </span>if !empty(c1)
<span style="white-space: pre;"> </span>n1=1
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check1.visible= .t.
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check1.value=1
<span style="white-space: pre;"> </span>valor1="banco1"+"="+'c1'
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c2)
<span style="white-space: pre;"> </span>n2=1
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check2.visible= .t.
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check2.value=1
<span style="white-space: pre;"> </span>valor2="numcta"+"="+'c2'
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c3)
<span style="white-space: pre;"> </span>n3=1
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check3.visible= .t.
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check3.value=1
<span style="white-space: pre;"> </span>valor3="feccap"+"="+dtoc(c3)
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c4)
<span style="white-space: pre;"> </span>n4=1
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check4.visible= .t.
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check4.value=1
<span style="white-space: pre;"> </span>valor4="num_vale"+"="+'c4'
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c5)
<span style="white-space: pre;"> </span>n5=1
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check5.visible= .t.
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.check5.value=1
<span style="white-space: pre;"> </span>valor5="fecha"+"="+dtoc(c5)
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.txtcont.value=n1+n2+n3+n4+n5
<span style="white-space: pre;"> </span>if thisformset.frmdetxfichas.txtcont.value=1
<span style="white-space: pre;"> </span>select atmp_1_9
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource=""
<span style="white-space: pre;"> </span>if thisformset.frmdetxfichas.txtcont.value>0
<span style="white-space: pre;"> </span>if !empty(c1)
<span style="white-space: pre;"> </span>consulta='selec * from atmp_1_9 where'+" "+valor1+" "+"into cursor atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c2)
<span style="white-space: pre;"> </span>consulta='selec * from atmp_1_9 where'+" "+valor2+" "+"into cursor atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c3)
<span style="white-space: pre;"> </span>consulta='selec * from atmp_1_9 where'+" "+valor3+" "+"into cursor atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c4)
<span style="white-space: pre;"> </span>consulta='selec * from atmp_1_9 where'+" "+valor4+" "+"into cursor atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>if !empty(c5)
<span style="white-space: pre;"> </span>consulta='selec * from atmp_1_9 where'+" "+valor5+" "+"into cursor atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
<span style="white-space: pre;"> </span>&consulta
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_2_6"
<span style="white-space: pre;"> </span>else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
<span style="white-space: pre;"> </span>endif
else
<span style="white-space: pre;"> </span>thisformset.frmdetxfichas.grid1.recordsource="atmp_1_9"
endif
El problema es en tu query, yo no soy un developer asi que no puedo leer tu codigo, lo que necesitaria que me envies es cual es el query que se esta enviando a la base de datos una vez q cargas todos los parametros, el problema radica en los tipos de datos que estas enviando, ya que es uno diferente al que tienes en tus tablas.
ok, mi query es
fecha1=thisform.combo1.value
valor1="fecha"+"="+fecha1
consulta='select * from mitabla where' + ""+valor1+""+'into cursor temp1'
¿Tendrias el valor de consulta despues que cargas tus variables en tiempo real?
Hola buen dia,
<span style="white-space: pre;"> </span>Es que este error surge ya que los valores son fechas, en cambio los otros valores que son texto si responden y me dan un resultado.
Entonces el problema no esta en SQL sino en tus variables de programa q le estas asignando un tipo de dato que no corresponde, te recomiendo que hagas una depuracion linea a linea para poder descartar eso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas