Requete modifier valeur d'un champ sous access

Requete modifier valeur d'un champ sous access - VB/VBA/VBS - Programmation

Marsh Posté le 29-12-2009 à 00:03:36    

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

Reply

Marsh Posté le 29-12-2009 à 00:03:36   

Reply

Marsh Posté le 30-12-2009 à 00:25:27    

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.

Reply

Marsh Posté le 30-12-2009 à 19:12:56    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed