CFWebForge.com
 
 
   
 
Home      Service      Mijn boeken      My paintings      Artikelen      Contact     
  De praktijk  
     
   
     
  SharePoint 2007
Het zou handig zijn om je inkomende e-mailberichten direct in je SharePoint website te kunnen bekijken. Alleen --- het configureren van een mailserver in SharePoint heeft nogal wat voeten in aarde.

Gelukkig kan het eenvoudiger. Hier een doe-het-zelf script. 'Old school', maar 't werkt als een tierelier! Meer...
 
     
  Nieuws  
     
   
     
  (Just dropped this:) jQuiry + Sexy ColdFusion = Magnetic erotic poetry!  
     
  Artikel over SharePoint 2010 - Sitestatistieken gedropt op http://tinyurl.com/3d5f4gu  
     
  Handboek SharePoint 2010 op de 7e plaats in de * top 15 * best verkochte boeken 2011 bij Computerboek.nl  
 
     
  ColdFision - Dynamische Query's  
 
 
     
 
Je hebt een leven geleefd. Je hebt dingen gedaan, spullen verzameld, mensen om je heen gehad die je dierbaar zijn geworden. Verlangens gehad, verlangens bevredigd, toekomst gevoeld, verleden gedeeld.
   

De eenvoudigste manier om deze code aan de gang te krijgen is door onderstaande template in een blanco document op je server te copiëren.
Plug een waarde in voor je ODBC connectie en één voor de Tabel(Naam) die je wilt gebruiken.
Opslaan als .cfm. En run 'm in je browser...

Je ziet een dynamisch zoekformulier waarin je kunt zoeken binnen de velden van de Tabel die je gekozen had. Afhankelijk wat je wil kun je zoeken op =, <>, LIKE, NOT LIKE.

Als je eenmaal ziet "wat" het doet, stap dan door de broncode en probeer er achter te komen "hoe" het het doet.

Dit is geen "productie" script: er zitten nog "bugs" in (nummer en datumvelden worden getoond, maar je kunt er nog niet op zoeken). Maar het geeft wel een indicatie:

  • hoe je dynamisch variabelen kunt toekennen,
  • hoe je een dynamische SQL opzet en
  • hoe je een dynamisch rapport kunt genereren.

Indien je vragen hebt over specifieke onderdelen van deze code, stuur ze dan naar feedback@cfwebforge.com.

Have fun!

 


 

<!--- Dynamic query builder --->
<!--- Weer zo'n fantastisch product van cfwebforge.com! --->

<style type="text/css">
<!-- body { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-style: normal}-->
</style>

<!--- *** Zet hier je ODBC connectie en je TabelNaam ***--->
<cfset YourODBC="">
<cfset YourTable="">
<cfset ThisFile=getfilefrompath(getcurrenttemplatepath())>

 

<cfset FieldList="">
<cfquery name="myquery" datasource="#YourODBC#">
select * from #YourTable#
</cfquery>

<cfloop list="#myquery.columnlist#" index="columname">
<cfset FieldList=ListAppend(FieldList,columname)>
</cfloop>
<!---You may prefer to hand build "FieldList" the list--->

 

<!---Begin van het Zoekformulier--->
<h2>ZoekFormulier</h2>
<cfoutput>
<form action="#ThisFile#" method="post">

<cfloop List="#FieldList#" index="ThisField">
#LCase(ThisField)#

<select name="#ThisField#_operator">
<option value="=">is gelijk aan...</option>
<option value="<>">is niet gelijk aan...</option>
<option value="LIKE">bevat...</option>
<option value="NOT LIKE">bevat niet...</option>
</select>

<input type="text" name="#ThisField#">

<br><br>
</cfloop>

<input type="submit" name="submit" value="submit">
</form>
</cfoutput>

 

<!---Hier de Dynamische SQL--->
<cfif isdefined("Form.Submit")>

<cfquery name="SearchResult" datasource="#YourODBC#">
Select
#FieldList#
FROM #YourTable#
Where 1=1

<cfloop collection="#Form#" item="ThisField">
<cfif ListFindNoCase(FieldList,ThisField) is not 0>
<cfset Operator=ThisField & "_Operator">
<cfif Form[ThisField] is not "">
<cfif #Form[Operator]# contains "Like">

AND #ThisField# #Form[Operator]# '%#Form[ThisField]#%'
<cfelse>
AND #ThisField# #Form[Operator]# '#Form[ThisField]#'

</cfif>
</cfif>
</cfif>
</cfloop>

</cfquery>

 

<!---Hier de Output van de query--->
<cfoutput query="SearchResult">
<cfloop list="#FieldList#" index=index>
#SearchResult[index][SearchResult.CurrentRow]# <br>
</cfloop>
<hr size="1" noshade>
</cfoutput>

 

<!---End of "is submit" form processing--->
</cfif>

 


 

De mogelijkheid voor een loop door een "Form Structure" is alleen beschikbaar in CF 4.5x en hoger.
Als bovenstaand script wilt uitvoeren op een CF 4.0 server, dan moet je de template iets aanpassen:
Vervang alle referenties naar Form[ThisField] in... Evaluate("Form.#ThisField#")

 

 
   
  copyright © Peter van der Woude