[access] ajout d'enregistrement requete

Fermé
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 - 30 mars 2007 à 16:44
 Apprenti - 28 mars 2008 à 14:28
salut a tous

voila ce que je veut faire
a partir d'un formulaire ou je remplit des champ textes (nom,prenom,service) lorseque j'appui sur un bouton ajout que ca me creéé un enregistrement dans ma table utilisateur

voila mon code


Sql = "INSERT INTO Utilisateurs ( Nom, Prenom, Service )"
Sql = Sql & " VALUES (""" & Form_ajout!txtnom & """, """ & Form_ajout!txtprenom & """, """ & Form_ajout!lstservice & """)"

DoCmd.DeleteObject acQuery, "confirmationajout"
CurrentDb.CreateQueryDef "confirmationajout", Sql

Set Qry = CurrentDb.QueryDefs("confirmationajout")


jusqu'ici ca marche bien
ca la creer et quand je lance la requete comfirmajout que j'ai creer si dessus ca me créé un enregistrement
Mais quand je veut la lancer automatiquement dans VBa

Set rs = Qry.OpenRecordset

Set Qry = Nothing
Set rs = Nothing

la il ni veut pas

croyez vous que cela vienne des messages d'access
genre "vous etes sur le point d'ajouter un enregistrement etes vous sur? "
Si oui dite moi comment les annulé

Merci a ceux qui m'on lu
et merci d'avance pour votre aide

8 réponses

blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
30 mars 2007 à 17:05
Salut,

il y a beaucoup mieux pour ajouter un record.
Dim MaTable as RecordSet
Set MaTable = CurrentDb.OpenRecordset("Utiisateurs", dbOpenDynaset)
On Error Resume Next
With MaTable
    .AddNew
    !Nom = Form_ajout!txtnom
    !Prenom = Form_ajout!txtprenom
    !Service = Form_ajout!lstservice
    .Update
    .Requery
End With
If Err.Number <> 0 Then
    MsgBox Err.Description, , Err.Number
    GoTo Fin:
End If
MaTable.Close
Set MaTable = Nothing
Fin:
End Sub
Ca te fait pas de vilains messages d'ajout (comme ça, tu peux les gérer toi-même...)
5
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
2 avril 2007 à 11:04
Merci Blux g choisi la methode bourin ca marche comme il faut
merci de ton aide
1
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
2 avril 2007 à 08:53
salut

Merci c'est cool mais il y a un petit probleme il me dit qu'il y a une incompatibilité de type et il me surligne cette ligne

Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
0
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
2 avril 2007 à 10:13
Soit il te manque une référence à DAO (menu outils/références dans la fenêtre de code, cocher les 'manquantes'), soit tu ne mets pas de type à matable (Dim MaTable), ça devrait passer, mais c'est plus bourrin !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
2 avril 2007 à 11:19
Regarde quand même les histoires de références, un jour ou l'autre, tu vas tomber dessus sans contournement possible...
0
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
2 avril 2007 à 11:47
oui je m'en suis deja servi mais depuis le debut je ne declare aucune variables je c que ce n'est pas bien mais vu que je ne voi pas la difference
en tout cas merci de tes conseils
0
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
2 avril 2007 à 12:39
Ca prend (beaucoup) plus de place en mémoire, c'est pas (trop) bien géré, pis c'est pas beau...
0
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
5 avril 2007 à 15:04
meme operation mais pour supprimé un enregistrement
0
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
5 avril 2007 à 15:54
.delete après avoir trouvé le bon record en parcourant le recordset avec .movenext ou un positionnement par index...
0
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
6 avril 2007 à 09:22
salut et merci de ton aide

en fait ce qu'il faut que je fasse c'est la meme chose que pour ajouter maisa la place de .addnew il faut que je mette .delete
c'est ca
0
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
6 avril 2007 à 09:25
Faut quand même se placer sur le record à supprimer...
0
adelzeg Messages postés 1 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 4 juillet 2007
4 juil. 2007 à 18:10
bonjour,

j ai un probleme avec ACCESS. en faite j ai une table avec des codepart identiques pour des dates différentes.
Je voudrais sélectionner pour chaque codepart la derniere date.

c urgent svp
-4
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
4 juil. 2007 à 22:06
Salut,

merci de créer un nouveau message, celui-ci étant hors sujet pour ce post...
0
Bonjour,
Voulez-vous m'aider à ajouter des enregistrements sur ma base de données !
-6