OVH Cloud OVH Cloud

erreur doublon en vb

5 réponses
Avatar
jacky
Bonjour a tous j'ai cr=E9er le code suivant dans mon=20
formulaire pour g=E9rer mes doublons:

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "Periode=3D" &=20
Me.Periode) > 0 Then
If DCount("*", "TblCoutTransport", "Secteur=3D" &=20
Me.Secteur) > 0 Then
MsgBox "Pas bon ;-( "
Cancel =3D True
End If
End If
End Sub

Je vous explique ce que je voulais faire. J'ai un=20
formulaire bas=E9 sur les p=E9riode de l'ann=E9e (52 periode)=20
qui lui contient un sou-formulaire bas=E9 sur des secteurs,=20
qui lui a son tour contient un formulaire dont j'entre de=20
la machinerie forestiere avec un nbr d'heures et un taux=20
horaire. Avec ce code ou s'il faut le modifier, je veux=20
que pour une meme p=E9riode avoir un code d'erreur me disant=20
que le secteur dont j'essais d'entre est d=E9ja pr=E9sent. =20
Mon bug est que si je change de p=E9riode je suis quand meme=20
capable d'entre certain secteur mais d'autre qui se trouve=20
dans ma p=E9riode pr=E9c=E9dente ne veut pas entrer (ma=20
proc=E9dure m'affiche ainsi mon code d'erreur cr=E9er plus=20
haut)

En r=E9sum=E9 je veut que pour ma p=E9riode 1 =EAtre incapable=20
d'entrer 2 fois le meme secteur, mais je aussi =EAtre=20
capable d'entrer d'autre secteur dans diff=E9rente periode.

merci

5 réponses

Avatar
Raymond [mvp]
Bonjour.

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "[Periode]=" & Me.Periode & " And
[Secteur] =" & Me.secteur.text ) > 0 Then
MsgBox "Pas bon, secteur existe déjà."
Cancel = True
End If
End Sub
(pas pu tester)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jacky" a écrit dans le message de
news: 052a01c4ff07$9670df10$
Bonjour a tous j'ai créer le code suivant dans mon
formulaire pour gérer mes doublons:

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "Periode=" &
Me.Periode) > 0 Then
If DCount("*", "TblCoutTransport", "Secteur=" &
Me.Secteur) > 0 Then
MsgBox "Pas bon ;-( "
Cancel = True
End If
End If
End Sub

Je vous explique ce que je voulais faire. J'ai un
formulaire basé sur les période de l'année (52 periode)
qui lui contient un sou-formulaire basé sur des secteurs,
qui lui a son tour contient un formulaire dont j'entre de
la machinerie forestiere avec un nbr d'heures et un taux
horaire. Avec ce code ou s'il faut le modifier, je veux
que pour une meme période avoir un code d'erreur me disant
que le secteur dont j'essais d'entre est déja présent.
Mon bug est que si je change de période je suis quand meme
capable d'entre certain secteur mais d'autre qui se trouve
dans ma période précédente ne veut pas entrer (ma
procédure m'affiche ainsi mon code d'erreur créer plus
haut)

En résumé je veut que pour ma période 1 être incapable
d'entrer 2 fois le meme secteur, mais je aussi être
capable d'entrer d'autre secteur dans différente periode.

merci
Avatar
jacky
Resalut, merci pour la piste, ce n'est pas tout a fait le
bon code mais j'ai fait quelques tests il me manque pas
grand chose pour y arriver. Si tu as le bon code peux-tu
m'en faire part?

merci
-----Message d'origine-----
Bonjour.

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "[Periode]=" &
Me.Periode & " And

[Secteur] =" & Me.secteur.text ) > 0 Then
MsgBox "Pas bon, secteur existe déjà."
Cancel = True
End If
End Sub
(pas pu tester)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jacky" a écrit
dans le message de

news: 052a01c4ff07$9670df10$
Bonjour a tous j'ai créer le code suivant dans mon
formulaire pour gérer mes doublons:

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "Periode=" &
Me.Periode) > 0 Then
If DCount("*", "TblCoutTransport", "Secteur=" &
Me.Secteur) > 0 Then
MsgBox "Pas bon ;-( "
Cancel = True
End If
End If
End Sub

Je vous explique ce que je voulais faire. J'ai un
formulaire basé sur les période de l'année (52 periode)
qui lui contient un sou-formulaire basé sur des secteurs,
qui lui a son tour contient un formulaire dont j'entre de
la machinerie forestiere avec un nbr d'heures et un taux
horaire. Avec ce code ou s'il faut le modifier, je veux
que pour une meme période avoir un code d'erreur me disant
que le secteur dont j'essais d'entre est déja présent.
Mon bug est que si je change de période je suis quand meme
capable d'entre certain secteur mais d'autre qui se trouve
dans ma période précédente ne veut pas entrer (ma
procédure m'affiche ainsi mon code d'erreur créer plus
haut)

En résumé je veut que pour ma période 1 être incapable
d'entrer 2 fois le meme secteur, mais je aussi être
capable d'entrer d'autre secteur dans différente periode.

merci


.



Avatar
Raymond [mvp]
Que donne ce que je t'ai donné ?
remplace le secteur.text par un Me.secteur.value ou un Me.secteur

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jacky" a écrit dans le message de
news: 0d3701c4ff31$19882650$
Resalut, merci pour la piste, ce n'est pas tout a fait le
bon code mais j'ai fait quelques tests il me manque pas
grand chose pour y arriver. Si tu as le bon code peux-tu
m'en faire part?

merci
-----Message d'origine-----
Bonjour.

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "[Periode]=" &
Me.Periode & " And

[Secteur] =" & Me.secteur.text ) > 0 Then
MsgBox "Pas bon, secteur existe déjà."
Cancel = True
End If
End Sub
(pas pu tester)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jacky" a écrit
dans le message de

news: 052a01c4ff07$9670df10$
Bonjour a tous j'ai créer le code suivant dans mon
formulaire pour gérer mes doublons:

Private Sub Secteur_BeforeUpdate(Cancel As Integer)
If DCount("*", "TblCoutTransport", "Periode=" &
Me.Periode) > 0 Then
If DCount("*", "TblCoutTransport", "Secteur=" &
Me.Secteur) > 0 Then
MsgBox "Pas bon ;-( "
Cancel = True
End If
End If
End Sub

Je vous explique ce que je voulais faire. J'ai un
formulaire basé sur les période de l'année (52 periode)
qui lui contient un sou-formulaire basé sur des secteurs,
qui lui a son tour contient un formulaire dont j'entre de
la machinerie forestiere avec un nbr d'heures et un taux
horaire. Avec ce code ou s'il faut le modifier, je veux
que pour une meme période avoir un code d'erreur me disant
que le secteur dont j'essais d'entre est déja présent.
Mon bug est que si je change de période je suis quand meme
capable d'entre certain secteur mais d'autre qui se trouve
dans ma période précédente ne veut pas entrer (ma
procédure m'affiche ainsi mon code d'erreur créer plus
haut)

En résumé je veut que pour ma période 1 être incapable
d'entrer 2 fois le meme secteur, mais je aussi être
capable d'entrer d'autre secteur dans différente periode.

merci


.



Avatar
jacky
Ca donne rien ca me fait des ajout de secteur du meme nom
au lieu de m'avertir que le secteur est déja présent.

merci encore si j'ai le bon code je t'en reparle

donne moi des news aussi de ton coté
Avatar
Raymond [mvp]
Le dcount tel qu'il est fait est bon, est-ce que les valeurs testées sont
bonnes , as-tu fait un débogage ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jacky" a écrit dans le message de
news: 12a401c4ffd5$d54fcbf0$
Ca donne rien ca me fait des ajout de secteur du meme nom
au lieu de m'avertir que le secteur est déja présent.

merci encore si j'ai le bon code je t'en reparle

donne moi des news aussi de ton coté