begin process at 2010 03 20 15:29:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > GÉNÉRATION AUTOMATIQUE DE TABLEAUX CROISÉS EN FONCTION D'UNE REQUÊTE SQL

GÉNÉRATION AUTOMATIQUE DE TABLEAUX CROISÉS EN FONCTION D'UNE REQUÊTE SQL


 Information sur la source

Note :
7,4 / 10 - par 5 personnes
7,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Classé sous :tableau, générateur, croisé, requête, sql Niveau :Débutant Date de création :28/05/2004 Vu :13 426

Auteur : BinOff

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

WriteTabCroise permet d'afficher un tableau généré automatiquement en fonction d'une reqûete SQL, en gardant les noms de collone présents dans votre gestionnaire de bdd.

J'utilise personnellement cette fonction pour afficher des requêtes croisées que j'ai créé avec Access, ça marche assez bien.


Source

  • function WriteTabCroise(sSQL, Titre)
  • 'Génére automatiquement des tableaux croisés en fonction de la requête SQL
  • ' sSQL = Requete SQL
  • ' Titre = Titre du tableau
  • Set Connection = Server.CreateObject("ADODB.Connection")
  • Set RecordSet = Server.CreateObject("ADODB.RecordSet")
  • Connection.connectionString = DBPath
  • Connection.Open
  • if Titre <> "" then
  • Response.write "<BR><B><Center>" & Titre & "</Center></B><BR>" & vbcrlf
  • End If
  • RecordSet.Open sSQL, Connection, 3, 3
  • if RecordSet.EOF = false then
  • Response.write "<Table border=1 bordercolor=green cellspacing=0 cellspading=0 width='100%'>"
  • Response.write "<TR align=center bgcolor=green>" & vbcrlf
  • 'Création des collones
  • for each rsfield in recordset.Fields
  • Response.write "<TD><B><font color=yellow>" & rsfield.Name & "</font></B></TD>" & vbcrlf
  • next
  • Response.write "</TR>" & vbcrlf
  • 'Affichage de chaque ligne
  • Do while not RecordSet.EOF
  • Response.write "<TR>" & vbcrlf
  • i = 0
  • For each RecordSetItem in RecordSet.Fields
  • i = i + 1
  • if i=1 then
  • Response.write "<TD align=left nowrap>" & vbcrlf
  • else
  • Response.write "<TD align=center>" & vbcrlf
  • end if
  • if isnull(RecordSetItem) = true then
  • Texte = "-"
  • else
  • Texte = RecordSetItem
  • if isnumeric(RecordSetItem) = true then
  • if RecordSetItem <> 0 then
  • Texte = "<Font Color=red><B>" & Texte & "</B></font>" & vbcrlf
  • end if
  • else
  • Texte = "<Font Color=green><B>" & Texte & "</B></font>" & vbcrlf
  • end if
  • end if
  • Response.write Texte
  • Response.write "</TD>" & vbcrlf
  • next
  • Response.write "</TR>" & vbcrlf
  • RecordSet.MoveNext
  • Loop
  • Response.write "</TABLE><BR>" & vbcrlf
  • end if
  • RecordSet.Close
  • Connection.Close
  • Set Connection = nothing
  • Set RecordSet = nothing
  • End function
function WriteTabCroise(sSQL, Titre)
'Génére automatiquement des tableaux croisés en fonction de la requête SQL


' sSQL = Requete SQL
' Titre = Titre du tableau

Set Connection	 = Server.CreateObject("ADODB.Connection")
Set RecordSet	 = Server.CreateObject("ADODB.RecordSet")

Connection.connectionString = DBPath
Connection.Open


if Titre <> "" then
	Response.write "<BR><B><Center>" & Titre & "</Center></B><BR>" & vbcrlf
End If


RecordSet.Open sSQL, Connection, 3, 3

if RecordSet.EOF = false then
	Response.write "<Table border=1 bordercolor=green cellspacing=0 cellspading=0 width='100%'>"
	Response.write "<TR align=center bgcolor=green>" & vbcrlf

	'Création des collones
	for each rsfield in recordset.Fields
  		Response.write "<TD><B><font color=yellow>" &  rsfield.Name & "</font></B></TD>" & vbcrlf
	next
	Response.write "</TR>" & vbcrlf

	'Affichage de chaque ligne
	Do while not RecordSet.EOF
		
		Response.write "<TR>" & vbcrlf
		i = 0
		For each RecordSetItem in RecordSet.Fields
			i = i + 1
			if i=1 then
				Response.write "<TD align=left nowrap>"  & vbcrlf
			else
				Response.write "<TD align=center>"  & vbcrlf	
			end if
		 
		  	if isnull(RecordSetItem) = true then
				Texte = "-"
		 	else
				Texte = RecordSetItem
				if isnumeric(RecordSetItem) = true then
					if RecordSetItem <> 0 then
						Texte = "<Font Color=red><B>" & Texte & "</B></font>" & vbcrlf
					end if
				else
					Texte = "<Font Color=green><B>" & Texte & "</B></font>" & vbcrlf
				end if
		  	end if
		
			Response.write Texte 
			Response.write "</TD>"  & vbcrlf
		next

 		Response.write "</TR>"   & vbcrlf
		RecordSet.MoveNext
	Loop
	Response.write "</TABLE><BR>"  & vbcrlf
