[Access] création d'une entrée si non existan
Résolu/Fermé
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
-
27 mars 2007 à 15:23
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 - 28 mars 2007 à 16:34
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 - 28 mars 2007 à 16:34
A voir également:
- [Access] création d'une entrée si non existan
- Media creation tool - Télécharger - Systèmes d'exploitation
- Creation compte gmail - Guide
- Pas d'entrée video ✓ - Forum Matériel informatique
- Access denied - Forum Bbox Bouygues
- Creation adresse mail - Guide
10 réponses
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 09:50
28 mars 2007 à 09:50
Salut,
il faut ajouter les éléments dans les différentes tables (en respectant l'ordre défini par les relations éventuelles entre tables : intégrité référentielle)
En gros : ouvrir un recordset sur chaque table, et appliquer la méthode addnew.
il faut ajouter les éléments dans les différentes tables (en respectant l'ordre défini par les relations éventuelles entre tables : intégrité référentielle)
En gros : ouvrir un recordset sur chaque table, et appliquer la méthode addnew.
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 10:23
28 mars 2007 à 10:23
Bonjour et merci pour ta réponse Blux
Je ne la comprends pas exactement, donc si tu pouvais me donner 2-3 précisions lol.
Quand tu dit qu'il faut ajouter les éléments dans les différentes tables, tu parles des elements que je veux entrer lors de la création d'une prise non existante ?? si c'est le cas, sache que ces infos sont toutes dans ma table T_PRISE. Bref je suis pas sur de bien comprendre lol. Dans tous les cas, je n'ai pas de relation avec intégrité réferentielle car je fais mes relations directement à partir des requetes. Ca va peut etre te faire monter au plafond mais on m'a conseillé de faire ça, ce qui evite des soucis et j'ai vu que c'est tout a fait faisable donc...
pour ce qui est d'ouvrir un recordset sur chaque table, et appliquer la méthode addnew, ouai ok mais là ça ne me parle pas du tout lol, je vais un peu chercher sur le Net pour comprendre de quoi tu me parles, mais ca devient un peu technique pour ma pauvre personne...
@ plus tard et merci :)
Je ne la comprends pas exactement, donc si tu pouvais me donner 2-3 précisions lol.
Quand tu dit qu'il faut ajouter les éléments dans les différentes tables, tu parles des elements que je veux entrer lors de la création d'une prise non existante ?? si c'est le cas, sache que ces infos sont toutes dans ma table T_PRISE. Bref je suis pas sur de bien comprendre lol. Dans tous les cas, je n'ai pas de relation avec intégrité réferentielle car je fais mes relations directement à partir des requetes. Ca va peut etre te faire monter au plafond mais on m'a conseillé de faire ça, ce qui evite des soucis et j'ai vu que c'est tout a fait faisable donc...
pour ce qui est d'ouvrir un recordset sur chaque table, et appliquer la méthode addnew, ouai ok mais là ça ne me parle pas du tout lol, je vais un peu chercher sur le Net pour comprendre de quoi tu me parles, mais ca devient un peu technique pour ma pauvre personne...
@ plus tard et merci :)
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 11:02
28 mars 2007 à 11:02
Si toutes tes infos sont présentes dans une table, alors un simple INSERT INTO devrait suffire...
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 11:35
28 mars 2007 à 11:35
Ok jessairai mais ce que je ne comprends pas, c'est comment dire à access de prendre ma variable Resultat (qui est la concaténation qui donne le n° de prise à rechercher dans le formulaire) et de la comparer au champ Prise de ma table T_PRISE. Ensuite lui dire que si le numero de prise recherché se trouve dans T_PRISE alors afficher les infos, et sinon ouvrir une msgbox qui me dit que la prise n'existe pas et de me proposer de la créer.
Parce que, si je comprend bien, ta solution me dit comment créer la prise si elle n'existe pas mais je vois pas comment faire la comparaison entre une variable et l'enregistrement d'un champ d'une table...
PS. faut que j'arrete d'ecrire des romans lol, ça doit pas etre sympa pour toi de lire ca
Parce que, si je comprend bien, ta solution me dit comment créer la prise si elle n'existe pas mais je vois pas comment faire la comparaison entre une variable et l'enregistrement d'un champ d'une table...
PS. faut que j'arrete d'ecrire des romans lol, ça doit pas etre sympa pour toi de lire ca
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 12:50
28 mars 2007 à 12:50
Regarde les fonctions dlookup et dcount, tu trouveras sûrement ton bonheur...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 15:31
28 mars 2007 à 15:31
J'ai un peu chercher l'utilisation de la fonction DLookup (que je n'ai pas parfaitement comprise) et j'aimerai te soumettre mon resultat pour que tu m'aides à comprendre ce qui ne va pas !
Lorsque je fait, indifferemment ce test :
dans ce cas, lorsque j'entre un num de prise existant, il me renvoi le num en question, par contre lorsque j'entre un num de prise qui n'existe pas, il me sort une erreur "Utilisation incorrecte de Null".
Et lorsque je rajoute :
il me ressort à tous les coups la msgbox OK !!
je pense vraiment etre pas loin mais je comprend plus trop lol...
Lorsque je fait, indifferemment ce test :
Dim var As Variant
var = DLookup("[Prise]", "T_PRISE", "[Prise] = [Resultat] ")
OU
var = DLookup("[Prise]", "R_ESSAI", "[Resultat]=[Prise]")
msgbox var
dans ce cas, lorsque j'entre un num de prise existant, il me renvoi le num en question, par contre lorsque j'entre un num de prise qui n'existe pas, il me sort une erreur "Utilisation incorrecte de Null".
Et lorsque je rajoute :
If var = Null Then MsgBox "faux" Else MsgBox "ok" End If
il me ressort à tous les coups la msgbox OK !!
je pense vraiment etre pas loin mais je comprend plus trop lol...
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 15:34
28 mars 2007 à 15:34
dlookup te renvoie un résultat : si rien n'est trouvé, alors var se retrouve avec une valeur non stable...
Il faut donc utiliser dcount, ça te renverra 0 si la prise n'existe pas et 1 si elle existe.
Pour ce qui est de tester 'null', ça se fait via une fonction :
A+ Blux
Il faut donc utiliser dcount, ça te renverra 0 si la prise n'existe pas et 1 si elle existe.
Pour ce qui est de tester 'null', ça se fait via une fonction :
If IsNull(var) then--
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 15:43
28 mars 2007 à 15:43
Je vais tester mais est ce que mon premier code c'est à dire :
te parait bon ?? sachant que [ Resultat] est une Zone de texte où est affichée la variable Calcul (qui calcul le num de prise dans le formulaire
Dim var As Variant
var = DLookup("[Prise]", "T_PRISE", "[Prise] = [Resultat] ")
OU
var = DLookup("[Prise]", "R_ESSAI", "[Resultat]=[Prise]")
msgbox var
te parait bon ?? sachant que [ Resultat] est une Zone de texte où est affichée la variable Calcul (qui calcul le num de prise dans le formulaire
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 15:54
28 mars 2007 à 15:54
Oublie mon post précédent car je croi avoir trouvé !!!!
j'aimerais juste que tu me confirme qu'il n'y a pas d'erreur de syntaxe ou un quelconque defaut dans mon code !!
dis moi que c'est bon pleaseeeeee !!! mais si ça ne l'est pas me le dit pas pour me faire plaisir lol
J'ai juste un doute sur "[Resultat]=[Prise]" car Resultat est une zone de texte où est contenu une variable et Prise est le champ de ma requete tiré de la table T_PRISE
J'ai juste besoin d'une confirmation que le code est bon car je doute sur les [ ]
merci :-)
j'aimerais juste que tu me confirme qu'il n'y a pas d'erreur de syntaxe ou un quelconque defaut dans mon code !!
Dim var As Variant
var = DLookup("[Prise]", "R_ESSAI", "[Resultat]=[Prise]")
If IsNull(var) Then
MsgBox "faux"
Else
MsgBox "ok"
End If
dis moi que c'est bon pleaseeeeee !!! mais si ça ne l'est pas me le dit pas pour me faire plaisir lol
J'ai juste un doute sur "[Resultat]=[Prise]" car Resultat est une zone de texte où est contenu une variable et Prise est le champ de ma requete tiré de la table T_PRISE
J'ai juste besoin d'une confirmation que le code est bon car je doute sur les [ ]
merci :-)
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 16:16
28 mars 2007 à 16:16
Je n'ai pas pour habitude de dire ce que les gens veulent entendre :-)
Ici, tu veux mettre dans 'var' la valeur du champ "Prise" de la table/requête "R_ESSAI" lorsque "Prise" a la même valeur que le champ "Resultat" de la table "R_ESSAI" (champ qui ne doit pas exister, je suppose), donc la valeur n'est pas trop bien précisée !!!
Je mettrais plutôt :
Ici, tu veux mettre dans 'var' la valeur du champ "Prise" de la table/requête "R_ESSAI" lorsque "Prise" a la même valeur que le champ "Resultat" de la table "R_ESSAI" (champ qui ne doit pas exister, je suppose), donc la valeur n'est pas trop bien précisée !!!
Je mettrais plutôt :
var = DLookup("[Prise]", "R_ESSAI", "[Prise] = '" & Resultat.Value &"'")ou Resultat.TextSachant que les [] ne sont obligatoires pour ACCESS que lorsque les noms contiennent des espaces...
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 16:24
28 mars 2007 à 16:24
Lol et, entre nous, c'est bien de ne pas dire aux gens ce qu'ils veulent entendre !! :p
ba ne fait R_ESSAI n'est pas une table mais une requete que j'ai créée spécialement pour cette etape. Et le champ Resultat n'est contenu dans aucune table et/ou requete, c'est simplement le nom de la zone de texte où apparai le resultat de la varaible Calcul de mon fromulaire et c'est ce que je veux comparer : comparer le champ Prise de la table T_PRISE (ou plutot de la requete R_ESSAI) avec la variable calcul stockées dans la zone de texte Resultat
ba ne fait R_ESSAI n'est pas une table mais une requete que j'ai créée spécialement pour cette etape. Et le champ Resultat n'est contenu dans aucune table et/ou requete, c'est simplement le nom de la zone de texte où apparai le resultat de la varaible Calcul de mon fromulaire et c'est ce que je veux comparer : comparer le champ Prise de la table T_PRISE (ou plutot de la requete R_ESSAI) avec la variable calcul stockées dans la zone de texte Resultat
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2023
3 308
28 mars 2007 à 16:30
28 mars 2007 à 16:30
Je n'ai rien dit d'autre, j'ai interprété par rapport au code que j'ai vu...
mat67000
Messages postés
401
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
10 décembre 2019
13
28 mars 2007 à 16:34
28 mars 2007 à 16:34
bien sur on est d'accord Blux.
Je voulais simplement récapituler afin qu'on soit d'accord tous les deux :-)
J'ai testé ta solution :
et cela fonctionne aussi, donc je vais laisser ça car ça me parait beaucoup plus propre !!
je clos le topic et un sincère merci à toi. Ca fait deux fois que tu m'aides et deux fois que j'arrive à ce que je veux grace à toi donc MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI !!!!
ouppsss désolé pour le flood :p
merci encore !!
Je voulais simplement récapituler afin qu'on soit d'accord tous les deux :-)
J'ai testé ta solution :
var = DLookup("[Prise]", "R_ESSAI", "[Prise] = '" & Resultat.Value &"'")
et cela fonctionne aussi, donc je vais laisser ça car ça me parait beaucoup plus propre !!
je clos le topic et un sincère merci à toi. Ca fait deux fois que tu m'aides et deux fois que j'arrive à ce que je veux grace à toi donc MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI !!!!
ouppsss désolé pour le flood :p
merci encore !!