在带有多个日期字段的SPServices之间

编程入门 行业动态 更新时间:2024-10-28 00:29:30
本文介绍了在带有多个日期字段的SPServices之间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有以下CAMLQuery.

I have the following CAMLQuery.

<Query> <Where> <Or> <Or> <Or> <Or> <Or> <Eq> <FieldRef Name='Title' /> <Value Type='Text'>Titulo</Value> </Eq> <Geq> <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' /> <Value Type='DateTime'>txtDataDeCNDTribMobil</Value> </Geq> <Leq> <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' /> <Value Type='DateTime'>txtDataAteCNDTribMobil</Value> </Leq> </Or> <Geq> <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' /> <Value Type='DateTime'>txtDataDeCNDINSS</Value> </Geq> <Leq> <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' /> <Value Type='DateTime'>txtDataAteCNDINSS</Value> </Leq> </Or> <Geq> <FieldRef Name='Vencimento_x0020_CRF' /> <Value Type='DateTime'>txtDataDeCRF</Value> </Geq> <Leq> <FieldRef Name='Vencimento_x0020_CRF' /> <Value Type='DateTime'>txtDataAteCRF</Value> </Leq> </Or> <Geq> <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' /> <Value Type='DateTime'>txtDataDeCNDTribFederais</Value> </Geq> <Leq> <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' /> <Value Type='DateTime'>txtDataAteCNDTribFederais</Value> </Leq> </Or> <Geq> <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' /> <Value Type='DateTime'>txtDataDeSegurodeVida</Value> </Geq> <Leq> <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' /> <Value Type='DateTime'>txtDataAteSegurodeVida</Value> </Leq> </Or> </Where> <OrderBy> <FieldRef Name='Title' /> </OrderBy> </Query>

代码基本上是:查询包含多个日期列的Sharepoint 2013列表,并且表单中有多个类型为date的字段.问题是我创建的表格之间. CAMLQuery不返回任何内容.只是一个错误,表明CAMLQuery不正确.

The code is basically: Consult a list of Sharepoint 2013 that contains multiple columns of dates, and form there are multiple fields of type date. The problem is that between the form I created. The CAMLQuery returns nothing. Just one mistake that CAMLQuery is incorrect.

任何人都知道如何制作具有多个日期字段的CAMLQuery吗?

Anyone know how to make a CAMLQuery with multiple date fields?

tks

推荐答案

这是我为问题找到的解决方案.我知道这不是世界上最好的代码,但是它可以工作:)

This was the solution I found for my problem. I know it's not the best code in the world, but it works :)

