sqlite (resolu)
sqlite (resolu)
y-a-il la possibilité avec sqlite de retrouver cette fonctionnalité très interessant (requete access) ? (ou de la contourner)
Set resh = CurrentDb.CreateQueryDef("tr1", "TRANSFORM Sum(Val(resultat.[" & x1 & "]))& '' SELECT resultat.[" & x2 & "], Count(resultat.[" & x1 & "])& '' AS 0nombre0, Sum(Val(resultat.[" & x1 & "])) & '' AS 0total0 FROM resultat WHERE (((resultat.[" & x1 & "]) is not null)) GROUP BY resultat.[" & x2 & "] PIVOT resultat.[" & x3 & "];")
(transform et pivot)
---------------------
Modérateur : Sujet déplacé de "astuces" à "applications", Le forum "Astuces" est réservé au partage des astuces trouvés par les membres. Merci. LSI
Set resh = CurrentDb.CreateQueryDef("tr1", "TRANSFORM Sum(Val(resultat.[" & x1 & "]))& '' SELECT resultat.[" & x2 & "], Count(resultat.[" & x1 & "])& '' AS 0nombre0, Sum(Val(resultat.[" & x1 & "])) & '' AS 0total0 FROM resultat WHERE (((resultat.[" & x1 & "]) is not null)) GROUP BY resultat.[" & x2 & "] PIVOT resultat.[" & x3 & "];")
(transform et pivot)
---------------------
Modérateur : Sujet déplacé de "astuces" à "applications", Le forum "Astuces" est réservé au partage des astuces trouvés par les membres. Merci. LSI
Dernière modification par nash le sam. 20/juin/2009 17:48, modifié 1 fois.
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
Re: sqlite
En mysql ... lis la docnash a écrit :y-a-il la possibilité avec sqlite de retrouver cette fonctionnalité très interessant (requete access) ? (ou de la contourner)
Set resh = CurrentDb.CreateQueryDef("tr1", "TRANSFORM Sum(Val(resultat.[" & x1 & "]))& '' SELECT resultat.[" & x2 & "], Count(resultat.[" & x1 & "])& '' AS 0nombre0, Sum(Val(resultat.[" & x1 & "])) & '' AS 0total0 FROM resultat WHERE (((resultat.[" & x1 & "]) is not null)) GROUP BY resultat.[" & x2 & "] PIVOT resultat.[" & x3 & "];")
(transform et pivot)
---------------------
Modérateur : Sujet déplacé de "astuces" à "applications", Le forum "Astuces" est réservé au partage des astuces trouvés par les membres. Merci. LSI
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
Voici la liste des mots clés (SQL) supportés par SQLite : http://www.sqlite.org/lang.html (je vais encore me faire allumer, c'est en anglais
).
Il n'y a pas de TRANSFORM ni PIVOT.
Il faut adapter les requêtes ; exemple : http://softwaresalariman.blogspot.com/2 ... mysql.html

