众所周知,利用Office System中的Infopath 创建各类表单,包括登记、管理、查询。 其中利用Infopath进行数据查询时,由于Infopath的查询是基于数据点值查询,即对查询数据库中的某个值,无法进行范围数据的查询实现。而在实际工作需要中,范围查询是一个查询功能中所必需,本文向大家介绍如何利用Infopath实现基于SQL的数据范围查询。
一.创建基于SQL的Infopath表单文档
1.启动 InfoPath2007。依次单击“设计表单模板”|“数据库”|“确定”。
2.在“数据连接向导”对话框中,单击“选择数据库”|“新建源”|“Microsoft SQL server。”|“下一步”|
在服务器名称中,输入数据库名称,如”Contoso\ConsSps|,设置相应的登陆凭据(建议将SQL数据库设置为SQL访问模式”
3.选择相应的表,如Contoso,单击“下一步”|“确定”,完成基于SQL的表单创建。
4.单击“工具”|“表单选项”|“编程”|设置“表单模板代码”为JSCript
单击“确定”
二.创建相应控件
1.清除默认内容,在“数据源”任务窗格中,双击“dataFields”。把“d:Contoso”节点移到表单的数据视图中。当出现提示时,添加“d:Contoso”作为一个“重复表”。
2.在“数据源”任务窗格中,选择“MyFileds”,单击“添加域或组”,设置名称“Query”,类型为“组”,单击“确定”。选择“Query”,单击“添加域或组”,设置名称“开始点”,类型为“文本域”,单击“确定”。选择“Query”,单击“添加域或组”,设置名称“结束点”,类型为“文本域”,单击“确定”
3.向表单中添加按钮控件,双击创建的控件按钮,设置标签为“查询”,单击“编辑表单代码”。
二.建立相应代码实现
写入如下
function Query::OnClick(eventObj)
{
 // 在此处编写代码
 var strOrigSQLCommand = XDocument.QueryAdapter.Command;
 var querySuppliers = XDocument.DOM.selectSingleNode("/dfs:myFields/dfs:queryFields/q:土地交易明细");
    var strMySQLCommand = XDocument.QueryAdapter.BuildSQLFromXMLNodes(querySuppliers);
 var QueryStartNum =querySuppliers.selectSingleNode("//my:Query/my:开始点").text;
 querySuppliers.selectSingleNode("//my:Query/my:开始点").text = "";
  var QueryEndNum =querySuppliers.selectSingleNode("//my:Query/my:结束点").text;
 querySuppliers.selectSingleNode("//my:Query/my:结束点").text = "";
 var strTitle = querySuppliers.selectSingleNode("@出让面积").text;
 querySuppliers.selectSingleNode("@出让面积").text = "";
 
 var strSupplierID = querySuppliers.selectSingleNode("@序号").text;
 querySuppliers.selectSingleNode("@序号").text = "";
 
 var strContactName = querySuppliers.selectSingleNode("@区域").text;
 querySuppliers.selectSingleNode("@区域").text = "";
 
 var strKejian = querySuppliers.selectSingleNode("@可建建筑面积").text;
 querySuppliers.selectSingleNode("@可建建筑面积").text = "";
  
 var strChengjiao = querySuppliers.selectSingleNode("@成交金额").text;
 querySuppliers.selectSingleNode("@成交金额").text = ""; 
  
 var strYongTu = querySuppliers.selectSingleNode("@用途").text;
 querySuppliers.selectSingleNode("@用途").text = ""; 
  
 var strYongjilv = querySuppliers.selectSingleNode("@容积率").text;
 querySuppliers.selectSingleNode("@容积率").text = ""; 
  
 var strChurang = querySuppliers.selectSingleNode("@出让方式").text;
 querySuppliers.selectSingleNode("@出让方式").text = ""; 
  
 var strJingDe = querySuppliers.selectSingleNode("@竞得单位").text;
 querySuppliers.selectSingleNode("@竞得单位").text = ""; 
  
 var strJuTiwei = querySuppliers.selectSingleNode("@土地具体位置").text;
 querySuppliers.selectSingleNode("@土地具体位置").text = ""; 
 
 var strTudiDanjia = querySuppliers.selectSingleNode("@土地单价").text;
 querySuppliers.selectSingleNode("@土地单价").text = ""; 
 var strLouMian = querySuppliers.selectSingleNode("@楼面地价").text;
 querySuppliers.selectSingleNode("@楼面地价").text = "";   
 
 //if (strTitle != "")
 //{
 //strMySQLCommand = strMySQLCommand  + strTitle;
 //}
 var strSQLQuery = strOrigSQLCommand;
 if (QueryEndNum != "")
  {
  strSQLQuery=strSQLQuery + "where  and 出让面积 >" + QueryStartNum + "and 出让面积 <= " + QueryEndNum ;
  }
   
      XDocument.QueryAdapter.Command = strSQLQuery;
 XDocument.Query(); 
      
 querySuppliers.selectSingleNode("@序号").text = strSupplierID;
 querySuppliers.selectSingleNode("@区域").text = strContactName;
 querySuppliers.selectSingleNode("@出让面积").text = strTitle;
 querySuppliers.selectSingleNode("@可建建筑面积").text = strKejian; 
  querySuppliers.selectSingleNode("@成交金额").text = strChengjiao; 
 querySuppliers.selectSingleNode("@用途").text = strYongTu;
 querySuppliers.selectSingleNode("@容积率").text = strYongjilv;
 querySuppliers.selectSingleNode("@出让方式").text = strChurang;
 querySuppliers.selectSingleNode("@竞得单位").text = strJingDe;
 querySuppliers.selectSingleNode("@土地具体位置").text = strJuTiwei;
 querySuppliers.selectSingleNode("@土地单价").text = strTudiDanjia;
 querySuppliers.selectSingleNode("@楼面地价").text = strLouMian;
   XDocument.QueryAdapter.Command = strOrigSQLCommand;
}a
声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!
时间:2008-01-21 18:41:48,点击:65824
【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!
相关评论
我要评论
        评论内容
          
          
      
相关文章
推荐文章