calmQuery = "<Query>"+ "<Where>"; //If the Subcontratados is not empty and all the dates are, applies the "" if(Subcontratados != '' && (txtDataDeCNDTribMobil == '' && txtDataAteCNDTribMobil == '' && txtDataDeCNDINSS == '' && txtDataAteCNDINSS == '' && txtDataDeCRF == '' && txtDataAteCRF == '' && txtDataDeCNDTribFederais == '' && txtDataAteCNDTribFederais == '' && txtDataDeSegurodeVida == '' && txtDataAteSegurodeVida == '')){ calmQuery += ""; //If the Subcontratados is not empty and no other date also applies the AND }else if(Subcontratados != '' && (txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "<And>"; //If none of the above conditions applies the OR }else{ calmQuery += "<Or>"; } calmQuery += "<Eq>"+ "<FieldRef Name='Title' />"+ "<Value Type='Text'>"+Subcontratados+"</Value>"+ "</Eq>"; if(txtDataDeCNDTribMobil != '' && txtDataAteCNDTribMobil != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "<Or>"; }else if(txtDataDeCNDINSS != '' && txtDataAteCNDINSS != '' && (txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "<Or>"; }else if(txtDataDeCRF != '' && txtDataAteCRF != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "<Or>"; }else if(txtDataDeCNDTribFederais != '' && txtDataAteCNDTribFederais != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "<Or>"; }else if(txtDataDeSegurodeVida != '' && txtDataAteSegurodeVida != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '')){ calmQuery += "<Or>"; } //If txtDataDeCNDTribMobil and is txtDataAteCNDTribMobil is not empty if(txtDataDeCNDTribMobil != '' && txtDataAteCNDTribMobil != ''){ calmQuery += "<And>"+ "<Geq>"+ "<FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />"+ "<Value Type='DateTime'>"+txtDataDeCNDTribMobil+"</Value>"+ "</Geq>"+ "<Leq>"+ "<FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />"+ "<Value Type='DateTime'>"+txtDataAteCNDTribMobil+"</Value>"+ "</Leq>"+ "</And>"; } //If txtDataDeCNDINSS and txtDataAteCNDINSS is not empty if(txtDataDeCNDINSS != '' && txtDataAteCNDINSS != ''){ calmQuery += "<And>"+ "<Geq>"+ "<FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />"+ "<Value Type='DateTime'>"+txtDataDeCNDINSS+"</Value>"+ "</Geq>"+ "<Leq>"+ "<FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />"+ "<Value Type='DateTime'>"+txtDataAteCNDINSS+"</Value>"+ "</Leq>"+ "</And>"; } //If txtDataDeCRF and txtDataAteCRF is not empty if(txtDataDeCRF != '' && txtDataAteCRF != ''){ calmQuery += "<And>"+ "<Geq>"+ "<FieldRef Name='Vencimento_x0020_CRF' />"+ "<Value Type='DateTime'>"+txtDataDeCRF+"</Value>"+ "</Geq>"+ "<Leq>"+ "<FieldRef Name='Vencimento_x0020_CRF' />"+ "<Value Type='DateTime'>"+txtDataAteCRF+"</Value>"+ "</Leq>"+ "</And>"; } //If txtDataDeCNDTribFederais and txtDataAteCNDTribFederais is not empty if(txtDataDeCNDTribFederais != '' && txtDataAteCNDTribFederais != ''){ calmQuery += "<And>"+ "<Geq>"+ "<FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />"+ "<Value Type='DateTime'>"+txtDataDeCNDTribFederais+"</Value>"+ "</Geq>"+ "<Leq>"+ "<FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />"+ "<Value Type='DateTime'>"+txtDataAteCNDTribFederais+"</Value>"+ "</Leq>"+ "</And>"; } //If txtDataDeSegurodeVida and txtDataAteSegurodeVida is not empty if(txtDataDeSegurodeVida != '' && txtDataAteSegurodeVida != ''){ calmQuery += "<And>"+ "<Geq>"+ "<FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />"+ "<Value Type='DateTime'>"+txtDataDeSegurodeVida+"</Value>"+ "</Geq>"+ "<Leq>"+ "<FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />"+ "<Value Type='DateTime'>"+txtDataAteSegurodeVida+"</Value>"+ "</Leq>"+ "</And>"; } if(txtDataDeCNDTribMobil != '' && txtDataAteCNDTribMobil != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "</Or>"; }else if(txtDataDeCNDINSS != '' && txtDataAteCNDINSS != '' && (txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "</Or>"; }else if(txtDataDeCRF != '' && txtDataAteCRF != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "</Or>"; }else if(txtDataDeCNDTribFederais != '' && txtDataAteCNDTribFederais != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "</Or>"; }else if(txtDataDeSegurodeVida != '' && txtDataAteSegurodeVida != '' && (txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '')){ calmQuery += "</Or>"; } //CLOSE - If the Subcontratados is not empty and all the dates are, applies the "" if(Subcontratados != '' && (txtDataDeCNDTribMobil == '' && txtDataAteCNDTribMobil == '' && txtDataDeCNDINSS == '' && txtDataAteCNDINSS == '' && txtDataDeCRF == '' && txtDataAteCRF == '' && txtDataDeCNDTribFederais == '' && txtDataAteCNDTribFederais == '' && txtDataDeSegurodeVida == '' && txtDataAteSegurodeVida == '')){ calmQuery += ""; //CLOSE - If the Subcontratados is not empty and no other date also applies the AND }else if(Subcontratados != '' && (txtDataDeCNDTribMobil != '' || txtDataAteCNDTribMobil != '' || txtDataDeCNDINSS != '' || txtDataAteCNDINSS != '' || txtDataDeCRF != '' || txtDataAteCRF != '' || txtDataDeCNDTribFederais != '' || txtDataAteCNDTribFederais != '' || txtDataDeSegurodeVida != '' || txtDataAteSegurodeVida != '')){ calmQuery += "</And>"; //CLOSE - If none of the above conditions applies the OR }else{ calmQuery += "</Or>"; } calmQuery += "</Where>"+ "<OrderBy>"+ "<FieldRef Name='Title' />"+ "</OrderBy>"+ "</Query>";

更多推荐

在带有多个日期字段的SPServices之间

本文发布于:2023-07-16 23:11:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1126902.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多个   字段   日期   SPServices

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!