IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

remplacer les valeurs nulles dans une table


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    août 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2006
    Messages : 118
    Points : 65
    Points
    65
    Par défaut remplacer les valeurs nulles dans une table
    j'ai une table qui contient des milliers d'enregistrements
    l'un des champs de cette table contient des valeurs réelles aléatoires parmis lesquelles 0
    ce que je souhaite c'est parcourir ce champ le long de la table et remplacer la valeur nulle qu'on rencontre à chaque fois par la valeur qui la précède (qui sera automatiquement non nulle bein sur)
    comment dois je le faire ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2005
    Messages : 3 419
    Points : 4 227
    Points
    4 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Function majour(table, champ, valeur As Variant) As Boolean
    Dim mabase As DAO.Database
    Dim comp As Variant
    Dim rec As DAO.Recordset
    Set mabase = CurrentDb()
    Set rec = mabase.OpenRecordset("select * from " & table)
    rec.MoveFirst
    If VarType(valeur) = vbString Then comp = "" Else comp = 0
    Do While Not rec.EOF
    If IsNull(rec(champ)) Or IsEmpty(rec(champ)) Or rec(champ) = comp Then
    rec.Edit
    rec(champ) = valeur
    rec.Update
    Else: valeur = rec(champ)
    End If
    rec.MoveNext
    Loop
    majour = True
    End Function
    Elle est pas belle la vie ?

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 3 904
    Points : 6 670
    Points
    6 670
    Par défaut
    Déjà bonjour, c'est plus urbain ...

    ensuite, il faut impérativement passer par une fonction qui va parcourir un recordset ... n'hésite pas à faire des recherches dans le forum ou la FAQ pour ça.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    août 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2006
    Messages : 118
    Points : 65
    Points
    65
    Par défaut
    voila j'ai utilisé lecode suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Public Function majour(table As Variant, champ As Variant)
     
    Dim mabase As DAO.Database
    Dim rec As DAO.Recordset
    Dim cours As Double
     
    Set mabase = CurrentDb()
    Set rec = mabase.OpenRecordset("select " & champ & " from " & table)
    rec.MoveFirst
     
    Do While Not rec.EOF
    If rec.Fields(champ) <> 0 Then
    cours = rec.Fields(champ)
    rec.MoveNext
    Else
    rec.Edit
    rec.Fields(champ) = cours
    rec.Update
    rec.MoveNext
    End If
    Loop
     
    'Libération des objets
    rec.Close
    mabase.Close
    Set rec = Nothing
    Set mabase = Nothing
     
    End Function
    merci c résolu

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2005
    Messages : 3 419
    Points : 4 227
    Points
    4 227
    Par défaut
    sauf si on commence par 10 0
    Elle est pas belle la vie ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer les valeurs manquantes dans une table SAS
    Par the_programmer dans le forum SAS Base
    Réponses: 1
    Dernier message: 04/03/2013, 11h28
  2. valeur 'null' dans une table
    Par le_celebre_oxmo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/11/2007, 16h03
  3. comment remplacer les resultat NULL dans une requete HQL
    Par Rambler dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/08/2007, 17h55
  4. Valeur null dans une table access 2000
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/11/2006, 11h16
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo