[Résolu]DBF : somme de requête avec COUNT

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

[Résolu]DBF : somme de requête avec COUNT

Message par yrreiht »

bonjour,
j'ai une base attributaire .dbf ou je souhaiterais avoir un automatisme au niveau du formulaire pour que l'utilisateur puisse voir combien de commune ont lancé une procédure de tel ou tel type.
J'ai commencé par des requêtes simples pour trouver mes résultats par type , aucun problème
pour les sous totaux nom plus pas de problème
pour le total de fin ,là je bloque si j'utilise la même requête je me retrouve à 35 alors que la somme des sous totaux arrive à 55 je sais ou est le problème mais je ne sais pas y remédier.
pourriez vous m'aider s'il vous plait ?
(la requête qui me pose un problème est totaux xxx)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par yrreiht le 06 avr. 2020 09:12, modifié 1 fois.
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
Messages : 171
Inscription : 25 nov. 2014 14:09
Localisation : Laval, QC

Re: somme de requête avec COUNT

Message par CanadaDry »

Bonjour,
yrreiht a écrit :(la requête qui me pose un problème est totaux xxx)
Peut-être pourrais-tu nous expliquer son contenu ?

Code : Tout sélectionner

SELECT COUNT( * ) FROM "PROJET_COM_INTERCOM" "PROJET_COM_INTERCOM" WHERE ( "PROJET_COM_INTERCOM"."RCB_EN_CO" = 'RCB en cours' OR "PROJET_COM_INTERCOM"."RCB" = 'RCB1' OR "PROJET_COM_INTERCOM"."RCB" = 'RCB2' OR "PROJET_COM_INTERCOM"."RCB" = 'RCB3' ) OR ( "PROJET_COM_INTERCOM"."EQ_EN_CO" = 'EQ en cours' OR "PROJET_COM_INTERCOM"."EQ" = 'EQ' ) OR ( "PROJET_COM_INTERCOM"."ACV_EN_CO" = 'ACV en cours' OR "PROJET_COM_INTERCOM"."ACV" = 'ACV' ) OR ( "PROJET_COM_INTERCOM"."PVD_EN_CO" = 'PVD en cours' OR "PROJET_COM_INTERCOM"."PVD" = 'PVD' ) OR ( "PROJET_COM_INTERCOM"."PCC_EN_CO" = 'PCC en cours' OR "PROJET_COM_INTERCOM"."PCC" = 'PCC' )
Pourquoi avoir mis des parenthèses avec des OR?
OpenOffice 4.1.8 Windows 7 Edition Professional
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

bonsoir canadadry si vous regardé le 1er formulaire vous devriez comprendre le problème
rcb correspond à: revitalisation des centre bourg pvd : pour petite ville de demain ect .Ma cheffe a souhaité ne pas avoir de champs numérique mais EQ pour écoquartier et EQ_EN_CO pour écoquartier en cour donc tout mes champs sont des actions qui peuvent être réalisé par des communes pour toucher des subventions mais au préalable il y a des étude avant d avoir les subvention donc en cour.
les parenthèses c'est parce que avec ou sans ça fonctionne mais j'ai voulu essayer.
J'espère avoir répondu ?
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: somme de requête avec COUNT

Message par jeanmimi »

Bonjour,
Est-ce que dans cette requête qui ne calcule pas tout :

Code : Tout sélectionner

SELECT COUNT( * ) FROM "PROJET_COM_INTERCOM" WHERE ( "RCB_EN_CO" = 'RCB en cours' OR "RCB" = 'RCB1' OR "RCB" = 'RCB2' OR "RCB" = 'RCB3' OR "EQ_EN_CO" = 'EQ en cours' OR "EQ" = 'EQ' OR "ACV_EN_CO" = 'ACV en cours' OR "ACV" = 'ACV' OR "PVD_EN_CO" = 'PVD en cours' OR "PVD" = 'PVD' OR "PCC_EN_CO" = 'PCC en cours' OR "PCC" = 'PCC' )
on ne devrait pas aussi trouver les différents "ORT" (Opérations de renouvellement territorial ?)
Dernière modification par jeanmimi le 03 avr. 2020 08:42, modifié 1 fois.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

Bonjour effectivement j'ai oublié ORT :oops:
je le rajoute et je vois si ça influe sur le résultat attendu
merci pour la remarque je ne l'aurai pas vu .
libreoffice6.4 exploitation Windows 10
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

bonjour de 35 je passe à 39 , le calcul qui est fait et normalement fait sur les champs et apparemment il exclut les communes ou il y a eu plusieurs action du moins il comptabilisera une fois la commune.
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: somme de requête avec COUNT

Message par jeanmimi »

yrreiht a écrit :il exclut les communes ou il y a eu plusieurs action du moins il comptabilisera une fois la commune.
Il ne reste plus qu'à trouver la commande SQL qui pourra calculer ces communes.
Peut-être un COALESCE comme il semble qu'il s'agisse ici d'une Base Firebird ?
https://wiki.documentfoundation.org/Doc ... mHSQLDB/fr
Dernière modification par jeanmimi le 03 avr. 2020 09:04, modifié 1 fois.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

