FORUM Tom's Hardware » Programmation » Autre » Répéter valeur en SQL Access
 

Répéter valeur en SQL Access

Il y a 309 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Répéter valeur en SQL Access
 
Plus d'informations

bonjour,
je suis débutant sous access.
Pour simplifier le probleme, disons que j'ai une table avec un champs "nom" et un champs numéro automatique.
Les champs "nom" sont parfois vides.
Je voudrais que les champs vides prennent la valeur du dernier champs non vide avant eux.
Concretement, j'ai:
ligne1: 1 - Dupont
ligne2: 2 - " "
ligne3: 3 - " "
ligne4: 4 - Durand
ligne5: 5 - " "
 
Je voudrais que les champs "nom" de la ligne 2 et 3 (qui sont donc vides) prennent la valeur "Dupont" et la ligne 5 "Durand"
 
J'essaie un peu au hasard un requête sql de ce type:
 
SELECT Table1.Nom
FROM Table1
IF Table1.Nom is not null
"var"=Table1.Nom
ELSE Table1.Nom="var"
;
 
Ca ne marche évidemment pas (erreur de syntaxe de la clause FROM), j'imagine que la syntaxe est bizarre, j'espère que ça donne toutefois une idée de ce que je voudrais.
Je ne sais pas si je peux définir une variable ainsi, si mon emploi de if - else est correct, etc.
Merci de votre aide!!!!

zeb
Plus d'informations

Non, c'est pas du SQL ça.
Essaye plutôt de voir la commande UPDATE.
 
Je n'ai plus l'habitude de faire avec ACCESS et je ne l'ai pas a disposition pour vérifier la syntaxe. (SQL est un langage bien normé : c'est trop facile, tous les SGBD utilise leur propre patois ).
 
J'ai vérifié sous INFORMIX.
 
Soit la ligne N, dont le nom est vide.
Quelle est le nom à prendre :
 

Code :
  1. SELECT Nom
  2. FROM   Table1
  3. WHERE  Num = ( SELECT MAX ( Num )
  4.                FROM   Table1
  5.                WHERE  Nom IS NOT NULL
  6.                  AND  Num < N )


 
Comment changer la valeur du nom de la ligne N de la table :
 

Code :
  1. UPDATE Table1
  2. SET    Nom = 'Nouveau nom'
  3. WHERE  Num = N


 
Comment résoudre le problème posé :
 

Code :
  1. UPDATE Table1
  2. SET    Nom = ( SELECT Nom
  3.                FROM   Table1
  4.                WHERE  Num = ( SELECT MAX ( Num )
  5.                               FROM   Table1
  6.                               WHERE  Nom IS NOT NULL
  7.                                 AND  Num < X.Num ) )
  8. from   Table1 X


 
Une bonne âme pour vérifier, voire adapter pour ACCESS...
 
enjoy!


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » Répéter valeur en SQL Access
 

Annonces Google
Publicité