CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  企业开发 >  Lotus

急!!! 依条件查询有问题: 只有时间条件可以用,其余的条件如是"ALL"结果会全出来,可是若条件不是"ALL"就没有结果,显示没有符合条件的文件

楼主Brenda()2003-11-04 16:52:26 在 企业开发 / Lotus 提问

Sub   Click(Source   As   Button)  
  Dim   Condition   As   String  
  Dim   SourceDocNo   As   Integer  
  Dim   EC   As   NotesViewEntryCollection  
  Dim   ResultEntry   As   NotesViewEntry  
  Dim   Folder   As   NotesView  
  Dim   customerconditon   As   String  
  Dim   projnocondition   As   String  
  Dim   partnumcondition   As   String  
  Dim   applicantdepcondition   As   String  
  Dim   componentcondition   As   String  
  Dim   applicantcondition   As   String  
  Dim   cpsstatuscondition   As   String  
  Dim   originalpocondition   As   String  
   
  Set   uidoc   =   WorkSpace.CurrentDocument  
  Set   doc   =   uidoc.document  
  If   uidoc.fieldgettext("customer")   =   "ALL"   Then  
  customerconditon   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.customer)  
  If   customerconditon   =   ""   Then  
  customerconditon   =   "Field   spscustomer   ="   &   doc.customer(i)  
  Else  
  customerconditon   =     customerconditon   &"   or"&"Field   spscustomer   ="   &   doc.customer(i)  
  End   If  
  Next  
  End   If  
   
  If   uidoc.fieldgettext("projno")   =   "ALL"   Then  
  projnocondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.projno)  
  If   projnocondition   =   ""   Then  
  projnocondition   =   "Field   spsprojno   ="   &   doc.projno(i)  
  Else  
  projnocondition   =     projnocondition   &"   or   "&"Field   spsprojno   ="   &   doc.projno(i)  
  End   If  
  Next  
  End   If  
   
  If   uidoc.fieldgettext("partnum")   =   "ALL"   Then  
  partnumcondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.partnum)  
  If   partnumcondition   =   ""   Then  
  partnumcondition   =   "Field   spspartnum   ="   &   doc.partnum(i)  
  Else  
  partnumcondition   =     partnumcondition   &"   or   "&"Field   spspartnum   ="   &   doc.partnum(i)  
  End   If  
  Next  
  End   If  
   
  If   uidoc.fieldgettext("applicantdep")   =   "ALL"   Then  
  applicantdepcondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.applicantdep)  
  If   applicantdepcondition   =   ""   Then  
  applicantdepcondition   =   "Field   spsapplicantdep   ="   &   doc.applicantdep(i)  
  Else  
  applicantdepcondition   =     applicantdepcondition   &"   or   "&"Field   spsapplicantdep   ="   &   doc.applicantdep(i)  
  End   If  
  Next  
  End   If  
         
  If   uidoc.fieldgettext("component")   =   "ALL"   Then  
  componentcondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.component)  
  If   componentcondition   =   ""   Then  
  componentcondition   =   "Field   spscomponent   ="   &   doc.component(i)  
  Else  
  componentcondition   =     componentcondition   &"   or   "&"Field   spscomponent   ="   &   doc.component(i)  
  End   If  
  Next  
  End   If  
         
  If   uidoc.fieldgettext("applicant")   =   "ALL"   Then  
  applicantcondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.applicant)  
  If   applicantcondition   =   ""   Then  
  applicantcondition   =   "Field   spsapplicant   ="   &   doc.applicant(i)  
  Else  
  applicantcondition   =     applicantcondition   &"   or   "&"Field   spsapplicant="   &   doc.applicant(i)  
  End   If  
  Next  
  End   If  
     
  If   uidoc.fieldgettext("cpsstatus")   =   "ALL"   Then  
  cpsstatuscondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.cpsstatus)  
  If   cpsstatuscondition   =   ""   Then  
  cpsstatuscondition   =   "Field   spscpsstatus   ="   &   doc.cpsstatus(i)  
  Else  
  cpsstatuscondition   =     cpsstatuscondition   &"   or   "&"Field   spscpsstatus="   &   doc.cpsstatus(i)  
  End   If  
  Next  
  End   If  
     
  If   uidoc.fieldgettext("originalpo")   =   "ALL"   Then  
  originalpocondition   =   ""  
  Else  
  For   i   =   0   To   Ubound(doc.originalpo)  
  If   originalpocondition   =   ""   Then  
  originalpocondition   =   "Field   spsoriginalpo   ="   &   doc.originalpo(i)  
  Else  
  originalpocondition   =     originalpocondition   &"   or   "&"Field   spsoriginalpo="   &   doc.originalpo(i)  
  End   If  
  Next  
  End   If  
   
  If   customerconditon   <>   ""   Then  
  Condition   =     "("   &   customerconditon   &   ")"  
  End   If  
   
  If   projnocondition   <>   ""   Then    
  If   Condition<>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &projnocondition   &   ")"  
  Else  
  Condition   =   "("   &   projnocondition   &   ")"  
  End   If  
  End   If  
   
  If   partnumcondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   partnumcondition   &   ")"  
  Else  
  Condition   =   "("   &   partnumcondition   &   ")"  
  End   If  
  End   If  
   
  If   applicantdepcondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   applicantdepcondition   &   ")"  
  Else  
  Condition   =   "("   &   applicantdepcondition   &   ")"  
  End   If  
  End   If  
   
  If   componentcondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   componentcondition   &   ")"  
  Else  
  Condition   =   "("   &   componentcondition   &   ")"  
  End   If  
  End   If  
   
  If   applicantcondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   applicantcondition   &   ")"  
  Else  
  Condition   =   "("   &   applicantcondition   &   ")"  
  End   If  
  End   If  
   
  If   cpsstatuscondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   cpsstatuscondition   &   ")"  
  Else  
  Condition   =   "("   &   cpsstatuscondition   &   ")"  
  End   If  
  End   If  
   
  If   originalpocondition   <>   ""   Then  
  If   Condition   <>   ""   Then  
  Condition   =   Condition   &   "   and   "&   "("   &   originalpocondition   &   ")"  
  Else  
  Condition   =   "("   &   originalpocondition   &   ")"  
  End   If  
  End   If  
   
  On   Error   Resume   Next  
  If   uidoc.fieldgettext("start")   <>   ""     And   uidoc.fieldgettext("end")   <>   ""   Then  
  Select   Case   uidoc.fieldgettext("type")  
  Case   "Issue   date"  
  Condition     =   Condition   &   "   AND   ((FIELD   IssueDate   >   "   &   Cdat(uidoc.fieldgettext("start"))   &   "   OR   FIELD   IssueDate   =   "   &   Cdat(uidoc.fieldgettext("start"))   &   ")"   &   _  
  "   AND   "   &   "(FIELD   IssueDate   <   "   &   Cdat(uidoc.fieldgettext("end"))   &   "   OR   "   &   "FIELD   IssueDate   =   "   &   Cdat(uidoc.fieldgettext("end"))   &   "))"  
  Case   "Effective   date"  
  Condition     =   Condition   &   "   AND   ((FIELD   EffectiveDate   >   "   &   Cdat(uidoc.fieldgettext("start"))   &   "   OR   FIELD   EffectiveDate   =   "   &   Cdat(uidoc.fieldgettext("start"))   &   "))"   &   _  
  "   AND   "   &   "(FIELD   EffectiveDate   <   "   &   Cdat(uidoc.fieldgettext("end"))   &   "   OR   "   &   "FIELD   EffectiveDate   =   "   &   Cdat(uidoc.fieldgettext("end"))   &   ")"  
  Case   "ALL"  
  Condition     =   Condition     &_    
  "   AND   (((FIELD   IssueDate   >   "   &   Cdat(uidoc.fieldgettext("start"))   &   "   OR   FIELD   IssueDate   =   "   &   Cdat(uidoc.fieldgettext("start"))   &   ")"   &   "   AND   "   &   "(FIELD   IssueDate   <   "   &   Cdat(uidoc.fieldgettext("end"))   &   "   OR   "   &   "FIELD   IssueDate   =   "   &   Cdat(uidoc.fieldgettext("end"))   &   "))"   &   _  
  "OR   ((FIELD   EffectiveDate   >   "   &   Cdat(uidoc.fieldgettext("start"))   &   "   OR   FIELD   EffectiveDate   =   "   &   Cdat(uidoc.fieldgettext("start"))   &   ")"   &   "   AND   "   &   "(FIELD   EffectiveDate   <   "   &   Cdat(uidoc.fieldgettext("end"))   &   "   OR   "   &   "FIELD   EffectiveDate   =   "   &   Cdat(uidoc.fieldgettext("end"))   &   ")))"    
  End   Select  
  End   If  
   
  Condition   =   Trim(Condition)  
  If   Left(Condition,3)   =   "AND"   Then  
  Condition   =   Trim(Right(Condition,Len(Condition)-3))  
  End   If  
   
  Set   View   =   DB.GetView("scrviewSPSOutput")  
  Set   Folder   =   DB.GetView("FolderSPSSurvey")  
  SearchDocNo   =   view.FTSearch(Condition,0)  
  If   Err   <>   0     Then  
  Print   "[Error   #"   &   Cstr(Err)   &   "]:   "   &   Error$  
  End   If  
  Set   EC   =   View.AllEntries  
  If   EC.Count   =   0   Then  
  Messagebox   "沒有發現任何文檔符合搜尋條件!!",64,"搜尋完成"  
  Exit   Sub  
  End   If  
  Call   EC.PutAllInFolder("FolderSPSSurvey")  
  Call   workspace.ViewRefresh  
  End   Sub  
  问题点数:0、回复次数:5Top

