Se connecter avec
S'enregistrer | Connectez-vous

Répéter valeur en SQL Access

Dernière réponse : dans Programmation

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!!!!

Autres pages sur : repeter valeur sql access

Lassé par la pub ? Créez un compte
Expert Programmation

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 :

  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 :

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


Comment résoudre le problème posé :

  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!
Lassé par la pub ? Créez un compte