Un nouvel enregistrement sous Access2000
Fermé
Pitou
-
14 mai 2003 à 16:45
blux Messages postés 26556 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 décembre 2024 - 15 mai 2003 à 15:37
blux Messages postés 26556 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 décembre 2024 - 15 mai 2003 à 15:37
A voir également:
- Un nouvel enregistrement sous Access2000
- Nouvel outlook - Accueil - Mail
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Comment couper un enregistrement audio - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
7 réponses
blux
Messages postés
26556
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 décembre 2024
3 319
15 mai 2003 à 08:50
15 mai 2003 à 08:50
Salut,
ben faut faire du vba
Sur le bouton, il faut rajouter du code.
Genre :
Dim Db As Database
Dim Rs As Recordset
Set Db=CurrentDb
Set Rs = Db.OpenRecordset("matable", dbOpenDynaset)
With Rs
.AddNew
!champ1dematable = mavaleur1duformulaire
!champ2dematable = mavaleur2duformulaire
....
.Update
.Requery
End With
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Fin:
End Sub
Mais attention, il faudra annuler les modifs de l'enregistrement en cours (touche ESC) sinon, ACCESS considérera qu'il s'agit aussi d'une modif.
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
PS : ACCESS 2000, c'est pas bien, ACCESS 97, c'est mieux. Hein mon oeuf ?!
ben faut faire du vba
Sur le bouton, il faut rajouter du code.
Genre :
Dim Db As Database
Dim Rs As Recordset
Set Db=CurrentDb
Set Rs = Db.OpenRecordset("matable", dbOpenDynaset)
With Rs
.AddNew
!champ1dematable = mavaleur1duformulaire
!champ2dematable = mavaleur2duformulaire
....
.Update
.Requery
End With
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Fin:
End Sub
Mais attention, il faudra annuler les modifs de l'enregistrement en cours (touche ESC) sinon, ACCESS considérera qu'il s'agit aussi d'une modif.
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
PS : ACCESS 2000, c'est pas bien, ACCESS 97, c'est mieux. Hein mon oeuf ?!
Merci beaucoup de m'être venu en aide même si j'ai finalement résolu mon problème à l'aide d'une requête d'insertion (moins classe que le VB mais ça marche aussi). A la fin de ton message tu dis qu'il faut annuler les changements sur le formulaire pour qu'ils ne soient pas pris en comte et tu as tout a fait raison puisque je suis devant ce problème depuis ce matin. La touche Echap ne fonctionne pas et de toute façon j'aurai aimé savoir s'il n'était pas possible de le faire avec du code pour éviter à l'utilisateur des actions auxquelles il ne comprendrait pas grand chose. J'ai bien essayé avec un DoCmd. Close acForm, "mon formulaire", acSaveNo mais il garde quand même les infos en mémoire car je suis obligé de réouvrir le sous-formulaire pour alimenter les paramètres de ma requête... (ce qui est d'ailleurs un autre problème puisque je ne comprends pas non plus pourquoi la requête ne parvient pas à accéder aux champs du sous-formulaire alors qu'elle y arrive sur le formulaire le contenant). Voila ça fait beaucoup de choses et sûrement même trop donc je vais continuer à chercher de mon côté en esérant que tu ais le courage de répondre à une tartine pareille. Merci beaucoup
blux
Messages postés
26556
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 décembre 2024
3 319
15 mai 2003 à 14:22
15 mai 2003 à 14:22
vba, vba, vba... !!!
Tu pourrais prendre le problème autrement :
Tu as ton formulaire. Tu crées un bouton "dupliquer" qui lors de l'appui, crée un nouvel enregistrement dans ta base, se positionne dessus et permet à l'utilisateur d'en modifier certaines rubriques.
Avantage :
Ne touche pas à l'enregistrement initial (très important)
Inconvénient :
faut faire du vba :-)
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Tu pourrais prendre le problème autrement :
Tu as ton formulaire. Tu crées un bouton "dupliquer" qui lors de l'appui, crée un nouvel enregistrement dans ta base, se positionne dessus et permet à l'utilisateur d'en modifier certaines rubriques.
Avantage :
Ne touche pas à l'enregistrement initial (très important)
Inconvénient :
faut faire du vba :-)
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Je vois que tu es du genre rapide et efficace!!! 4h que je me prends la tête la dessus et tu me résous ça en 10mn j'en serai presque vexé! En tout cas je te remercies de nouveau et croit moi c'est sincère. Et puis si en passant t'as une idée sur le fait que mes requêtes n'arrivent à lire dans des sous-formulaires que lorsqu'ils sont ouvert indépendemment (c'est à dire seuls par moi à la main et non pas dans leur formulaire parent puisque dans ce cas les requêtes détectent ce formulaire parent mais pas le sous-formulaire) n'hésitent surtout pas :) Je suis saoulant mais grace à toi je vois le bout parce que en 1 mois 1/2 de travail sur access j'ai encore du mal je l'avoue. Et ne croit pas que le VBA m'effraie c'est juste que j'en suis rendu aux vieilles combines maisons pour faire marcher ce truc. Voila merci encore et peut-être à très bientôt (ne te sent quand même pas obligé de répondre si vite à chaque fois hein?)
A+
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
blux
Messages postés
26556
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 décembre 2024
3 319
15 mai 2003 à 15:04
15 mai 2003 à 15:04
C'est quoi que tu veux lire dans ta requête ?
C'est pour paramétrer un where ?
Pour atteindre le contenu d'une zone dans un formulaire, c'est :
forms.nomduformulaire.nomducontrole.value
pis dépêche-toi pour les questions, je suis en vacances ce soir et c'est pas sûr que je repasse sur le forum avant un moment... :-)
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
C'est pour paramétrer un where ?
Pour atteindre le contenu d'une zone dans un formulaire, c'est :
forms.nomduformulaire.nomducontrole.value
pis dépêche-toi pour les questions, je suis en vacances ce soir et c'est pas sûr que je repasse sur le forum avant un moment... :-)
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Tu m'étonnes que je fais vite... C'est dans mon intéret je crois! :)
Ma requête est censée récupérer les valeurs des champs du formulaire pour aller les insérer dans la table. Ce sont les "VALUES" du "INSERT" en fait. Et quand j'utilise la syntaxe Forms![nom du sous-formulaire]![nom du controle] il me répond que celui-ci n'est pas ouvert alors qu'il l'est. Par contre si j'utilise la même syntaxe pour un champ du formulaire contenant le sous-formulaire ça marche. Et ça marche aussi si j'ouvre le sous-formulaire tout seul. Voila. Je suis dans les temps?
Ma requête est censée récupérer les valeurs des champs du formulaire pour aller les insérer dans la table. Ce sont les "VALUES" du "INSERT" en fait. Et quand j'utilise la syntaxe Forms![nom du sous-formulaire]![nom du controle] il me répond que celui-ci n'est pas ouvert alors qu'il l'est. Par contre si j'utilise la même syntaxe pour un champ du formulaire contenant le sous-formulaire ça marche. Et ça marche aussi si j'ouvre le sous-formulaire tout seul. Voila. Je suis dans les temps?
blux
Messages postés
26556
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 décembre 2024
3 319
15 mai 2003 à 15:37
15 mai 2003 à 15:37
forms![nomduformulaireprincipal]![nomdusousformulaire]![nomducontroledans lesousformulaire].value ?
gniark, gniark, y'avait un piège :->
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
gniark, gniark, y'avait un piège :->
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"