Bonjour à tous,
J'aimerais numéroter les enregistrements d'une table dans un champ NumLigne selon d'autres champs de ma table. Pourriez-vous m'aider à écrire le code permettant de faire cela ?
Pour info, je l'ai écrit en VBA Access mais je n'ai aucune idée pour l'écrire en PL/SQL...
Merci beaucoup,
MarieO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 "Ma table d'origine:" CHAMP1, CHAMP2, CHAMP3, NUMLIGNE 1, 1, A, null 1, 1, A, null 1, 1, B, null 1, 2, A, null 2, 1, A, null "Ce que j'aimerais avoir après mise à jour des données" CHAMP1, CHAMP2, CHAMP3, NUMLIGNE 1, 1, A, 1 1, 1, A, 2 1, 1, B, 1 1, 2, A, 1 2, 1, A, 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Public Sub UpdateNumLigne Dim rsCompte as Dao.recordset Dim rsTable as Dao.recordset Dim i as long Set rsCompte = Currentdb.openrecordset ("SELECT Champ1, Champ2, Champ3, count(*) as Compte FROM tatable GROUP BY Champ1, Champ2, Champ3") Set rsTable = currentdb.openrecordset ("SELECT * FROM tatable") While not rsCompte.EOF for i=1 to rsCompte.fields("Compte") rsTable.findfirst "Champ1=" &rsCompte.fields("Champ1") &" AND Champ2=" &rsCompte.fields("Champ2") &" AND Champ3='" &rsCompte.fields("Champ3") &"' AND Numligne is null" rsTable.edit rsTable!NumLigne = i rsTable.update next i rsCompte.movenext Wend rsCompte.close rsTable.close End Sub
Partager