Merci je vais chercher dans ce sens, je m'en suis servi dans calc ,si je ne me trompe pas c'est pour du conditionnel ?
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: somme de requête avec COUNT

Message par jeanmimi »

COALESCE permet d'afficher une valeur (ex 0 ou 1) lorsqu'une expression n'est pas renseignée.
C'est le cas par exemple, lorsqu'on veut afficher 0 plutôt que rien du tout, ou ici 1.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

bonjour jeanmimi désolé COALESCE n'est pas accepté dans la requête
Question (une Base Firebird ) ou tu vois ça ? c'est une couche attributaire de Qgis un :.dbf (où dbf signifie dBase database file) est une extension de nom de fichier pour les fichiers d'une base de données DBase par WIKI. Je travail comme ça pour pouvoir intégrer la base dans de la cartographie .SHP Qgis.
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: somme de requête avec COUNT

Message par jeanmimi »

yrreiht a écrit :bonjour jeanmimi désolé COALESCE n'est pas accepté dans la requête
Apparemment, seul COUNT peut fonctioner.
J'ai testé aussi LEFT INNER JOINT mais sans succès.
yrreiht a écrit :(une Base Firebird ) ou tu vois ça ?
En général, dans le cas d'une Base HSQLDB, une boite de dialogue me demande si je veux passer la Base sous le moteur Firebird. Quand il n'y a pas de boite de dialogue, je présuppose que c'est déjà une Base sous Firebird. Mais j'ai peut-être tort.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

Je pense rajouter un champs numérique en fin de base et faire une requête sum sur ce champs et sur qgis faire une requête pour pouvoir sommer chaque commune aux niveaux des actions, je ne résous pas le problème je le contourne.Je me laisse le weekend pour voir si ...
Et si pas de solution je clôturais cette demande. Merci encore pour être penché sur mon problème. 8)
et bon weekend
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
Messages : 171
Inscription : 25 nov. 2014 14:09
Localisation : Laval, QC

Re: somme de requête avec COUNT

Message par CanadaDry »

yrreiht a écrit :rcb correspond à: revitalisation des centre bourg pvd : pour petite ville de demain ect .
Désolé je ne comprends pas les sigles de France. Mais je connais la RBC pour la banque royale du Canada.

Les fonctions d'aggregation sont limitées en DBF
Tu as seulement droit à
- AVG() - averages a field of numeric data.
- COUNT() or CNT() - counts the number of select items in a specified field.
- MIN() and MAX() - determines the smallest (and largest) value of Select_Item in a column.
- SUM() - totals a field of numeric data.
OpenOffice 4.1.8 Windows 7 Edition Professional
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

Re: somme de requête avec COUNT

Message par yrreiht »

Merci pour cette recherche (Jeanmimi) ma fait comprendre la même chose ,comme quoi j'étais limité dans ce type de format .dbf
donc je vais regarder le problème se weekend et voir si......... une autre solution

Pour RBC je ne le connaissait pas . 1 de plus à connaitre . :lol:
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
Messages : 171
Inscription : 25 nov. 2014 14:09
Localisation : Laval, QC

Re: DBF : somme de requête avec COUNT

Message par CanadaDry »

Tu devrais plutôt te servir de Calc en raccordant ton ODB.
Avec la fonction de filtre, tu devrais arriver à un meilleur visuel pour le résultat.
OpenOffice 4.1.8 Windows 7 Edition Professional
yrreiht
Fraîchement OOthentifié
Messages : 9
Inscription : 02 avr. 2020 15:23

[Résolu]: DBF : somme de requête avec COUNT

Message par yrreiht »

Bonjour, j'aurais préféré avoir une autre réponse que celle de calc qui est déjà réalisé .Effectivement plus facile à faire plus de possibilité, mais un outil pour rentrer la donnée, analyser la données et pouvoir en faire un rapport c'est mieux et ça évite d'avoir des bidouillages sur les formules, base est très peu connu chez mes employeurs sauf ceux qui comme moi y trouve un intérêt . Je vous remercies toi et jeanmimi pour le temps consacré à cette recherche et vous dis à bientôt pour un autre problème peut être. Si je trouve une solution au mien je vous le ferais savoir. Comment ?
libreoffice6.4 exploitation Windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10071
Inscription : 28 août 2010 08:45

Re: DBF : somme de requête avec COUNT

Message par micmac »

Bonjour,

Pour être visibles depuis la page d'accueil, la balise [Résolu] avec sa coche verte doivent être placées au début du titre du Premier message.
Voyez : http://user.services.openoffice.org/fr/ ... f=1&t=3299

Merci de votre collaboration
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Résolu]DBF : somme de requête avec COUNT

Message par jeanmimi »

yrreiht a écrit :une autre réponse que celle de calc qui est déjà réalisé
J'en ai testé une autre, un peu longue et itérative et qui pourrait se simplifier par une Macro.
Par Rechercher/Remplacer (Ctrl+H) dans le fichier .dbf, j'ai remplacé les "EQ" et "EQ en cours" par 1, puis j'ai fait l'addition dans chaque colonne des valeurs de la ligne 2 à la ligne 380.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox