Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1310 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Requete modifier valeur d'un champ sous access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete modifier valeur d'un champ sous access

n°1953529
jph71390
Posté le 29-12-2009 à 00:03:36  profilanswer
 

Bonjour,
Je suis sur access que depuis une semaine et je suis sur un petit projet et je suis confronter a une difficulté de puis 2 jours. je dispose d'une table prêt ( à trois champ : id-prêt, id-utilisateur, id-tiers, montant et date) et d'un formulaire qui me permet de modifier ces différents champs.
 
Donc je voulais au départ faire une liste déroulante de recherche qui affiche les différents champ l utilisateur choisi l'un d'eux, cette liste retourne l' id-prêt, sa j y suis arriver. A
 
Après sus mon formulaire j ai 4 autres champs qui me permettent de rentrer les nouvelles valeurs pour id-utilisateur, id-tiers, montant et date et la je voudrais que l 'utilisateur n'est plus qu'a appuyer sur le bouton modifier pour que les champ soit automatiquement modifier et c la que je tourne en rond.
voici mes différentes tentatives :
1)
Dim req As String
Dim rs As Recordset
Dim mabase As Database
Set mabase = CurrentDb()
' Exécution de la requête
req = "Update PRÊT Set PRÊT.IDENTIFIANT_TIERS = '" & txtNomTier & "', PRÊT.IDENTIFIANT_UTILISATEUR = '" & ValeurNumUtilisateur & "', PRÊT.MONTANT_PRÊT = '" & txtMontantAvoir & "', PRÊT.DATE_PRÊT = '" & txtDateAvoir & "' Where PRÊT.IDENTIFIANT_PRÊT = '" & txtNumAvoir & "'"
Set rs = mabase.OpenRecordset(req)
 
2)
Dim sdl As String
Dim rs As DAO.Recordset
sql = "Update PRÊT Set PRÊT.IDENTIFIANT_TIERS = '" & txtNomTier & "', PRÊT.IDENTIFIANT_UTILISATEUR = '" & ValeurNumUtilisateur & "', PRÊT.MONTANT_PRÊT = '" & txtMontantAvoir & "', PRÊT.DATE_PRÊT = '" & txtDateAvoir & "' Where PRÊT.IDENTIFIANT_PRÊT = '" & txtNumAvoir & "';"
Set rs = CurrentDb.OpenRecordset(sql)
 
3)
Set db = CurrentDb
Set req = db.OpenRecordset("PRÊT" )
req.Edit
req("IDENTIFIANT_TIERS" ) = txtNomTier
req("IDENTIFIANT_UTILISATEUR" ) = ValeurNumUtilisateur
req("MONTANT_PRÊT" ) = txtMontantAvoir
req("DATE_PRÊT" ) = txtDateAvoir
req.Update
req.Close
 
Avec cette dernière méthode j'arrive a faire un mise jour mais sur la première ligne de ma table je n'arrive pas a lui dire d'aller à l'id-prêt qui retourné par la liste de recherche
 
 
 
Sinon J'ai effectuer une recherche avant sur le forum et j ai trouver ceci  
 
   1. Set cnx = New ADODB.Connection
   2. Set cmd = New ADODB.Command
   3.
   4. cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; '''Data Source=D:\Mes documents\EPSI\AP2\AP3-2002.mdb"
   5. cnx.Open
   6.
   7. sql = "UPDATE PROFESSEUR SET mdp_prof = "Update PRÊT Set PRÊT.IDENTIFIANT_TIERS = '" & txtNomTier & "', PRÊT.IDENTIFIANT_UTILISATEUR = '" & ValeurNumUtilisateur & "', PRÊT.MONTANT_PRÊT = '" & txtMontantAvoir & "', PRÊT.DATE_PRÊT = '" & txtDateAvoir & "' Where PRÊT.IDENTIFIANT_PRÊT = '" & txtNumAvoir & "'"
   8.    
   9. cmd.CommandText = sql
  10. cmd.ActiveConnection = cnx
  11. cmd.Execute
 
Mais dans mon cas sa ne fonctionne pas car j ai deja fait le lien des tables avant donc je ne sais quoi mettre ?? S'il vous plait pouvez vous m'aider
 
 
 
Cordialement merci de votre aide
jph

mood
Publicité
Posté le 29-12-2009 à 00:03:36  profilanswer
 

n°1953810
billgatesa​nonym
Posté le 30-12-2009 à 00:25:27  profilanswer
 

La dernière méthode n'est pas du VBA, donc je crois que cela ne vous conviendra pas, car il semble que vous vouliez faire cela en VBA.
 
J'ai fait très souvent des update et cela marche bien avec l'exemple ci-dessous que vous pourrez adapter à votre cas :

Dim SQL_line As String, s As String
 
SQL_line = "UPDATE table1 " & _
            "   SET col2 = '" & toto_chaine & "'"
SQL_line = SQL_line & " WHERE col_key = "& CStr(titi_nombre) & ";"
' MsgBox (SQL_line) ' debug
DoCmd.SetWarnings False
DoCmd.RunSQL SQL_line

La ligne mise en commentaire ' MsgBox (SQL_line) est utile pour voir la requête (en enlevant l'apostrophe initiale) si ça ne marche pas.

n°1954064
otobox
Maison fondée en 2005
Posté le 30-12-2009 à 19:12:56  profilanswer
 

Ton formulaire n'est pas lié à une table ? Tu pourrais te servir des assistants. Ca me semble être un problème basique que tu prends de travers...


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Requete modifier valeur d'un champ sous access

 

Sujets relatifs
Erreur Requête basiquecomparaison de valeur sur VBA
Interdire saisie de doublons dans AccessErreur d'une requéte trés trés simple
[ACCESS 2003] Numero automatique genere "manuellement"pb:récupéré le résultat d'une requéte
Résultats d'une requête incompréhensibles[Acc 2000] Requete ok mais recordset vide
[Access] Remettre les menus[Access] Double clé etrangere vers une meme clé primaire
Plus de sujets relatifs à : Requete modifier valeur d'un champ sous access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR