Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2011, 20h14   #1
Invité de passage
 
Homme Dimitri
Consultant
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Dimitri
Localisation : France

Informations professionnelles :
Activité : Consultant
Secteur : Santé

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Calcul de RANG par groupe - Demande d'aide

Mesdames, messieurs bonsoir.
Je requiers votre aide quant à une requête de rang par groupe sous access (ouvert aux propositions vba ou sql access).

Je m'explique :

J'ai une table que l'on nommera "SEJOURS" qui se présente ainsi (les chiffres sont données à titre d'exemple)

id_patient | rum_id | service id | date d'entrée
a14574 | 14765 | Service 1 | 01/10/2011
a14574 | 15001 | Service 2 | 09/10/2011
a14574 | 17001 | Service 3 | 12/12/2011
a14574 | 18015 | Service 1 | 01/03/2012
b14672 | 14764 | Service 3 | 01/10/2011
b14672 | 15002 | Service 2 | 09/10/2011

(La date et le service id m'importent peu : je peux les récupérer par la suite avec une table liée, c’était juste pour l'exemple et normalement le rum_id est crée de façon chronologique...)

J'aimerais obtenir le rang de chaque rum_id pour chaque id_patient, j'imagine un résultat de la sorte :

id_patient | rum_id | service id | date d'entrée | rang
a14574 | 14765 | Service 1 | 01/10/2011 | 1
a14574 | 15001 | Service 2 | 09/10/2011 | 2
a14574 | 17001 | Service 3 | 12/12/2011 | 3
a14574 | 18015 | Service 1 | 01/03/2012 | 4
b14672 | 14764 | Service 3 | 01/10/2011 | 1
b14672 | 15002 | Service 2 | 09/10/2011 | 2

J'ai pourtant quelque peu feuilleté le forum:
* je me suis rapproché de la fonction cptedom sans résultats car sans groupements possibles
* j'ai essayé cette méthode http://www.developpez.net/forums/d1122324/logiciels/microsoft-office/access/requetes-sql/calcul-rang-denregistrement-date/mais lorsque je tente d’exécuter le code modifié access me demande de sélectionner la source de données
*j'ai aussi essayé de passer par vba sans grand succès (avec nrum le nombre total de rum_id par rss_id) : elle me mettait pour chaque rum_id et rss_id le nombre de rum de 1 à Nrum ex :

patient | rumid | rang
1 | 1 | 1
1 | 1 | 2
1 | 1 | 3
1 | 2 |1
1 | 2| 2
1| 2| 3

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Set db = Application.CurrentDb
Set RangUM = db.OpenRecordset("SELECT CalculMacro_RangUM.patient_id, CalculMacro_RangUM.nbrum FROM CalculMacro_RangUM;")
 
    RangUM.MoveFirst
 
    Do
 
 
        rss_id = RangUM("patient_id")
        nbrum = RangUM("NbRum")
 
 
        'Insertion des actes dans la table actes
        For i = 0 To nbrum - 1
            rangdeLum = i + 1
 
 
 
            sql_insert = "INSERT INTO CalculMacro_RangUM (patient_id, rangdeLum) VALUES (" & patient_id & "," & rangdeLum & ");"
 
 
 
 
 
            db.Execute (sql_insert)
 
 
 
        Next i
 
        RangUM.MoveNext
Je vous remercie par avance de l'aide que vous pourriez m'apporter et vous souhaite une agréable soirée.
Dimitri
Dimide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 20h03   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonsoir,

Citation:
Envoyé par Dimide Voir le message
* j'ai essayé cette méthode http://www.developpez.net/forums/d1122324/logiciels/microsoft-office/access/requetes-sql/calcul-rang-denregistrement-date/mais lorsque je tente d’exécuter le code modifié access me demande de sélectionner la source de données
n'aurais-tu pas confondu les modes "SQL" et "SQL directe" ?
"SQL directe" c'est pour envoyer des requêtes directement à un serveur de base de données via ODBC (d'où la source de données à renseigner).
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/11/2011, 00h30   #3
Invité de passage
 
Homme Dimitri
Consultant
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Dimitri
Localisation : France

Informations professionnelles :
Activité : Consultant
Secteur : Santé

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 0
Points : 0
Bonjour f-leb, merci pour cette réponse.
En effet je ne connaissais pas l'existence des requêtes SQL directes et je ne m'étais même pas apperçu que j'avais l'option sqldirect d'activité .
La solution proposée dans le lien marche en effet très bien et m'excuse pour le post inutile
Je te souhaite une bonne continuation
Dimide est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h20.


 
 
 
 
Partenaires

Hébergement Web