Création et incrémentation d'un champ en fonction d'un
4 réponses
Choko
Bonjour,
J'ai une base avec plusieurs parcours par jour que je r=E9cup=E8re chaque s=
emaine.
J'aimerais ajouter un champ 'N=B0' me permettant d'avoir un num=E9ro pour c=
haque parcours pour une date et bien s=FBr je ne vois pas par o=F9 commence=
r.
J'imagine ne boucle sur une cl=E9 DATE_PARCOURS mais apr=E8s...
Ex:
DATE PARCOURS N=B0
10/11/2011 PAR MSR 1
10/11/2011 PAR TLN 2
10/11/2011 PAR MSR 3
10/11/2011 STR NTS 4
-----------------------------
12/11/2011 NCE AIX 1
12/11/2011 LIL PAR 2
-----------------------------
15/11/2011 PAR LYN 1
etc....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gloops
Choko a écrit, le 29/11/2011 22:10 :
Bonjour,
J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine. J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où co mmencer. J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex: DATE PARCOURS N° 10/11/2011 PAR MSR 1 10/11/2011 PAR TLN 2 10/11/2011 PAR MSR 3 10/11/2011 STR NTS 4 ----------------------------- 12/11/2011 NCE AIX 1 12/11/2011 LIL PAR 2 ----------------------------- 15/11/2011 PAR LYN 1 etc....
Merci pour votre aide
Choko
Bonjour,
On les récupère comment, les parcours ?
Choko a écrit, le 29/11/2011 22:10 :
Bonjour,
J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine.
J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où co mmencer.
J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex:
DATE PARCOURS N°
10/11/2011 PAR MSR 1
10/11/2011 PAR TLN 2
10/11/2011 PAR MSR 3
10/11/2011 STR NTS 4
-----------------------------
12/11/2011 NCE AIX 1
12/11/2011 LIL PAR 2
-----------------------------
15/11/2011 PAR LYN 1
etc....
J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine. J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où co mmencer. J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex: DATE PARCOURS N° 10/11/2011 PAR MSR 1 10/11/2011 PAR TLN 2 10/11/2011 PAR MSR 3 10/11/2011 STR NTS 4 ----------------------------- 12/11/2011 NCE AIX 1 12/11/2011 LIL PAR 2 ----------------------------- 15/11/2011 PAR LYN 1 etc....
Merci pour votre aide
Choko
Bonjour,
On les récupère comment, les parcours ?
Alberic MASPAC
On 29 nov, 22:10, Choko wrote:
Bonjour,
J'ai une base avec plusieurs parcours par jour que je récupère chaque semaine. J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro pour chaque parcours pour une date et bien sûr je ne vois pas par où commen cer. J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex: DATE PARCOURS N° 10/11/2011 PAR MSR 1 10/11/2011 PAR TLN 2 10/11/2011 PAR MSR 3 10/11/2011 STR NTS 4 ----------------------------- 12/11/2011 NCE AIX 1 12/11/2011 LIL PAR 2 ----------------------------- 15/11/2011 PAR LYN 1 etc....
Merci pour votre aide
Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table "après coup". Une seconde dans un formulaire d'encodage pour les nouveaux enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référence s) "Microsoft ActiveX Data Objects 2.x Library" La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date et n° dans le champ P_Nr
Option Compare Database Option Explicit
Sub Nr_Parcours() Dim I As Long, dD As Date, N As Long Dim Rst As New ADODB.Recordset Dim CN As ADODB.Connection Set CN = CurrentProject.Connection Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic For I = 1 To Rst.RecordCount If dD <> Rst("p_Date") Then N = 1 dD = Rst("p_date") Else N = N + 1 End If Rst("P_Nr") = N Rst.Update Rst.MoveNext Next Set Rst = Nothing Set CN = Nothing End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.P_Nr) Then Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" & Me.P_Date & "#"), 0) + 1 End If End Sub
On 29 nov, 22:10, Choko <frederic.evr...@gmail.com> wrote:
Bonjour,
J'ai une base avec plusieurs parcours par jour que je récupère chaque semaine.
J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro pour chaque parcours pour une date et bien sûr je ne vois pas par où commen cer.
J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex:
DATE PARCOURS N°
10/11/2011 PAR MSR 1
10/11/2011 PAR TLN 2
10/11/2011 PAR MSR 3
10/11/2011 STR NTS 4
-----------------------------
12/11/2011 NCE AIX 1
12/11/2011 LIL PAR 2
-----------------------------
15/11/2011 PAR LYN 1
etc....
Merci pour votre aide
Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table
"après coup".
Une seconde dans un formulaire d'encodage pour les nouveaux
enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référence s)
"Microsoft ActiveX Data Objects 2.x Library"
La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date
et n° dans le champ P_Nr
Option Compare Database
Option Explicit
Sub Nr_Parcours()
Dim I As Long, dD As Date, N As Long
Dim Rst As New ADODB.Recordset
Dim CN As ADODB.Connection
Set CN = CurrentProject.Connection
Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic
For I = 1 To Rst.RecordCount
If dD <> Rst("p_Date") Then
N = 1
dD = Rst("p_date")
Else
N = N + 1
End If
Rst("P_Nr") = N
Rst.Update
Rst.MoveNext
Next
Set Rst = Nothing
Set CN = Nothing
End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.P_Nr) Then
Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" &
Me.P_Date & "#"), 0) + 1
End If
End Sub
J'ai une base avec plusieurs parcours par jour que je récupère chaque semaine. J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro pour chaque parcours pour une date et bien sûr je ne vois pas par où commen cer. J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
Ex: DATE PARCOURS N° 10/11/2011 PAR MSR 1 10/11/2011 PAR TLN 2 10/11/2011 PAR MSR 3 10/11/2011 STR NTS 4 ----------------------------- 12/11/2011 NCE AIX 1 12/11/2011 LIL PAR 2 ----------------------------- 15/11/2011 PAR LYN 1 etc....
Merci pour votre aide
Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table "après coup". Une seconde dans un formulaire d'encodage pour les nouveaux enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référence s) "Microsoft ActiveX Data Objects 2.x Library" La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date et n° dans le champ P_Nr
Option Compare Database Option Explicit
Sub Nr_Parcours() Dim I As Long, dD As Date, N As Long Dim Rst As New ADODB.Recordset Dim CN As ADODB.Connection Set CN = CurrentProject.Connection Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic For I = 1 To Rst.RecordCount If dD <> Rst("p_Date") Then N = 1 dD = Rst("p_date") Else N = N + 1 End If Rst("P_Nr") = N Rst.Update Rst.MoveNext Next Set Rst = Nothing Set CN = Nothing End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.P_Nr) Then Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" & Me.P_Date & "#"), 0) + 1 End If End Sub
Albéric MASPAC
Bonjour,
J'ai fait une grosse erreur à la première solution : il faut trier les enregistrements par date.
Cela devrait être quelque chose comme Rst.Open "Select * from Tbl_Parcours order by p_date", CN, adOpenStatic, adLockOptimistic
Cdt, Albéric
Bonjour,
J'ai fait une grosse erreur à la première solution : il faut trier les
enregistrements par date.
Cela devrait être quelque chose comme Rst.Open "Select * from Tbl_Parcours
order by p_date", CN, adOpenStatic, adLockOptimistic
J'ai fait une grosse erreur à la première solution : il faut trier les enregistrements par date.
Cela devrait être quelque chose comme Rst.Open "Select * from Tbl_Parcours order by p_date", CN, adOpenStatic, adLockOptimistic
Cdt, Albéric
Alberic MASPAC
On 2 déc, 14:38, Alberic MASPAC wrote:
On 29 nov, 22:10, Choko wrote:
> Bonjour,
> J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine. > J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où comm encer. > J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
> Ex: > DATE PARCOURS N° > 10/11/2011 PAR MSR 1 > 10/11/2011 PAR TLN 2 > 10/11/2011 PAR MSR 3 > 10/11/2011 STR NTS 4 > ----------------------------- > 12/11/2011 NCE AIX 1 > 12/11/2011 LIL PAR 2 > ----------------------------- > 15/11/2011 PAR LYN 1 > etc....
> Merci pour votre aide
> Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table "après coup". Une seconde dans un formulaire d'encodage pour les nouveaux enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référen ces) "Microsoft ActiveX Data Objects 2.x Library" La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date et n° dans le champ P_Nr
Option Compare Database Option Explicit
Sub Nr_Parcours() Dim I As Long, dD As Date, N As Long Dim Rst As New ADODB.Recordset Dim CN As ADODB.Connection Set CN = CurrentProject.Connection Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic For I = 1 To Rst.RecordCount If dD <> Rst("p_Date") Then N = 1 dD = Rst("p_date") Else N = N + 1 End If Rst("P_Nr") = N Rst.Update Rst.MoveNext Next Set Rst = Nothing Set CN = Nothing End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.P_Nr) Then Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" & Me.P_Date & "#"), 0) + 1 End If End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Attention, il faut trier par date ! Rst.Open "SELECT *, P_Date FROM Tbl_Parcours ORDER BY P_Date;", CN, adOpenStatic, adLockOptimistic
On 2 déc, 14:38, Alberic MASPAC <alberic.mas...@gmail.com> wrote:
On 29 nov, 22:10, Choko <frederic.evr...@gmail.com> wrote:
> Bonjour,
> J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine.
> J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où comm encer.
> J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
> Ex:
> DATE PARCOURS N°
> 10/11/2011 PAR MSR 1
> 10/11/2011 PAR TLN 2
> 10/11/2011 PAR MSR 3
> 10/11/2011 STR NTS 4
> -----------------------------
> 12/11/2011 NCE AIX 1
> 12/11/2011 LIL PAR 2
> -----------------------------
> 15/11/2011 PAR LYN 1
> etc....
> Merci pour votre aide
> Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table
"après coup".
Une seconde dans un formulaire d'encodage pour les nouveaux
enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référen ces)
"Microsoft ActiveX Data Objects 2.x Library"
La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date
et n° dans le champ P_Nr
Option Compare Database
Option Explicit
Sub Nr_Parcours()
Dim I As Long, dD As Date, N As Long
Dim Rst As New ADODB.Recordset
Dim CN As ADODB.Connection
Set CN = CurrentProject.Connection
Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic
For I = 1 To Rst.RecordCount
If dD <> Rst("p_Date") Then
N = 1
dD = Rst("p_date")
Else
N = N + 1
End If
Rst("P_Nr") = N
Rst.Update
Rst.MoveNext
Next
Set Rst = Nothing
Set CN = Nothing
End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.P_Nr) Then
Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" &
Me.P_Date & "#"), 0) + 1
End If
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Attention, il faut trier par date !
Rst.Open "SELECT *, P_Date FROM Tbl_Parcours ORDER BY P_Date;", CN,
adOpenStatic, adLockOptimistic
> J'ai une base avec plusieurs parcours par jour que je récupère chaq ue semaine. > J'aimerais ajouter un champ 'N°' me permettant d'avoir un numéro po ur chaque parcours pour une date et bien sûr je ne vois pas par où comm encer. > J'imagine ne boucle sur une clé DATE_PARCOURS mais après...
> Ex: > DATE PARCOURS N° > 10/11/2011 PAR MSR 1 > 10/11/2011 PAR TLN 2 > 10/11/2011 PAR MSR 3 > 10/11/2011 STR NTS 4 > ----------------------------- > 12/11/2011 NCE AIX 1 > 12/11/2011 LIL PAR 2 > ----------------------------- > 15/11/2011 PAR LYN 1 > etc....
> Merci pour votre aide
> Choko
Bonjour Choko,
Deux possibilités : une procédure VBA pour mettre à jour la table "après coup". Une seconde dans un formulaire d'encodage pour les nouveaux enregistrements.
Dans le premier cas, il faut référencer dans VBA (outils, Référen ces) "Microsoft ActiveX Data Objects 2.x Library" La table s'appelle ici Tbl_Parcours, la date est dans le champ P_Date et n° dans le champ P_Nr
Option Compare Database Option Explicit
Sub Nr_Parcours() Dim I As Long, dD As Date, N As Long Dim Rst As New ADODB.Recordset Dim CN As ADODB.Connection Set CN = CurrentProject.Connection Rst.Open "Tbl_Parcours", CN, adOpenStatic, adLockOptimistic For I = 1 To Rst.RecordCount If dD <> Rst("p_Date") Then N = 1 dD = Rst("p_date") Else N = N + 1 End If Rst("P_Nr") = N Rst.Update Rst.MoveNext Next Set Rst = Nothing Set CN = Nothing End Sub
Dans un formulaire basé sur la table. Sans zone pour le N°
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.P_Nr) Then Me.P_Nr = Nz(DMax("P_Nr", "Tbl_Parcours", "P_Date=#" & Me.P_Date & "#"), 0) + 1 End If End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Attention, il faut trier par date ! Rst.Open "SELECT *, P_Date FROM Tbl_Parcours ORDER BY P_Date;", CN, adOpenStatic, adLockOptimistic