Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset
Dim db As database
Dim t As String
t =3D Me.ElapsedTime.Value
Set db =3D CurrentDb
Set rst =3D db.OpenRecordset("Table1", dbOpenDynaset)
With rst
.AddNew
.fields("Champ1") =3D t
.Update
End With
rst.Close
Set rst =3D Nothing
J'aimerai sur ce m=EAme click qu'un autre champ (champ2) soit =E9galement
renseign=E9 par la soustraction de l'enregistrement nouvellement cr=E9=E9
(Champ1 avec Max(ID)) et de l'enregistrement pr=E9c=E9dent(Champ1 avec
Max(ID)-1).
Voici la structure de ma table
ID----Champ1-------Champ2
1------213243
2------876746
3------553451
4------876367
5------454546
@+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l''''efficacité de tous : http://www.mpfa.info/ ------------------------------------
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset
Dim db As database
Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb
Set rst = db.OpenRecordset("Table1", dbOpenDynaset)
With rst
.AddNew
.fields("Champ1") = t
.Update
End With
rst.Close
Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également
renseigné par la soustraction de l'enregistrement nouvellement créé
(Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec
Max(ID)-1).
Voici la structure de ma table
ID----Champ1-------Champ2
1------213243
2------876746
3------553451
4------876367
5------454546
@+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l''''efficacité de tous : http://www.mpfa.info/ ------------------------------------
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
Eric
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent puisque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant AddNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent puisque
par simple requête tu as ces valeurs ?
Toutefois,
en supposant que l'ID est un numero incrémentiel sans trou, en mettant
avant le .Update ceci :
.fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" &
Fields("Id")-1)))-val(t)
(Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement
tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras
des trous dans la séquence donc il te faudrait récupérer avant AddNew le
plus grand numéro attribué pour l'utiliser dans le DLookUp()
De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset
Dim db As database
Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb
Set rst = db.OpenRecordset("Table1", dbOpenDynaset)
With rst
.AddNew
.fields("Champ1") = t
.Update
End With
rst.Close
Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également
renseigné par la soustraction de l'enregistrement nouvellement créé
(Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec
Max(ID)-1).
Voici la structure de ma table
ID----Champ1-------Champ2
1------213243
2------876746
3------553451
4------876367
5------454546
Merci pour vos conseils
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Pourquoi stocker la différence avec l'enregistrement précédent puisque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant AddNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
.../... manque le . devant Fields("Id") dans le dlookup .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & .Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent puisque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant AddNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
manque le . devant Fields("Id") dans le dlookup
.fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" &
.Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent puisque
par simple requête tu as ces valeurs ?
Toutefois,
en supposant que l'ID est un numero incrémentiel sans trou, en mettant
avant le .Update ceci :
.fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" &
Fields("Id")-1)))-val(t)
(Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement
tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras
des trous dans la séquence donc il te faudrait récupérer avant AddNew le
plus grand numéro attribué pour l'utiliser dans le DLookUp()
De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset
Dim db As database
Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb
Set rst = db.OpenRecordset("Table1", dbOpenDynaset)
With rst
.AddNew
.fields("Champ1") = t
.Update
End With
rst.Close
Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également
renseigné par la soustraction de l'enregistrement nouvellement créé
(Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec
Max(ID)-1).
Voici la structure de ma table
ID----Champ1-------Champ2
1------213243
2------876746
3------553451
4------876367
5------454546
Merci pour vos conseils
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../... manque le . devant Fields("Id") dans le dlookup .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & .Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent puisque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant AddNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractères ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit également renseigné par la soustraction de l'enregistrement nouvellement créé (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
LeSoviet
On 21 fév, 15:36, Eric wrote:
.../... manque le . devant Fields("Id") dans le dlookup .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & .Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent pu isque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant Ad dNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractè res ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit égalem ent renseigné par la soustraction de l'enregistrement nouvellement cré é (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re,
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
On 21 fév, 15:36, Eric <f_fra...@hotmail.com> wrote:
.../...
manque le . devant Fields("Id") dans le dlookup
.fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" &
.Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent pu isque
par simple requête tu as ces valeurs ?
Toutefois,
en supposant que l'ID est un numero incrémentiel sans trou, en mettant
avant le .Update ceci :
.fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" &
Fields("Id")-1)))-val(t)
(Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement
tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras
des trous dans la séquence donc il te faudrait récupérer avant Ad dNew le
plus grand numéro attribué pour l'utiliser dans le DLookUp()
De plus, est-ce volontaire de définir t comme une chaine de caractè res ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset
Dim db As database
Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb
Set rst = db.OpenRecordset("Table1", dbOpenDynaset)
With rst
.AddNew
.fields("Champ1") = t
.Update
End With
rst.Close
Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit égalem ent
renseigné par la soustraction de l'enregistrement nouvellement cré é
(Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec
Max(ID)-1).
Voici la structure de ma table
ID----Champ1-------Champ2
1------213243
2------876746
3------553451
4------876367
5------454546
Merci pour vos conseils
--
A+
Erichttp://www.mpfa.info/
Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re,
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas
bien pourquoi je devrais avoir des trous.
.../... manque le . devant Fields("Id") dans le dlookup .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & .Fields("Id")-1)))-val(t)
Bonjour,
Pourquoi stocker la différence avec l'enregistrement précédent pu isque par simple requête tu as ces valeurs ?
Toutefois, en supposant que l'ID est un numero incrémentiel sans trou, en mettant avant le .Update ceci : .fields("champ2")=val(nz(dlookup("champ2","Table1","Id=" & Fields("Id")-1)))-val(t) (Adapter le calcul de la différence)
mais je reste perplexe puisque lors de la création de l'enregistrement tu ne définis pas la valeur de ID. S'il s'agit d'un num auto, tu auras des trous dans la séquence donc il te faudrait récupérer avant Ad dNew le plus grand numéro attribué pour l'utiliser dans le DLookUp() De plus, est-ce volontaire de définir t comme une chaine de caractè res ?
Je renseigne un champ sur click d'un bouton via un recordset :
Dim rst As DAO.Recordset Dim db As database Dim t As String
t = Me.ElapsedTime.Value
Set db = CurrentDb Set rst = db.OpenRecordset("Table1", dbOpenDynaset) With rst .AddNew .fields("Champ1") = t .Update End With rst.Close Set rst = Nothing
J'aimerai sur ce même click qu'un autre champ (champ2) soit égalem ent renseigné par la soustraction de l'enregistrement nouvellement cré é (Champ1 avec Max(ID)) et de l'enregistrement précédent(Champ1 avec Max(ID)-1).
Voici la structure de ma table ID----Champ1-------Champ2 1------213243 2------876746 3------553451 4------876367 5------454546
Merci pour vos conseils
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re,
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
Eric
re,
Si tu viens à supprimer un enregistrement par exemple le numéro 5 suite à une erreur de saisie, le prochain numéro attribué par Access sera le 6 donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Si tu viens à supprimer un enregistrement par exemple le numéro 5 suite
à une erreur de saisie, le prochain numéro attribué par Access sera le 6
donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas
bien pourquoi je devrais avoir des trous.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Si tu viens à supprimer un enregistrement par exemple le numéro 5 suite à une erreur de saisie, le prochain numéro attribué par Access sera le 6 donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
LeSoviet
On 21 fév, 17:23, Eric wrote:
re,
Si tu viens à supprimer un enregistrement par exemple le numéro 5 sui te à une erreur de saisie, le prochain numéro attribué par Access sera le 6 donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
impossible puisque le renseignement des champs de la table se fait via le code du bouton et non manuellement (comme ça peut être le cas du remplissage du contenu d'une textbox à la main par ex). Dc pas de suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour récupérer la plus grande valeur d'ID par recordset comme tu l'as suggérer ? Je ne manie vraiment pas bien ce type de codage.
Merci par avance
On 21 fév, 17:23, Eric <f_fra...@hotmail.com> wrote:
re,
Si tu viens à supprimer un enregistrement par exemple le numéro 5 sui te
à une erreur de saisie, le prochain numéro attribué par Access sera le 6
donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas
bien pourquoi je devrais avoir des trous.
impossible puisque le renseignement des champs de la table se fait via
le code du bouton et non manuellement (comme ça peut être le cas du
remplissage du contenu d'une textbox à la main par ex). Dc pas de
suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour
récupérer la plus grande valeur d'ID par recordset comme tu l'as
suggérer ? Je ne manie vraiment pas bien ce type de codage.
Si tu viens à supprimer un enregistrement par exemple le numéro 5 sui te à une erreur de saisie, le prochain numéro attribué par Access sera le 6 donc tu auras un trou entre le 4 et le 6.
Effectivement, ID est un NumAuto. Ce qui fait que je ne comprend pas bien pourquoi je devrais avoir des trous.
impossible puisque le renseignement des champs de la table se fait via le code du bouton et non manuellement (comme ça peut être le cas du remplissage du contenu d'une textbox à la main par ex). Dc pas de suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour récupérer la plus grande valeur d'ID par recordset comme tu l'as suggérer ? Je ne manie vraiment pas bien ce type de codage.
Merci par avance
Eric
Re,
impossible puisque le renseignement des champs de la table se fait via le code du bouton et non manuellement (comme ça peut être le cas du remplissage du contenu d'une textbox à la main par ex). Dc pas de suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour récupérer la plus grande valeur d'ID par recordset comme tu l'as suggérer ? Je ne manie vraiment pas bien ce type de codage.
Merci par avance
Bon,,je note Pas de trous possible, personne n'ira supprimmer un enregistrement dans la table. ;-)
Pour récupérer le plus grand ID attribué, tu peux faire, avant d'invoquer la méthode AddNew, sous réserve que le recordset est trié sur l'Id (tri croissant). If not .eof then .movelast LeMax=!Id Else LeMax=0 End If Il te faudra bien sûr déclarer en début de procédure LeMax comme un entier Long.
Autre solution avec la fonction de domaine DMax() que tu peux placer avant l'ouverture du recordset, sans inquiétude pour l'ordre du recordset: LeMax=DMax("Id","Table1")
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Re,
impossible puisque le renseignement des champs de la table se fait via
le code du bouton et non manuellement (comme ça peut être le cas du
remplissage du contenu d'une textbox à la main par ex). Dc pas de
suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour
récupérer la plus grande valeur d'ID par recordset comme tu l'as
suggérer ? Je ne manie vraiment pas bien ce type de codage.
Merci par avance
Bon,,je note Pas de trous possible, personne n'ira supprimmer un
enregistrement dans la table. ;-)
Pour récupérer le plus grand ID attribué, tu peux faire, avant
d'invoquer la méthode AddNew, sous réserve que le recordset est trié sur
l'Id (tri croissant).
If not .eof then
.movelast
LeMax=!Id
Else
LeMax=0
End If
Il te faudra bien sûr déclarer en début de procédure LeMax comme un
entier Long.
Autre solution avec la fonction de domaine DMax() que tu peux placer
avant l'ouverture du recordset, sans inquiétude pour l'ordre du recordset:
LeMax=DMax("Id","Table1")
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
impossible puisque le renseignement des champs de la table se fait via le code du bouton et non manuellement (comme ça peut être le cas du remplissage du contenu d'une textbox à la main par ex). Dc pas de suppression de valeur dans la table, donc pas de trous potentiels.
Par contre, est-ce trop demander de me dire comment fait-on pour récupérer la plus grande valeur d'ID par recordset comme tu l'as suggérer ? Je ne manie vraiment pas bien ce type de codage.
Merci par avance
Bon,,je note Pas de trous possible, personne n'ira supprimmer un enregistrement dans la table. ;-)
Pour récupérer le plus grand ID attribué, tu peux faire, avant d'invoquer la méthode AddNew, sous réserve que le recordset est trié sur l'Id (tri croissant). If not .eof then .movelast LeMax=!Id Else LeMax=0 End If Il te faudra bien sûr déclarer en début de procédure LeMax comme un entier Long.
Autre solution avec la fonction de domaine DMax() que tu peux placer avant l'ouverture du recordset, sans inquiétude pour l'ordre du recordset: LeMax=DMax("Id","Table1")
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
LeSoviet
Bonsoir,
j'ai une incompatibilité de type sur cette ligne :
Bon, autant pour moi si je prend des réflexions mais les valeurs de Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea Culpa. J'ai défini les types de données des Champs 1 et 2 dans le table à texte parce que c'est ainsi que sont déclarées les valeurs qui les renseignent, d'où cette question pertinente : "De plus, est-ce volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr J'arrive à récupérer la valeur de Me!ElapsedTime via t = Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2 qui est la soustraction de la dernière valeur de Champ1 et son avant dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
Bonsoir,
j'ai une incompatibilité de type sur cette ligne :
Bon, autant pour moi si je prend des réflexions mais les valeurs de
Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea
Culpa.
J'ai défini les types de données des Champs 1 et 2 dans le table à
texte parce que c'est ainsi que sont déclarées les valeurs qui les
renseignent, d'où cette question pertinente : "De plus, est-ce
volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr
J'arrive à récupérer la valeur de Me!ElapsedTime via t =
Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2
qui est la soustraction de la dernière valeur de Champ1 et son avant
dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
Bon, autant pour moi si je prend des réflexions mais les valeurs de Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea Culpa. J'ai défini les types de données des Champs 1 et 2 dans le table à texte parce que c'est ainsi que sont déclarées les valeurs qui les renseignent, d'où cette question pertinente : "De plus, est-ce volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr J'arrive à récupérer la valeur de Me!ElapsedTime via t = Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2 qui est la soustraction de la dernière valeur de Champ1 et son avant dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
Jessy Sempere
Bonjour
Ton incompatibilité est effectivement du au format texte de tes champs... Malheureusement il ne s'agit pas simplement de modifier la synthaxe, ta donnée est particulière, c'est un format d'heure avec des millisecondes, l'idéale je pense, c'est que tu es un champ qui stock la valeur réelle en millisecondes avant la mise en forme.
Sinon, tu dois convertir pour revenir en millisecondes, faire ton calcul et reconvertir le résultat dans ton format... C'est tordu. ;-)) Enfin, voilà normalement le code qui devrait convenir pour faire ce que je disais "tordu"...
Dim strTimeLast as string Dim strTimeDiff as string Dim sngTimeLast as single Dim sngTimeNew as single Dim sngTimeDiff as single
-- @+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l'efficacité de tous : http://www.mpfa.info/ ------------------------------------ "LeSoviet" a écrit dans le message de news:
Bonsoir,
j'ai une incompatibilité de type sur cette ligne :
Bon, autant pour moi si je prend des réflexions mais les valeurs de Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea Culpa. J'ai défini les types de données des Champs 1 et 2 dans le table à texte parce que c'est ainsi que sont déclarées les valeurs qui les renseignent, d'où cette question pertinente : "De plus, est-ce volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr J'arrive à récupérer la valeur de Me!ElapsedTime via t Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2 qui est la soustraction de la dernière valeur de Champ1 et son avant dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
Bonjour
Ton incompatibilité est effectivement du au format texte de tes champs...
Malheureusement il ne s'agit pas simplement de modifier la synthaxe, ta
donnée est particulière, c'est un format d'heure avec des millisecondes,
l'idéale je pense, c'est que tu es un champ qui stock la valeur réelle en
millisecondes avant la mise en forme.
Sinon, tu dois convertir pour revenir en millisecondes, faire ton calcul et
reconvertir le résultat dans ton format...
C'est tordu. ;-))
Enfin, voilà normalement le code qui devrait convenir pour faire ce que je
disais "tordu"...
Dim strTimeLast as string
Dim strTimeDiff as string
Dim sngTimeLast as single
Dim sngTimeNew as single
Dim sngTimeDiff as single
--
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"LeSoviet" <gil.nat@caramail.com> a écrit dans le message de news:
1172098236.399753.189260@m58g2000cwm.googlegroups.com...
Bonsoir,
j'ai une incompatibilité de type sur cette ligne :
Bon, autant pour moi si je prend des réflexions mais les valeurs de
Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea
Culpa.
J'ai défini les types de données des Champs 1 et 2 dans le table à
texte parce que c'est ainsi que sont déclarées les valeurs qui les
renseignent, d'où cette question pertinente : "De plus, est-ce
volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr
J'arrive à récupérer la valeur de Me!ElapsedTime via t Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2
qui est la soustraction de la dernière valeur de Champ1 et son avant
dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
Ton incompatibilité est effectivement du au format texte de tes champs... Malheureusement il ne s'agit pas simplement de modifier la synthaxe, ta donnée est particulière, c'est un format d'heure avec des millisecondes, l'idéale je pense, c'est que tu es un champ qui stock la valeur réelle en millisecondes avant la mise en forme.
Sinon, tu dois convertir pour revenir en millisecondes, faire ton calcul et reconvertir le résultat dans ton format... C'est tordu. ;-)) Enfin, voilà normalement le code qui devrait convenir pour faire ce que je disais "tordu"...
Dim strTimeLast as string Dim strTimeDiff as string Dim sngTimeLast as single Dim sngTimeNew as single Dim sngTimeDiff as single
-- @+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l'efficacité de tous : http://www.mpfa.info/ ------------------------------------ "LeSoviet" a écrit dans le message de news:
Bonsoir,
j'ai une incompatibilité de type sur cette ligne :
Bon, autant pour moi si je prend des réflexions mais les valeurs de Champ1 n'ont pas cette forme 000000 mais celle-ci 00:00:00:00. Mea Culpa. J'ai défini les types de données des Champs 1 et 2 dans le table à texte parce que c'est ainsi que sont déclarées les valeurs qui les renseignent, d'où cette question pertinente : "De plus, est-ce volontaire de définir t comme une chaine de caractères ?"
"Ma" base est issue de ce code : http://support.microsoft.com/kb/233275/fr J'arrive à récupérer la valeur de Me!ElapsedTime via t Me.ElapsedTime.Value (dans le 1er message) mais pas à alimenter Champ2 qui est la soustraction de la dernière valeur de Champ1 et son avant dernière valeur.
Désolé pour mes explications initiales et merci d'avance de votre aide
LeSoviet
Bonjour,
J'ai un message d'erreur sur le premier click du bouton « Erreur 3021 : Aucun enregistrement en cours ».
Normal, puisqu'il n'y a pas de valeurs précédentes pour ID et les Champs 1 et 2.
Comment contourner le pb ? Où dois-je placer ce code parmi le code du bouton pour que les Champs 1 et 2 correspondant à la même valeur d'ID soient insérés dans Tabl e1?
Merci d'avance pour votre aide
Bonjour,
J'ai un message d'erreur sur le premier click du bouton « Erreur
3021 : Aucun enregistrement en cours ».
Normal, puisqu'il n'y a pas de valeurs précédentes pour ID et les
Champs 1 et 2.
Comment contourner le pb ?
Où dois-je placer ce code parmi le code du bouton pour que les Champs
1 et 2 correspondant à la même valeur d'ID soient insérés dans Tabl e1?
J'ai un message d'erreur sur le premier click du bouton « Erreur 3021 : Aucun enregistrement en cours ».
Normal, puisqu'il n'y a pas de valeurs précédentes pour ID et les Champs 1 et 2.
Comment contourner le pb ? Où dois-je placer ce code parmi le code du bouton pour que les Champs 1 et 2 correspondant à la même valeur d'ID soient insérés dans Tabl e1?