1 楼Amanged(堕落的魔鬼)回复于 2003-11-04 17:22:00 得分 0

你这个有点烦,是什么结构?如果是B/S   我可以给你一个比较简单的。。。。Top

2 楼Brenda()回复于 2003-11-04 19:43:38 得分 0

好,是B/S的,你给我个简单的吧.谢谢!!Top

3 楼Brenda()回复于 2003-11-06 10:51:42 得分 0

高手快赐教吧Top

4 楼grassky(梁枫)回复于 2003-11-07 09:46:11 得分 0

可以在域中用公式获取查询条件啊,那样的话代码就不会这么复杂了Top

5 楼Brenda()回复于 2003-11-07 10:53:09 得分 0

没办法啊,要求用个套表来根据条件查询同时要显示结果,然后在汇出,Top

相关问题

  • 查询分析器中, 如何把查询结果保存到xls文件
  • JAVA可以将数据库查询结果存成文件吗?
  • 怎样导出查询的结果存为一个文件
  • 如何将查询结果(TQuery 的 Select)输出到Execl文件?
  • 如何把数据库查询结果直接成Execl文件。
  • 如何把数据库查询结果直接成Execl文件!!!
  • 怎么把ADOQuery的查询结果导入成XML文件?!
  • 如何将查询结果输入到Excel文件中?
  • 如何将SQL 查询出的结果生成DBF文件?
  • 如何把查询出来的结果保存成word文件

关键词

  • b/s
  • start
  • uidoc
  • fieldgettext
  • thencondition
  • ifif
  • elsecondition
  • partnumcondition
  • projnocondition
  • stringdim

得分解答快速导航

  • 帖主:Brenda

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo