Bonjour a tous,
Avec mon application vb je suis connecter a une base de donnée access. Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout
marche bien sauf si je rentre un nom dans un de mes champ text en vb il me
sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja
existant veillez en choisir un autre" au lieu de cette erreur run time qui
me fait sortir de mon programme au complet.
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
Clive Lumb
"jeff" a écrit dans le message de news:
Bonjour a tous, Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout marche bien sauf si je rentre un nom dans un de mes champ text en vb il me sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja existant veillez en choisir un autre" au lieu de cette erreur run time
qui
me fait sortir de mon programme au complet.
Est-ce possible ???
Merci de votre attention.
Deux solutions :
1/ Burin On error Go To
2/ Elégante MyRecordeset.MoveFirst MyRecordeset.find "Nom='toto'" if myrecordset.eof then 'ajouter l'enregistrement else msgbox "doublon" endif
"jeff" <Jeff@free.com> a écrit dans le message de
news:uv9avejBGHA.1864@TK2MSFTNGP12.phx.gbl...
Bonjour a tous,
Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout
marche bien sauf si je rentre un nom dans un de mes champ text en vb il me
sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja
existant veillez en choisir un autre" au lieu de cette erreur run time
qui
me fait sortir de mon programme au complet.
Est-ce possible ???
Merci de votre attention.
Deux solutions :
1/ Burin
On error Go To
2/ Elégante
MyRecordeset.MoveFirst
MyRecordeset.find "Nom='toto'"
if myrecordset.eof then
'ajouter l'enregistrement
else
msgbox "doublon"
endif
Bonjour a tous, Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout marche bien sauf si je rentre un nom dans un de mes champ text en vb il me sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja existant veillez en choisir un autre" au lieu de cette erreur run time
qui
me fait sortir de mon programme au complet.
Est-ce possible ???
Merci de votre attention.
Deux solutions :
1/ Burin On error Go To
2/ Elégante MyRecordeset.MoveFirst MyRecordeset.find "Nom='toto'" if myrecordset.eof then 'ajouter l'enregistrement else msgbox "doublon" endif
Thierry
Pas plus élégant de tester avant si ton champ n'existe pas deja ?
"jeff" a écrit dans le message de news:
Bonjour a tous, Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout marche bien sauf si je rentre un nom dans un de mes champ text en vb il me sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja existant veillez en choisir un autre" au lieu de cette erreur run time
qui
me fait sortir de mon programme au complet.
Est-ce possible ???
Merci de votre attention.
Pas plus élégant de tester avant si ton champ n'existe pas deja ?
"jeff" <Jeff@free.com> a écrit dans le message de news:
uv9avejBGHA.1864@TK2MSFTNGP12.phx.gbl...
Bonjour a tous,
Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout
marche bien sauf si je rentre un nom dans un de mes champ text en vb il me
sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja
existant veillez en choisir un autre" au lieu de cette erreur run time
Pas plus élégant de tester avant si ton champ n'existe pas deja ?
"jeff" a écrit dans le message de news:
Bonjour a tous, Avec mon application vb je suis connecter a une base de donnée access.
Dans
une de mes table je lui dit que je ne veut pas de doublon. jusque la tout marche bien sauf si je rentre un nom dans un de mes champ text en vb il me sort l'eurreur "Run-time error '3022' , risque de doublon...." Ce qui
est
normal mais je voudrai pouvoir mettre un msgbox dans le genre "Nom deja existant veillez en choisir un autre" au lieu de cette erreur run time
qui
me fait sortir de mon programme au complet.
Est-ce possible ???
Merci de votre attention.
Gloops
Clive Lumb a écrit, le 21/12/2005 15:47 :
2/ Elégante MyRecordeset.MoveFirst MyRecordeset.find "Nom='toto'" if myrecordset.eof then 'ajouter l'enregistrement else msgbox "doublon" endif
Bonjour,
Pendant qu'on a soulevé la question, je me demande à quel point ce ne serait pas une bonne idée d'ouvrir un jeu d'enregistrements ou une requête avec le critère qui va bien pour compter le nombre d'enregistrements, dans une fonction écrite à cet effet. ça évite de modifier l'enregistrement courant du jeu déjà ouvert, il peut arriver que ça serve.
Pour le coup on a quelque chose de commode question syntaxe mais est-ce qu'on perd beaucoup en temps d'exécution ?
If NbEnr("toto") = 0 then R = Ajoute("toto") If R = False then MsgBox "On s'est planté, 0 + 0 = la tête à toto"
ça m'est arrivé de faire ça au coup par coup, avec une fonction NbEnr pour chaque table, s'appelant autrement bien sûr, mais il doit y avoir plus passe-partout, par exemple en ouvrant un clône et en lui appliquant un filtre. Dans ce cas probablement on passe en paramètre le jeu d'enregistrements à clôner et le critère prêt à l'emploi, comme ça celui-ci tient compte du type de clef.
(Je sais, mettre tout sur la ligne du If c'est limite ... On va dire que dans un exemple de deux lignes ça me paraît lisible.)
Clive Lumb a écrit, le 21/12/2005 15:47 :
2/ Elégante
MyRecordeset.MoveFirst
MyRecordeset.find "Nom='toto'"
if myrecordset.eof then
'ajouter l'enregistrement
else
msgbox "doublon"
endif
Bonjour,
Pendant qu'on a soulevé la question, je me demande à quel point ce ne
serait pas une bonne idée d'ouvrir un jeu d'enregistrements ou une
requête avec le critère qui va bien pour compter le nombre
d'enregistrements, dans une fonction écrite à cet effet. ça évite de
modifier l'enregistrement courant du jeu déjà ouvert, il peut arriver
que ça serve.
Pour le coup on a quelque chose de commode question syntaxe
mais est-ce qu'on perd beaucoup en temps d'exécution ?
If NbEnr("toto") = 0 then R = Ajoute("toto")
If R = False then MsgBox "On s'est planté, 0 + 0 = la tête à toto"
ça m'est arrivé de faire ça au coup par coup, avec une fonction NbEnr
pour chaque table, s'appelant autrement bien sûr, mais il doit y avoir
plus passe-partout, par exemple en ouvrant un clône et en lui appliquant
un filtre. Dans ce cas probablement on passe en paramètre le jeu
d'enregistrements à clôner et le critère prêt à l'emploi, comme ça
celui-ci tient compte du type de clef.
(Je sais, mettre tout sur la ligne du If c'est limite ... On va dire que
dans un exemple de deux lignes ça me paraît lisible.)
2/ Elégante MyRecordeset.MoveFirst MyRecordeset.find "Nom='toto'" if myrecordset.eof then 'ajouter l'enregistrement else msgbox "doublon" endif
Bonjour,
Pendant qu'on a soulevé la question, je me demande à quel point ce ne serait pas une bonne idée d'ouvrir un jeu d'enregistrements ou une requête avec le critère qui va bien pour compter le nombre d'enregistrements, dans une fonction écrite à cet effet. ça évite de modifier l'enregistrement courant du jeu déjà ouvert, il peut arriver que ça serve.
Pour le coup on a quelque chose de commode question syntaxe mais est-ce qu'on perd beaucoup en temps d'exécution ?
If NbEnr("toto") = 0 then R = Ajoute("toto") If R = False then MsgBox "On s'est planté, 0 + 0 = la tête à toto"
ça m'est arrivé de faire ça au coup par coup, avec une fonction NbEnr pour chaque table, s'appelant autrement bien sûr, mais il doit y avoir plus passe-partout, par exemple en ouvrant un clône et en lui appliquant un filtre. Dans ce cas probablement on passe en paramètre le jeu d'enregistrements à clôner et le critère prêt à l'emploi, comme ça celui-ci tient compte du type de clef.
(Je sais, mettre tout sur la ligne du If c'est limite ... On va dire que dans un exemple de deux lignes ça me paraît lisible.)