Bonjour,
je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....)
- [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier
l'affichage
des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison), pour
que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand dans
la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma
nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas que
ce champ soit un numéro auto)
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
Jessy Sempere [MVP]
Bonjour
Pourquoi tu ne veux pas d'un numéro auto, ce serait le moyen le plus simple et le plus sûr pour faire ce que tu souhaites...
Le problème c'est que tu devras soit passer par une requête mise à jour, soit passer forcément par un formulaire pour créer tes nouvelles saison.
Pour le deuxième cas, si tu utilises un formulaire, tu peux regarder le code qui suit et t'en inspirer :
************************************************ Public Function NumAuto(strTbl, strForm, strFldAuto) 'Génère une nouveau NumAuto Dim rst As Recordset Dim lngRecord As Long lngRecord = 0 If Forms(strForm).Controls(strFldAuto) = 0 Then Set rst = CurrentDb.OpenRecordset(strTbl, dbOpenDynaset) With rst If Not .BOF Then .MoveLast: lngRecord = .Fields(strFldAuto) End With Forms(strForm).Controls(strFldAuto) = lngRecord + 1 End If
End Function ************************************************
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Denis CHABANNIER" a écrit dans le message news: On50Ve$
Bonjour, je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....) - [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier l'affichage des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison), pour
que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand dans
la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas que
ce champ soit un numéro auto)
Merci Denis
Bonjour
Pourquoi tu ne veux pas d'un numéro auto, ce serait le moyen le
plus simple et le plus sûr pour faire ce que tu souhaites...
Le problème c'est que tu devras soit passer par une requête
mise à jour, soit passer forcément par un formulaire pour
créer tes nouvelles saison.
Pour le deuxième cas, si tu utilises un formulaire, tu peux regarder le
code qui suit et t'en inspirer :
************************************************
Public Function NumAuto(strTbl, strForm, strFldAuto)
'Génère une nouveau NumAuto
Dim rst As Recordset
Dim lngRecord As Long
lngRecord = 0
If Forms(strForm).Controls(strFldAuto) = 0 Then
Set rst = CurrentDb.OpenRecordset(strTbl, dbOpenDynaset)
With rst
If Not .BOF Then .MoveLast: lngRecord = .Fields(strFldAuto)
End With
Forms(strForm).Controls(strFldAuto) = lngRecord + 1
End If
End Function
************************************************
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Denis CHABANNIER" <comdf@wanadoo.fr> a écrit dans le message news:
On50Ve$mFHA.4056@TK2MSFTNGP10.phx.gbl...
Bonjour,
je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....)
- [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier
l'affichage
des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison),
pour
que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand
dans
la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma
nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas
que
Pourquoi tu ne veux pas d'un numéro auto, ce serait le moyen le plus simple et le plus sûr pour faire ce que tu souhaites...
Le problème c'est que tu devras soit passer par une requête mise à jour, soit passer forcément par un formulaire pour créer tes nouvelles saison.
Pour le deuxième cas, si tu utilises un formulaire, tu peux regarder le code qui suit et t'en inspirer :
************************************************ Public Function NumAuto(strTbl, strForm, strFldAuto) 'Génère une nouveau NumAuto Dim rst As Recordset Dim lngRecord As Long lngRecord = 0 If Forms(strForm).Controls(strFldAuto) = 0 Then Set rst = CurrentDb.OpenRecordset(strTbl, dbOpenDynaset) With rst If Not .BOF Then .MoveLast: lngRecord = .Fields(strFldAuto) End With Forms(strForm).Controls(strFldAuto) = lngRecord + 1 End If
End Function ************************************************
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Denis CHABANNIER" a écrit dans le message news: On50Ve$
Bonjour, je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....) - [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier l'affichage des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison), pour
que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand dans
la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas que
ce champ soit un numéro auto)
Merci Denis
Fred
Utilise la fonction DMax NouveauNuméro=DMax("[Ordre]","MaTable")+1
Fred "Denis CHABANNIER" a écrit dans le message de news: On50Ve$
Bonjour, je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....) - [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier l'affichage des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison), pour que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand dans la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas que ce champ soit un numéro auto)
Merci Denis
Utilise la fonction DMax
NouveauNuméro=DMax("[Ordre]","MaTable")+1
Fred
"Denis CHABANNIER" <comdf@wanadoo.fr> a écrit dans le message de news:
On50Ve$mFHA.4056@TK2MSFTNGP10.phx.gbl...
Bonjour,
je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....)
- [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier
l'affichage
des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison),
pour
que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand
dans
la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma
nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas
que
ce champ soit un numéro auto)
Utilise la fonction DMax NouveauNuméro=DMax("[Ordre]","MaTable")+1
Fred "Denis CHABANNIER" a écrit dans le message de news: On50Ve$
Bonjour, je bloque sur quelque chose de très simple à mon avis.
J'ai une table avec 2 champs :
- [Saison] (valeurs : été 2005, hiver 2005,.....) - [Ordre] (numérique : 1, 2, 3....). Ce champ me permet de trier l'affichage des saisons par ordre décroissant dans mes formulaires.
Comment faire lorsque j'ajoute un enregistrement (une nouvelle saison), pour que le champ Ordre prenne comme valeur le numéro d'ordre le plus grand dans la table + 1. Ex : si l'ordre le plus grand est 26, il doit me créer ma nouvelle saison avec le numéro d'ordre : 27.... ?? (mais je ne veux pas que ce champ soit un numéro auto)