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

VBA Access Discussion :

Remplacer les chaines vides (ZLS – Zero Lenght String) par des Null. [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Remplacer les chaines vides (ZLS – Zero Lenght String) par des Null.
    Bonjour a tous,

    J’aimerais savoir si il y existe un moyen simple pour remplacer les Chaines Vides par des NULL dans les tous champs de toutes mes tables de ma DDB.

    Je suis tombe sur le lien suivant:
    http://allenbrowne.com/bug-09.html
    Quand j’ai execute la fonction suivante, ca a effectivment change les proprietes REQUIRED et ALLOW ZERO LENGHT a No.
    Mais le probleme c’est que j’ai toujours les Chaines Vides dans mes tables.

    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
    Function FixZLS()
        Dim db As DAO.Database
        Dim tdf As DAO.TableDef
        Dim fld As DAO.Field
        Dim prp As DAO.Property
        Const conPropName = "AllowZeroLength"
        Const conPropValue = False
     
        Set db = CurrentDb()
        For Each tdf In db.TableDefs
            If (tdf.Attributes And dbSystemObject) = 0 Then
                If tdf.Name <> "Switchboard Items" Then
                    For Each fld In tdf.Fields
                        If fld.Properties(conPropName) Then
                            Debug.Print tdf.Name & "." & fld.Name
                            fld.Properties(conPropName) = conPropValue
                        End If
                    Next
                End If
            End If
        Next
     
        Set prp = Nothing
        Set fld = Nothing
        Set tdf = Nothing
        Set db = Nothing
    End Function

    Merci de m’aider.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 112
    Points : 5 237
    Points
    5 237
    Par défaut
    Bonsoir,

    Pourquoi ne pas simplement glisser un UPDATE entre les lignes 15 et 16 ? Il y a toutes les infos pour cela me semble-t-til...

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    Bonjour ,
    j'ai inserre le code suivant entre les lignes 15 et 16; ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    strSQL = "UPDATE " & "[" & tdf.Name & "]" & " SET " & _
    "[" & fld.Name & "]" & "=Null WHERE " & _
    "[" & fld.Name & "]" & " =''"
    'Debug.Print strSQL
     
    DB.Execute strSQL
    en fait, j'avais cru que le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fld.Properties(conPropName) = conPropValue
    suffisait a transformer/convertir les chaines vides en NULL.
    Grand merci pour ton aide.

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

Discussions similaires

  1. Remplacer les zones vides dans une matrice
    Par shan08 dans le forum Reports
    Réponses: 5
    Dernier message: 02/12/2013, 07h40
  2. Remplacer les champs vides par des 0
    Par feldi dans le forum PL/SQL
    Réponses: 8
    Dernier message: 16/11/2011, 20h56
  3. Réponses: 2
    Dernier message: 28/10/2010, 14h38
  4. [AC-2003] Jointure externe : remplacer les valeurs vide
    Par ElSpopo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/10/2010, 11h16
  5. [MySQL] problème sur les chaines vides
    Par mike_chti dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/09/2008, 22h43

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