end if
RecordSet.Close
Connection.Close
Set Connection = nothing
Set RecordSet = nothing

End function

 Conclusion

sSQL : Requete SQL à lire
Titre : Titre du tableau

N'oubliez pas de changer ceci:
Connection.connectionString = DBPath

Mettez à la place de DBPath votre chaine de connexion ODBC


 Sources du même auteur

GÉNÉRER UNE CHAINE ALÉATOIRE
VÉRIFICATION D'UNE DATE AVEC GESTION DES ANNÉES BISEXTILES
Source avec Zip GESTIONNAIRE DE NEWS AVEC COMMENTAIRES
FONCTIONS DE CONVERSION FRANCS <> EURO
Source avec Zip FAIRE DES TÉLÉCHARGEMENTS EXCLUSIFS

 Sources de la même categorie

Source avec Zip GESTION_ENSEIGNANTS par Elmarzougui
Source avec Zip ZONE MEMBRE EN ASP "E-MEMBRES1.0" par cmaelc
Source avec Zip Source avec une capture Source .NET (Dotnet) ADMINISTRATION BASE DE DONNÉES ORACLE par chbayah
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION D'UN DATASET par ManuAntibes
Source avec Zip Source .NET (Dotnet) INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL ... par jimmy69

 Sources en rapport avec celle ci

Source avec Zip VISUALISER RAPIDEMENT LE RÉSULTAT D'UNE REQUÊTE AVEC ADO par roro06
Source .NET (Dotnet) AFFICHER LE CONTENU D'UNE TABLE SOUS SQLSERVEUR 2000 par tribals
LES REQUÊTES SQL par vbtom
UTILISER IN ET NOT IN DANS UNE REQUETTE SQL par bipross
SQLQUOTE (AH UTILISER DANS LES REQUETES SQL) par Epsylon3

Commentaires et avis

Commentaire de surfzoid le 13/12/2007 20:13:51 1/10

il me semble que ODBC et beaucoup moins performant qu ADO.NET, surtout sur du access et une boucle sur chaque enregistrements, un par un , en ce moment je bosse sur une BD paradox que je transfert dans une BD MS SQL chaque nuit, cette derniere a des million d'enregistrement(les caisse de parking, d'un aeroport d'une trés grande ville), ça doit surement coincé quelque part si j'affiche le formulaire avec une boucle qui vas de 0 a 1 000 000 ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Requête SQL, Access et Oracle [ par Zeus ] Problème:Je passe une variable "no_groupe" en paramètre entre deux pages web de la page qui reçois la variable je veux l'utiliser dans une requête SQL Erreur sur requête SQL dans page ASP ... [ par IF ] Voilà, je lutte sur un petit problème, je ne comprends pas d'où vient l'erreur dans la requête SQL suivante :----------------------------------------- [Moi Newbie] Requête SQL "dynamique" [ par p4t0z3u ] J'en peux plus, je vais me suicider :'(Je souhaite récupérer le contenu d'une TextBox (que je viens de remplir) pour la passer en paramètre d'une requ Caractère "&" et requête sql ?? [ par Darthsidious30 ] Salut,J'ai un problème avec le caractère & dans un SELECT.Dans la condition je fais une recherche sur une chaîne de caractère contenant "&" lorsque je Requête SQL avec N° semaine [ par conclois ] concloisJe narrive pas à écrire ma fonction SELECT pour qu'elle me renvoit le Numéro de semaine du jour de chargement, J'avais ecris : SELECT (DatePar Prb chaîne de caractères et espaces après requête [ par floben21 ] Bonjours à tous,j'ai le prb suivant: J'ai un champ dans ma base access qui contient des données avec des espace (ex: adresse: 99 rue de toto),je fais Prob de requête SQL [ par micfrip ] Salut à tous !Bon, j'ai un problème assez agaçant...Dans ma page asp, j'ai un formulaire comprenant nottament, un champ de recherche.Si je tape ma req HELP!! URGENT PROBLEME D'INSERTION D'ENREGISTREMENT [ par kryptx ] bon voila le probleme est super simple mais la solution ne l'est pas pour autant, je m'explique:Voici le codefor i = 0 to ubound(tableau) sql="INSER Intégrer une fonction javascript dans une requête SQL [ par madoman ] SALUT. J'ai créé une fonction JS me renvoyant la date du jour et je souhaite l'utiliser dans une requête SQL mais la problème. En fait ce n'est pas un Requête SQL [ par reyterg ] bonjour à tous,Je cherche à faire une requête SQL pour sélectionner des datesMon but est d'afficher uniquement les dates exprimées dans ma requête par


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales