Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaire pour corriger, ajouter et supprimer des données

4 réponses
Avatar
moromain
Bonjour,

J'ai cr=E9=E9 une s=E9rie d'onglet dans un formulaire.
Dans un onglet, j'ai une liste d=E9roulante (list1).
A partir d'une zone texte, je veux avoir la possibilit=E9 de renommer ou
d'ajouter une valeur dans le champs de list1.
Je tape mon texte dans la zone d=E9di=E9e, et je clique sur un bouton,
soit "Corriger", soit "Ajouter".
Dans un cas comme dans l'autre, =E7a ne marche pas ! J'ai suivi les
conseils de posts pr=E9c=E9dents, mais rien n'y fait.

Dans le cas d'une correction, le code est :
NomCorrige =3D Me.ZoneTexte.Value
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70

=3D> Ici, je n'arrive pas =E0 dire =E0 ACCESS que c'est telle ou telle
valeur de list1 (pr=E9alablement s=E9lectionn=E9e) qu'il faut modifier. Le
probl=E8me vient peut-=EAtre de l=E0.

Dans le cas d'un ajout le code est :
New =3D Me.ZoneText.Value
DoCmd.GoToRecord , New, acNewRec

=3D> Plus simple (a priori) que pr=E9c=E9demment, j'ai une erreur : Erreur
2489 : l'objet [texte entr=E9 dans la zone texte] n'est pas ouvert. Je
n'utilise pas de sous-formulaire. L'utilisation d'onglets
compliquerait-elle les op=E9rations ?

Je cherches =E0 faire la m=EAme op=E9ration avec Supprimer, et l=E0, ce n'e=
st
jamais la ligne s=E9lectionn=E9e qui est supprim=E9e. Je pr=E9cise que je
commence toujours =E0 partir des boutons cr=E9=E9s avec ACCESS, que je
modifie apr=E8s.

Des id=E9es ?
Merci

4 réponses

Avatar
Thierry (ze Titi)
Hello moromain !

Dans le cas d'une correction, le code est :
NomCorrige = Me.ZoneTexte.Value
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70


Je verrais plutôt une commande SQL du style:

DoCmd.RunSQL "UPDATE laTable SET leChamp='" & NomCorrige & "' WHERE leChamp='" & List1 & "'"
list1.Requery

Dans le cas d'un ajout le code est :
New = Me.ZoneText.Value
DoCmd.GoToRecord , New, acNewRec


Même principe que précédemment sauf qu'à la place d'un UPDATE, on fait un INSERT

DoCmd.RunSQL "INSERT INTO laTable(leChamp) VALUES('" & Me.ZoneText.Value & "')"
List1.Requery

A tester

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
moromain
Super ça marche.

Et pour supprimer une valeur, ça doit être un truc comme ça :
DoCmd.RunSQL "DELETE FROM table WHERE champs = '" & Me.ZoneText.Value
& "'"
(Doit y avoir une erreur de synthaxe)
Avatar
Thierry (ze Titi)
Super ça marche.
Rassurant... ;-)


Et pour supprimer une valeur, ça doit être un truc comme ça :
DoCmd.RunSQL "DELETE FROM table WHERE champs = '" & Me.ZoneText.Value
& "'"
(Doit y avoir une erreur de synthaxe)
DoCmd.RunSQL "DELETE * FROM table WHERE champs = '" & Me.ZoneText.Value & "'"


peut-être ?

Message du jeudi 25/10/2007

Super ça marche.

Et pour supprimer une valeur, ça doit être un truc comme ça :
DoCmd.RunSQL "DELETE FROM table WHERE champs = '" & Me.ZoneText.Value
& "'"
(Doit y avoir une erreur de synthaxe)


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
moromain
La synthaxe pour supprimer est :
DoCmd.RunSQL "DELETE FROM table WHERE champs = """ & Me.ZoneText.Value
& """

Ce n'était qu'une histoire de ' et de " !