Il n'y a pas de TRANSFORM ni PIVOT.
Il faut adapter les requêtes ; exemple : http://softwaresalariman.blogspot.com/2 ... mysql.html
Dernière modification par gnozal le ven. 05/juin/2009 16:10, modifié 1 fois.
la solution a mon probleme:
non terminé ( mais dans l'immediat ça tourne)
1)procedure pg2229v
creation d'une table intermediaire aprés creation
d'une requête avec ou sans jointures de table dans une listicon
avec analyse de données et de 1 à 3 ordonnés et une abscisse
our le moment avec un simple comptage et a l'avenir (je pense que
c'est réalisable, une somme par element en plus)
2)procedure pg2255b, realise le resultat statistique basé sur les données
(utilisation de combobox(5), listicon(1) et button(8))
_je base mes objets et procedures sur une definition pratiquement identique
_j'apurerais mon code plus tard, je n'ai actuellement pas trop temps disponible
3)question
je recherche une possibilité de redimensionner mon texte en largeur en fonction
la largeur d'un editor gadget
auriez vous une idée?
Procedure pg2229v();valide requete interro
ng=CountGadgetItems(#g2216)
While GetGadgetItemText(#g2231,-1,0)<>""
RemoveGadgetColumn(#g2231,0)
Wend
ClearGadgetItems(#g2231)
While GetGadgetItemText(#g2232,-1,0)<>""
RemoveGadgetColumn(#g2232,0)
Wend
ClearGadgetItems(#g2232)
For j=0 To ng-1
nj$=GetGadgetItemText(#g2216,j,0)
pr=FindString(nu$,nj$,1)
If pr=0:pt=pt+1:EndIf
nu$=nu$+nj$;boucle doublons table
Next
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0)
ps=FindString(nn$,nt$,1):ns$=Trim(nt$);ps=recherche doublons table
If ps=0:nk$=nk$+nt$+", ":EndIf;nk$=nom table
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.genre from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
AddGadgetItem(#g2227,-1,nd$)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"image" And td$<>"memo"
If i=0:nx$=ns$+"."+nc$:EndIf
nn$=nn$+nt$+"."+nc$+", ";select
ncc=ncc+1
If pt=1
AddGadgetColumn(#g2231,i,nc$,200)
AddGadgetColumn(#g2232,i,nc$,200)
nw$=nw$+nc$+", ";create
Else
AddGadgetColumn(#g2231,i,ns$+"."+nc$,200)
AddGadgetColumn(#g2232,i,ns$+"."+nc$,200)
nw$=nw$+ns$+"."+nc$+", ";create
EndIf
EndIf
hv$=hv$+nt$+Chr(59)+nc$+";";requete g2216
Next
nn=Len(nn$):nn$=Left(nn$,nn-2);select
nw=Len(nw$):nw$=Left(nw$,nw-2);create
nk=Len(nk$):nk$=Left(nk$,nk-2);from
nh=CountGadgetItems(#g22182)
If nh<>0
For i=0 To nh-1
na$=GetGadgetItemText(#g22182,i,0)
nb$=GetGadgetItemText(#g22182,i,1)
nhh$=nhh$+na$+"="+nb$+" and ";where jointure
pg$=pg$+na$+Chr(59)+nb$+";";requete where jointure
Next
nhh=Len(nhh$):nhh$=Left(nhh$,nhh-5);where
EndIf
a=GetGadgetState(#g2224a);unique
edsql$=GetGadgetText(#g2223):nm=Len(edsql$);where editor
edsql$=ReplaceString(edsql$," et "," and ")
edsql$=ReplaceString(edsql$," ou "," or ")
edsql$=ReplaceString(edsql$," sauf "," <> ")
edsql$=ReplaceString(edsql$," contient "," like ")
edsql$=ReplaceString(edsql$," ne like pas "," not like ")
If nh=0 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+"";distinct
ElseIf nh=0 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+edsql$;distinct
ElseIf nh=0 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$;+" group by "+nw$;distinct
ElseIf nh=0 And a=1 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+edsql$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$;distinct
ElseIf nh=1 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$+" and "+edsql$;distinct
ElseIf nh=1 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=1 And nm<>0
nsql$="Select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" group by "+nn$+" order by
"+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$+" and
"+edsql$;+" group by "+nw$;distinct
EndIf
SetGadgetText(#g2228b,edsql$)
SetGadgetText(#g2228c,hv$);g2216
SetGadgetText(#g2228d,pg$);g22182
SetGadgetText(#g2228e,Str(GetGadgetState(#g2224a)));g2224a
OpenDatabase(0,"Base_nash.db","","")
DatabaseUpdate(0,"drop table stat")
DatabaseUpdate(0,csql$)
DatabaseQuery(0,nsql$)
While NextDatabaseRow(0)
For i=0 To ncc-1;ng
nd$=GetDatabaseString(0,i)
nv$=nv$+nd$+Chr(10)
Next
AddGadgetItem(#g2231,-1,nv$)
nv$=""
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0):ns$=Trim(nt$)
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.type from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"blob"
If nh=0 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" And "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"; group by
"+ns$+"."+nc$+""
ElseIf nh=0 And a=1 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=1 And nm<>0
psql$="Select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"; group by "+ns$+"."+nc$+""
EndIf
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,psql$)
While NextDatabaseRow(0)
tx$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
ty$=ty$+tx$+Chr(10)
EndIf
Next
AddGadgetItem(#g2232,-1,ty$)
DisableGadget(#g2233,0):DisableGadget(#g2234,0)
;If ncc>2:DisableGadget(#g2235,0):Else:DisableGadget(#g2235,1):EndIf
SetGadgetState(#g2210,2)
EndProcedure
Procedure pg2255b();button valide stat
c2251$=GetGadgetText(#g2251);:c2251$=ReplaceString(c2251$,".","
.",#PB_String_NoCase,1);analyse
c2252a$=GetGadgetText(#g2252a);:c2252a$=ReplaceString(c2252a$,"
.",".",#PB_String_NoCase,1);ordonnée1
c2252b$=GetGadgetText(#g2252b);:c2252b$=ReplaceString(c2252b$,"
.",".",#PB_String_NoCase,1);ordonnée2
c2252c$=GetGadgetText(#g2252c);:c2252c$=ReplaceString(c2252c$,"
.",".",#PB_String_NoCase,1);ordonnée3
c2253$=GetGadgetText(#g2253);:c2253$=ReplaceString(c2253$,"
.",".",#PB_String_NoCase,1);abscisse
n=1
If c2252b$<>"":n=n+1:EndIf
If c2252c$<>"":n=n+1:EndIf
If c2253$<>"":m=m+1:EndIf
DisableGadget(#g2251,1):DisableGadget(#g2252a,1):DisableGadget(#g2252b,1):DisableGadget
(#g2252c,1):DisableGadget(#g2253,1)
Select n
Case 1
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+2,nu$,120)
a=a+1
;OpenDatabase(11,"Base_nash.db","","")
;DatabaseQuery(11,"select count("+Chr(34)+c2253$+Chr(34)+") from stat where a voir group by
"+Chr(34)+c2253$+Chr(34)+"")
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 2
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+4,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 3
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"");,
"+Chr(34)+2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+6,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
EndSelect
DisableGadget(#g2255b,1)
EndProcedure
non terminé ( mais dans l'immediat ça tourne)
1)procedure pg2229v
creation d'une table intermediaire aprés creation
d'une requête avec ou sans jointures de table dans une listicon
avec analyse de données et de 1 à 3 ordonnés et une abscisse
our le moment avec un simple comptage et a l'avenir (je pense que
c'est réalisable, une somme par element en plus)
2)procedure pg2255b, realise le resultat statistique basé sur les données
(utilisation de combobox(5), listicon(1) et button(8))
_je base mes objets et procedures sur une definition pratiquement identique
_j'apurerais mon code plus tard, je n'ai actuellement pas trop temps disponible
3)question
je recherche une possibilité de redimensionner mon texte en largeur en fonction
la largeur d'un editor gadget
auriez vous une idée?
Procedure pg2229v();valide requete interro
ng=CountGadgetItems(#g2216)
While GetGadgetItemText(#g2231,-1,0)<>""
RemoveGadgetColumn(#g2231,0)
Wend
ClearGadgetItems(#g2231)
While GetGadgetItemText(#g2232,-1,0)<>""
RemoveGadgetColumn(#g2232,0)
Wend
ClearGadgetItems(#g2232)
For j=0 To ng-1
nj$=GetGadgetItemText(#g2216,j,0)
pr=FindString(nu$,nj$,1)
If pr=0:pt=pt+1:EndIf
nu$=nu$+nj$;boucle doublons table
Next
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0)
ps=FindString(nn$,nt$,1):ns$=Trim(nt$);ps=recherche doublons table
If ps=0:nk$=nk$+nt$+", ":EndIf;nk$=nom table
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.genre from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
AddGadgetItem(#g2227,-1,nd$)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"image" And td$<>"memo"
If i=0:nx$=ns$+"."+nc$:EndIf
nn$=nn$+nt$+"."+nc$+", ";select
ncc=ncc+1
If pt=1
AddGadgetColumn(#g2231,i,nc$,200)
AddGadgetColumn(#g2232,i,nc$,200)
nw$=nw$+nc$+", ";create
Else
AddGadgetColumn(#g2231,i,ns$+"."+nc$,200)
AddGadgetColumn(#g2232,i,ns$+"."+nc$,200)
nw$=nw$+ns$+"."+nc$+", ";create
EndIf
EndIf
hv$=hv$+nt$+Chr(59)+nc$+";";requete g2216
Next
nn=Len(nn$):nn$=Left(nn$,nn-2);select
nw=Len(nw$):nw$=Left(nw$,nw-2);create
nk=Len(nk$):nk$=Left(nk$,nk-2);from
nh=CountGadgetItems(#g22182)
If nh<>0
For i=0 To nh-1
na$=GetGadgetItemText(#g22182,i,0)
nb$=GetGadgetItemText(#g22182,i,1)
nhh$=nhh$+na$+"="+nb$+" and ";where jointure
pg$=pg$+na$+Chr(59)+nb$+";";requete where jointure
Next
nhh=Len(nhh$):nhh$=Left(nhh$,nhh-5);where
EndIf
a=GetGadgetState(#g2224a);unique
edsql$=GetGadgetText(#g2223):nm=Len(edsql$);where editor
edsql$=ReplaceString(edsql$," et "," and ")
edsql$=ReplaceString(edsql$," ou "," or ")
edsql$=ReplaceString(edsql$," sauf "," <> ")
edsql$=ReplaceString(edsql$," contient "," like ")
edsql$=ReplaceString(edsql$," ne like pas "," not like ")
If nh=0 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+"";distinct
ElseIf nh=0 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+edsql$;distinct
ElseIf nh=0 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$;+" group by "+nw$;distinct
ElseIf nh=0 And a=1 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+edsql$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$;distinct
ElseIf nh=1 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$+" and "+edsql$;distinct
ElseIf nh=1 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=1 And nm<>0
nsql$="Select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" group by "+nn$+" order by
"+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$+" and
"+edsql$;+" group by "+nw$;distinct
EndIf
SetGadgetText(#g2228b,edsql$)
SetGadgetText(#g2228c,hv$);g2216
SetGadgetText(#g2228d,pg$);g22182
SetGadgetText(#g2228e,Str(GetGadgetState(#g2224a)));g2224a
OpenDatabase(0,"Base_nash.db","","")
DatabaseUpdate(0,"drop table stat")
DatabaseUpdate(0,csql$)
DatabaseQuery(0,nsql$)
While NextDatabaseRow(0)
For i=0 To ncc-1;ng
nd$=GetDatabaseString(0,i)
nv$=nv$+nd$+Chr(10)
Next
AddGadgetItem(#g2231,-1,nv$)
nv$=""
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0):ns$=Trim(nt$)
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.type from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"blob"
If nh=0 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" And "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"; group by
"+ns$+"."+nc$+""
ElseIf nh=0 And a=1 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=1 And nm<>0
psql$="Select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"; group by "+ns$+"."+nc$+""
EndIf
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,psql$)
While NextDatabaseRow(0)
tx$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
ty$=ty$+tx$+Chr(10)
EndIf
Next
AddGadgetItem(#g2232,-1,ty$)
DisableGadget(#g2233,0):DisableGadget(#g2234,0)
;If ncc>2:DisableGadget(#g2235,0):Else:DisableGadget(#g2235,1):EndIf
SetGadgetState(#g2210,2)
EndProcedure
Procedure pg2255b();button valide stat
c2251$=GetGadgetText(#g2251);:c2251$=ReplaceString(c2251$,".","
.",#PB_String_NoCase,1);analyse
c2252a$=GetGadgetText(#g2252a);:c2252a$=ReplaceString(c2252a$,"
.",".",#PB_String_NoCase,1);ordonnée1
c2252b$=GetGadgetText(#g2252b);:c2252b$=ReplaceString(c2252b$,"
.",".",#PB_String_NoCase,1);ordonnée2
c2252c$=GetGadgetText(#g2252c);:c2252c$=ReplaceString(c2252c$,"
.",".",#PB_String_NoCase,1);ordonnée3
c2253$=GetGadgetText(#g2253);:c2253$=ReplaceString(c2253$,"
.",".",#PB_String_NoCase,1);abscisse
n=1
If c2252b$<>"":n=n+1:EndIf
If c2252c$<>"":n=n+1:EndIf
If c2253$<>"":m=m+1:EndIf
DisableGadget(#g2251,1):DisableGadget(#g2252a,1):DisableGadget(#g2252b,1):DisableGadget
(#g2252c,1):DisableGadget(#g2253,1)
Select n
Case 1
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+2,nu$,120)
a=a+1
;OpenDatabase(11,"Base_nash.db","","")
;DatabaseQuery(11,"select count("+Chr(34)+c2253$+Chr(34)+") from stat where a voir group by
"+Chr(34)+c2253$+Chr(34)+"")
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 2
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+4,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 3
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"");,
"+Chr(34)+2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+6,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
EndSelect
DisableGadget(#g2255b,1)
EndProcedure
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
j'ai mis les balises, car ton code est ilisible
3)question
je recherche une possibilité de redimensionner mon texte en largeur en fonction
la largeur d'un editor gadget
auriez vous une idée?
Je comprends pas ta question.
3)question
je recherche une possibilité de redimensionner mon texte en largeur en fonction
la largeur d'un editor gadget
auriez vous une idée?
Je comprends pas ta question.
Code : Tout sélectionner
Procedure pg2229v();valide requete interro
ng=CountGadgetItems(#g2216)
While GetGadgetItemText(#g2231,-1,0)<>""
RemoveGadgetColumn(#g2231,0)
Wend
ClearGadgetItems(#g2231)
While GetGadgetItemText(#g2232,-1,0)<>""
RemoveGadgetColumn(#g2232,0)
Wend
ClearGadgetItems(#g2232)
For j=0 To ng-1
nj$=GetGadgetItemText(#g2216,j,0)
pr=FindString(nu$,nj$,1)
If pr=0:pt=pt+1:EndIf
nu$=nu$+nj$;boucle doublons table
Next
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0)
ps=FindString(nn$,nt$,1):ns$=Trim(nt$);ps=recherche doublons table
If ps=0:nk$=nk$+nt$+", ":EndIf;nk$=nom table
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.genre from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
AddGadgetItem(#g2227,-1,nd$)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"image" And td$<>"memo"
If i=0:nx$=ns$+"."+nc$:EndIf
nn$=nn$+nt$+"."+nc$+", ";select
ncc=ncc+1
If pt=1
AddGadgetColumn(#g2231,i,nc$,200)
AddGadgetColumn(#g2232,i,nc$,200)
nw$=nw$+nc$+", ";create
Else
AddGadgetColumn(#g2231,i,ns$+"."+nc$,200)
AddGadgetColumn(#g2232,i,ns$+"."+nc$,200)
nw$=nw$+ns$+"."+nc$+", ";create
EndIf
EndIf
hv$=hv$+nt$+Chr(59)+nc$+";";requete g2216
Next
nn=Len(nn$):nn$=Left(nn$,nn-2);select
nw=Len(nw$):nw$=Left(nw$,nw-2);create
nk=Len(nk$):nk$=Left(nk$,nk-2);from
nh=CountGadgetItems(#g22182)
If nh<>0
For i=0 To nh-1
na$=GetGadgetItemText(#g22182,i,0)
nb$=GetGadgetItemText(#g22182,i,1)
nhh$=nhh$+na$+"="+nb$+" and ";where jointure
pg$=pg$+na$+Chr(59)+nb$+";";requete where jointure
Next
nhh=Len(nhh$):nhh$=Left(nhh$,nhh-5);where
EndIf
a=GetGadgetState(#g2224a);unique
edsql$=GetGadgetText(#g2223):nm=Len(edsql$);where editor
edsql$=ReplaceString(edsql$," et "," and ")
edsql$=ReplaceString(edsql$," ou "," or ")
edsql$=ReplaceString(edsql$," sauf "," <> ")
edsql$=ReplaceString(edsql$," contient "," like ")
edsql$=ReplaceString(edsql$," ne like pas "," not like ")
If nh=0 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+"";distinct
ElseIf nh=0 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+edsql$;distinct
ElseIf nh=0 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$;+" group by "+nw$;distinct
ElseIf nh=0 And a=1 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+edsql$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+edsql$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=0 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$;distinct
ElseIf nh=1 And a=0 And nm<>0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" order by "+nx$
csql$="create table stat as select "+nw$+" from "+nk$+" where "+nhh$+" and "+edsql$;distinct
ElseIf nh=1 And a=1 And nm=0
nsql$="select "+nn$+" from "+nk$+" where "+nhh$+" group by "+nn$+" order by "+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$;+" group by
"+nw$;distinct
ElseIf nh=1 And a=1 And nm<>0
nsql$="Select "+nn$+" from "+nk$+" where "+nhh$+" and "+edsql$+" group by "+nn$+" order by
"+nx$
csql$="create table stat as select distinct "+nw$+" from "+nk$+" where "+nhh$+" and
"+edsql$;+" group by "+nw$;distinct
EndIf
SetGadgetText(#g2228b,edsql$)
SetGadgetText(#g2228c,hv$);g2216
SetGadgetText(#g2228d,pg$);g22182
SetGadgetText(#g2228e,Str(GetGadgetState(#g2224a)));g2224a
OpenDatabase(0,"Base_nash.db","","")
DatabaseUpdate(0,"drop table stat")
DatabaseUpdate(0,csql$)
DatabaseQuery(0,nsql$)
While NextDatabaseRow(0)
For i=0 To ncc-1;ng
nd$=GetDatabaseString(0,i)
nv$=nv$+nd$+Chr(10)
Next
AddGadgetItem(#g2231,-1,nv$)
nv$=""
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
For i=0 To ng-1
nt$=GetGadgetItemText(#g2216,i,0):ns$=Trim(nt$)
nc$=GetGadgetItemText(#g2216,i,1)
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select tb_interne.type from tb_interne where tb_interne.nom='"+ns$+"' and
tb_interne.champs='"+nc$+"'")
While NextDatabaseRow(0)
td$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
If td$<>"blob"
If nh=0 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" And "+ns$+"."+nc$+"<>''"
ElseIf nh=0 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+ns$+"."+nc$+"<>''"; group by
"+ns$+"."+nc$+""
ElseIf nh=0 And a=1 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+edsql$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=0 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=0 And nm<>0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"
ElseIf nh=1 And a=1 And nm=0
psql$="select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+ns$+"."+nc$+"<>''";
group by "+ns$+"."+nc$+""
ElseIf nh=1 And a=1 And nm<>0
psql$="Select count("+ns$+"."+nc$+") from "+nk$+" where "+nhh$+" and "+edsql$+" and
"+ns$+"."+nc$+"<>''"; group by "+ns$+"."+nc$+""
EndIf
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,psql$)
While NextDatabaseRow(0)
tx$=GetDatabaseString(0,0)
Wend
FinishDatabaseQuery(0)
CloseDatabase(0)
ty$=ty$+tx$+Chr(10)
EndIf
Next
AddGadgetItem(#g2232,-1,ty$)
DisableGadget(#g2233,0):DisableGadget(#g2234,0)
;If ncc>2:DisableGadget(#g2235,0):Else:DisableGadget(#g2235,1):EndIf
SetGadgetState(#g2210,2)
EndProcedure
Procedure pg2255b();button valide stat
c2251$=GetGadgetText(#g2251);:c2251$=ReplaceString(c2251$,".","
.",#PB_String_NoCase,1);analyse
c2252a$=GetGadgetText(#g2252a);:c2252a$=ReplaceString(c2252a$,"
.",".",#PB_String_NoCase,1);ordonnée1
c2252b$=GetGadgetText(#g2252b);:c2252b$=ReplaceString(c2252b$,"
.",".",#PB_String_NoCase,1);ordonnée2
c2252c$=GetGadgetText(#g2252c);:c2252c$=ReplaceString(c2252c$,"
.",".",#PB_String_NoCase,1);ordonnée3
c2253$=GetGadgetText(#g2253);:c2253$=ReplaceString(c2253$,"
.",".",#PB_String_NoCase,1);abscisse
n=1
If c2252b$<>"":n=n+1:EndIf
If c2252c$<>"":n=n+1:EndIf
If c2253$<>"":m=m+1:EndIf
DisableGadget(#g2251,1):DisableGadget(#g2252a,1):DisableGadget(#g2252b,1):DisableGadget
(#g2252c,1):DisableGadget(#g2253,1)
Select n
Case 1
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+") from
stat group by "+Chr(34)+c2252a$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
nb=GetDatabaseLong(0,1)
nt=nt+nb
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb))
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+2,nu$,120)
a=a+1
;OpenDatabase(11,"Base_nash.db","","")
;DatabaseQuery(11,"select count("+Chr(34)+c2253$+Chr(34)+") from stat where a voir group by
"+Chr(34)+c2253$+Chr(34)+"")
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 2
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+") from stat group by "+Chr(34)
+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
nc=GetDatabaseLong(0,3)
nt=nt+nb
ns=ns+nc
If nb=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc))
Else
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc))
EndIf
nba$=nb$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+4,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
Case 3
If m=0
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+", "+Chr
(34)+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
Else
OpenDatabase(0,"Base_nash.db","","")
DatabaseQuery(0,"select "+Chr(34)+c2252a$+Chr(34)+", count("+Chr(34)+c2252a$+Chr(34)+"),
"+Chr(34)+c2252b$+Chr(34)+", count("+Chr(34)+c2252b$+Chr(34)+"), "+Chr(34)+c2252c$+Chr(34)+",
count("+Chr(34)+c2252c$+Chr(34)+") from stat group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)
+c2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+" order by "+Chr(34)+c2252a$+Chr(34)+"");,
"+Chr(34)+2252b$+Chr(34)+", "+Chr(34)+c2252c$+Chr(34)+"")
DisableGadget(#g2258,0)
AddGadgetColumn(#g2258,0,c2252a$,120)
AddGadgetColumn(#g2258,1,"nombre",120)
AddGadgetColumn(#g2258,2,c2252b$,120)
AddGadgetColumn(#g2258,3,"nombre",120)
AddGadgetColumn(#g2258,4,c2252c$,120)
AddGadgetColumn(#g2258,5,"nombre",120)
While NextDatabaseRow(0)
nb$=GetDatabaseString(0,0)
If nb$<>nba$
OpenDatabase(1,"Base_nash.db","","")
DatabaseQuery(1,"select count("+Chr(34)+c2252a$+Chr(34)+") from stat where "+Chr(34)
+c2252a$+Chr(34)+"='"+nb$+"' group by "+Chr(34)+c2252a$+Chr(34)+"")
While NextDatabaseRow(1)
nb=GetDatabaseLong(1,0)
Wend
FinishDatabaseQuery(1)
CloseDatabase(1)
Else
nb=0
EndIf
nc$=GetDatabaseString(0,2)
If nc$<>nca$
OpenDatabase(2,"Base_nash.db","","")
DatabaseQuery(2,"select count("+Chr(34)+c2252a$+Chr(34)+"), count("+Chr(34)+c2252b$+Chr(34)
+") from stat where "+Chr(34)+c2252a$+Chr(34)+"='"+nb$+"' and "+Chr(34)+c2252b$+Chr(34)
+"='"+nc$+"' group by "+Chr(34)+c2252a$+Chr(34)+", "+Chr(34)+c2252b$+Chr(34)+"")
While NextDatabaseRow(2)
nc=GetDatabaseLong(2,0)
Wend
FinishDatabaseQuery(2)
CloseDatabase(2)
Else
nc=0
EndIf
nd$=GetDatabaseString(0,4)
nd=GetDatabaseLong(0,5)
nt=nt+nb
ns=ns+nc
nr=nr+nd
If nb=0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb=0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+""+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str(nd))
ElseIf nb<>0 And nc=0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+""+Chr(10)+nd$+Chr(10)+Str
(nd))
ElseIf nb<>0 And nc<>0
AddGadgetItem(#g2258,-1,nb$+Chr(10)+Str(nb)+Chr(10)+nc$+Chr(10)+Str(nc)+Chr(10)+nd$+Chr(10)
+Str(nd))
EndIf
nba$=nb$:nca$=nc$
Wend
AddGadgetItem(#g2258,-1,"total"+Chr(10)+Str(nt)+Chr(10)+"total"+Chr(10)+Str(ns)+Chr(10)
+"total"+Chr(10)+Str(nr))
FinishDatabaseQuery(0)
CloseDatabase(0)
OpenDatabase(10,"Base_nash.db","","")
DatabaseQuery(10,"select ("+Chr(34)+c2253$+Chr(34)+") from stat group by "+Chr(34)+c2253
$+Chr(34)+"")
While NextDatabaseRow(10)
nu$=GetDatabaseString(10,0)
AddGadgetColumn(#g2258,a+6,nu$,120)
a=a+1
Wend
FinishDatabaseQuery(10)
CloseDatabase(10)
EndIf
EndSelect
DisableGadget(#g2255b,1)
EndProcedure
1) merçi pour avoir mis en forme mon texte
2)dans la procedure 2255b:
remplacer nb=1 par nb<>0 (sinon la jointure ne peut comprendre qu'un maximun de deux tables au lieu de plusieurs tables)
remplacer If nc$<>nca$ par If nc$<>nca$ Or nb$<>nba$
_en fait des sous totaux sont calculés(je travaille encore sur les abscisses)
3)en fabriquant des requetes automatiques les chr() sont importants
on peut utiliser cette astuce (il en existe certainement d'autres, mais celle-là
marche trés bien:
btext$=ReplaceString(btext$," ",Chr(160),#PB_String_NoCase,1);espace ou chr(32)
btext$=ReplaceString(btext$,"'",Chr(180),#PB_String_NoCase,1);cote ou chr(39)
le nom de table et de colonne avec espace ne pose plus de problémes
de simples cotes(') suffisent pour le montage de requêtes
4)le dimensionnement automatique des gadgets et de la police utilisée en fonction de l'écran
n_bureau=ExamineDesktops()
ecran_height=DesktopHeight(0)
ecran_width=DesktopWidth(0)
coefficient_width.f=ecran_width/600
coefficient_height.f=ecran_height/300
If OpenWindow(#Nash,0,0,coefficient_width*600,coefficient_height*300,"",#PB_Window_BorderLess)
ffont = LoadFont(#PB_Any, "comic sans ms",8*coefficient_width);choix de l'utilisateur(parametres)police uniquement
SetWindowState(#Nash,#PB_Window_Minimize);preparation des gadgets,puis maximize(scintillement evité)
EditorGadget(#g2138,coefficient_width*280,coefficient_height*107,coefficient_width*250,coefficient_height*53)
SetGadgetFont(#g2138,FontID(ffont))
_d'autres methodes fonctionnent aussi (mais j'aime bien utiliser une methode que je comprends)
5) j'en viens maintenant à mon problème:
mon editor gadget change de taille avec la police en fonction de la taille écran de l'utilisateur
donc quand j'importe du texte formaté avec un editeur(et sans changer le texte original
un scrollbar horizontal apparait (taille plus reduite de l'editor que l'editeur)et le texte situé a droite, il faut aller le chercher
et ça c'est pas terrible pour l'utilisateur qui prefére un scrollbar vertical uniquement
pour lire le texte)
le problème vient des chr(10) et chr(13) (et plus peut-être)
je voudrais donc un retour à la ligne en fonction de la largeur de mon gadgeteditor de manière a ce que le texte sois lisible (sans scrollbar horizontal), mais conserver les chr(10)et(13) pour reenregistrer ailleurs le texte dans sa forme originale.
en fait des solutions existent mais lourdes a manipuler(string)
je suis donc preneur d'une solution
merçi
2)dans la procedure 2255b:
remplacer nb=1 par nb<>0 (sinon la jointure ne peut comprendre qu'un maximun de deux tables au lieu de plusieurs tables)
remplacer If nc$<>nca$ par If nc$<>nca$ Or nb$<>nba$
_en fait des sous totaux sont calculés(je travaille encore sur les abscisses)
3)en fabriquant des requetes automatiques les chr() sont importants
on peut utiliser cette astuce (il en existe certainement d'autres, mais celle-là
marche trés bien:
btext$=ReplaceString(btext$," ",Chr(160),#PB_String_NoCase,1);espace ou chr(32)
btext$=ReplaceString(btext$,"'",Chr(180),#PB_String_NoCase,1);cote ou chr(39)
le nom de table et de colonne avec espace ne pose plus de problémes
de simples cotes(') suffisent pour le montage de requêtes
4)le dimensionnement automatique des gadgets et de la police utilisée en fonction de l'écran
n_bureau=ExamineDesktops()
ecran_height=DesktopHeight(0)
ecran_width=DesktopWidth(0)
coefficient_width.f=ecran_width/600
coefficient_height.f=ecran_height/300
If OpenWindow(#Nash,0,0,coefficient_width*600,coefficient_height*300,"",#PB_Window_BorderLess)
ffont = LoadFont(#PB_Any, "comic sans ms",8*coefficient_width);choix de l'utilisateur(parametres)police uniquement
SetWindowState(#Nash,#PB_Window_Minimize);preparation des gadgets,puis maximize(scintillement evité)
EditorGadget(#g2138,coefficient_width*280,coefficient_height*107,coefficient_width*250,coefficient_height*53)
SetGadgetFont(#g2138,FontID(ffont))
_d'autres methodes fonctionnent aussi (mais j'aime bien utiliser une methode que je comprends)
5) j'en viens maintenant à mon problème:
mon editor gadget change de taille avec la police en fonction de la taille écran de l'utilisateur
donc quand j'importe du texte formaté avec un editeur(et sans changer le texte original
un scrollbar horizontal apparait (taille plus reduite de l'editor que l'editeur)et le texte situé a droite, il faut aller le chercher
et ça c'est pas terrible pour l'utilisateur qui prefére un scrollbar vertical uniquement
pour lire le texte)
le problème vient des chr(10) et chr(13) (et plus peut-être)
je voudrais donc un retour à la ligne en fonction de la largeur de mon gadgeteditor de manière a ce que le texte sois lisible (sans scrollbar horizontal), mais conserver les chr(10)et(13) pour reenregistrer ailleurs le texte dans sa forme originale.
en fait des solutions existent mais lourdes a manipuler(string)
je suis donc preneur d'une solution
merçi
@nash
Ce que tu souhaites c'est activer le << WordWrap >>.
Ci dessous un exemple :
Ce que tu souhaites c'est activer le << WordWrap >>.
Ci dessous un exemple :
Code : Tout sélectionner
Macro EditorGadget_EnableWordWrap(gadget)
SendMessage_(GadgetID(gadget), #EM_SETTARGETDEVICE, 0, 0)
EndMacro
Macro EditorGadget_DisableWordWrap(gadget)
SendMessage_(GadgetID(gadget), #EM_SETTARGETDEVICE, 0, -1)
EndMacro
If OpenWindow(0, 50, 50, 100, 100, "test", #PB_Window_SystemMenu)
EditorGadget(0, 0, 0, 106, 100)
EditorGadget_EnableWordWrap(0)
SetGadgetText(0, "Exemple de WordWrap avec EditorGadget. Ce code utilise les API Win32 et n'est donc pas compatible Linux/MacOS mais ce devrait faire l'affaire.")
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Oui, sur MSDN :
http://msdn.microsoft.com/en-us/library/cc656557.aspx
PureBasic permet (en plus des fonctions de base) d'utiliser les couches système ou API (Win32 pour Windows, GTK pour Linux, etc...).
Va voir dans l'IDE PureBasic -> Menu -> Fichier -> Préférences -> Auto Complétion -> Éléments affichés -> Coche Fonctions API
La bible absolue des API Win32 c'est MSDN :
http://msdn.microsoft.com/en-us/library/aa139672.aspx
http://msdn.microsoft.com/en-us/library/cc656557.aspx
PureBasic permet (en plus des fonctions de base) d'utiliser les couches système ou API (Win32 pour Windows, GTK pour Linux, etc...).
Va voir dans l'IDE PureBasic -> Menu -> Fichier -> Préférences -> Auto Complétion -> Éléments affichés -> Coche Fonctions API
La bible absolue des API Win32 c'est MSDN :
http://msdn.microsoft.com/en-us/library/aa139672.aspx