Requête

Résolu
gaudian Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   -  
 rmed19 -
Bonjour,

Je souhaiterai récupérer le nom d'une de mes colonnes de la table tb_transfert_depotage

Je voudrais remplacer NumOperation par le nom de la colonne lui-correspondant avec si possible RS1.Quelque chose

voici mon bout de code pour vous aider

Set DB1 = DBEngine(0)(0)
  Set RS1 = DB1.OpenRecordset("SELECT * FROM tb_transfert_depotage")
 Set RS2 = DB1.OpenRecordset("SELECT * FROM tb_Sauvegarde_NumOperation_Transfert") 
  
  RS1.MoveFirst   'tb_transfert_depotage
  RS2.MoveFirst   'tb_Sauvegarde_NumOperation_Transfert
  
  Do Until RS1.EOF
      If Trim(RS1.Fields("NumOperation")) <> Trim(RS2.Fields("NumOperationTransfert")) Then
            If Trim(RS1.Fields("recoup_used")) = "a" Then
                  
                  SQL = "UPDATE tb_transfert_depotage " & _
                        "SET recoup_used = 'non' " & _
                        "WHERE (" & NumOperation &") & "=" & Trim(RS1.Fields("NumOperation")) & ")"

  
                  DoCmd.SetWarnings False
                  MsgBox SQL
                  DoCmd.RunSQL SQL
  
                  'Ensuite on passe à l'enregistrement suivant
                  RS2.MoveNext
            End If
          ElseIf Trim(RS1.Fields("NumOperation")) = Trim(RS2.Fields("NumOperationTransfert")) Then
            If Trim(RS1.Fields("recoup_used")) = "a" Then
                  
                  SQL = "UPDATE tb_transfert_depotage " & _
                        "SET recoup_used = 'oui' " & _
                        "WHERE (" & NumOperation &") & "=" & Trim(RS1.Fields("NumOperation")) & ")"

  
                  DoCmd.SetWarnings False
                  MsgBox SQL
                  DoCmd.RunSQL SQL
  
                  'Ensuite on passe à l'enregistrement suivant
                  RS2.MoveNext
            End If
          
      End If
      RS1.MoveNext
  Loop
  
  RS2.Close
  RS1.Close


Merci d'avance

5 réponses

gaudian Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   3
 
C'est bon j'ai trouvé

il fallait mettre

SQL = "UPDATE tb_transfert_depotage " & _
                        "SET recoup_used = 'non' " & _
                        "WHERE (" & RS1.Fields("NumOperation").Name&") & "=" & Trim(RS1.Fields("NumOperation")) & ")"



Maintenant j'ai une erreur qui me dit
Type de données incompatible dans l'expression du critère

Je ne comprend pas pourquoi car se sont tous les 2 des chaînes de caractères

Si quelqu'un peut m'aider c'est avec grand plaisir
0
cheer Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

l'erreur peut ne pas venir de ton champ numOperation mais de "recoup_used". Il est de quel type ce champ ?
0
gaudian Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   3
 
C'est bon ça fonctionne maintenant

Les 2 champs étaient du même type String
0
elkas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à tous!
J'ai une BD Mysql avec une table client ayant les champs 'ID_client' qui s'autoincrimente, 'numero_client' qui est tjrs égal à 'ID_client','nom','prenom' etc.Là j'ai supprimé un enregistrement qui n'était pas utile,du coup il ya un decalage ds l'ordre des numéros:'ID_client' n'est plus le même que 'numero_client' et ça porte maintenant confusion dans l'affichage sur l'interface.Il faut donc une mise à jour de la table pour que tout revienne dans l'ordre càd avoir 'ID_client'='numero_client'.Est ce que quelqu'un pourrait m'aider à écrire la requete de mise à jour de la table?Je sais que c'est simple mais...je ne m'y connais pas trop.Aussi je ne sais pas vraiment si je me suis bien fait comprendre!Merci d'avance de votre aide.
0
cheer Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Elkas,

ce n'est surement pas la meilleure façon de s'y prendre car si tu effaces un autre enregistrement tu vas devoir recommencer...

Essaye de nous expliquer ce que tu veux faire et on saura comment t'aider.

A bientôt
0

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

Posez votre question
rmed19
 
tout simplement apres la suppression ajout ce code :

$query = "OPTIMIZE TABLE plan10";
mysql_query($query);
0