banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 04 October 2011 09:47

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Bonjour,

J'ai un souci avec le format des dates. J'ai un champ date de relevés dans lequel les valeurs nulles sont représentées de cette façon : 00:00:00. Or il faudrait que le valeurs nulles soient représentées de cette façon : <Nul>
Quelqu'un pourrait m'aiguiller?
Merci.

Hors ligne

 

#2 Wed 12 October 2011 17:59

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

J'ai un souci avec le format des dates. J'ai un champ date de relevés dans lequel les valeurs nulles sont représentées de cette façon : 00:00:00. Or il faudrait que le valeurs nulles soient représentées de cette façon : <Nul>

Hors ligne

 

#3 Thu 13 October 2011 08:00

Arnaud Elkaim
Participant occasionnel
Lieu: Pau
Date d'inscription: 5 Sep 2005
Messages: 43

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Bonjour.

Il faut faire un champ calculé et mettre nom du champ = null

Cordialement

Arnaud Elkaim

Hors ligne

 

#4 Thu 13 October 2011 12:13

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Salut,

Si ton champ est un champ Date et qu'il accepte le "<Null>" à vérifier wink
Alors avec la calculette en mode avancé:

Code:

Dim Acalculer as Date
Acalculer=[NomduChampaCalculer]
If Acalculer like "00:00:00" then
Acalculer = "<Null>"
End If

Mettre Acalculer dans le champ en dessous du code

A essayer smile
A+
Joël

Hors ligne

 

#5 Thu 13 October 2011 13:29

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Si ton champ est un champ Date et qu'il accepte le "<Null>" à vérifier >>> Comment le vérifier?
Sinon j'ai testé ta formule, sans succès.

Merci.

Hors ligne

 

#6 Thu 13 October 2011 13:32

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Bonjour,
Normalement, la solution d'Arnaud Elkaim doit fonctionner. L'as-tu testée?

Hors ligne

 

#7 Thu 13 October 2011 13:42

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

la solution d'Arnaud Elkaim ne fonctionne pas non plus que ce soit avec 'Null', "Null", 'Nul', "Nul", "<Null>", '<Null>', "<Nul>" ou '<Nul>'

Hors ligne

 

#8 Thu 13 October 2011 14:01

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Si ton champ est un champ Date et qu'il accepte le "<Null>" à vérifier >>> Comment le vérifier?


En essayant de rentrer <null> sur un enregistrement.

Sinon j'ai testé ta formule, sans succès.


Tu as un message d'erreur?
Juste une petite question.
A quoi te sert cette colonne date?
Pourquoi ne pas passer en string, si ce n'est que du consultatif.
A+
Joël

Hors ligne

 

#9 Thu 13 October 2011 15:18

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Attention, je vois dans ta notation des guillemets. Il ne faut pas en mettre sur le mot. Tape null tout simplement. Si tu mets des guillemets, c'est normal qu'il ne l'accepte pas car il considère que tu souhaites entrer le mot "null" (string) et non la valeur Nulle ce qui est différent.

Dernière modification par Berangere (Thu 13 October 2011 15:19)

Hors ligne

 

#10 Thu 13 October 2011 17:07

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Ah oui !!!
Soit ceci en mode Date

Code:

Dim Acalculer as Date
Acalculer=[NomduChampaCalculer]
If Acalculer = 00:00:00 then
Acalculer = <Null>
End If

ou ceci en mode String

Code:

Dim Acalculer as String
Acalculer=[NomduChampaCalculer]
If Acalculer like "00:00:00" then
Acalculer = "<Null>"
End If

A+
Joël

Hors ligne

 

#11 Fri 14 October 2011 10:45

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

En fait le problème s'est posé autrement ce matin. Dans ce champ date, j'ai des dates que je veux supprimer de la base. Dans ce champ date, je mets donc 0 et cela me donne 00:00:00, or je voudrais que cela me donne <Nul>

Hors ligne

 

#12 Fri 14 October 2011 11:31

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Salut,

Comme je te l'ai demandé ci dessus:
Ton champ Date est il pour une consultation ou fait t'il parti d'un calcul pour un autre champ?
As tu essayé les codes ci dessus?
A+
Joël

Hors ligne

 

#13 Fri 14 October 2011 11:38

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Ce champ date est pour une consultation.

J'ai essayé tes deux codes, sans succès.

Hors ligne

 

#14 Fri 14 October 2011 12:18

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

J'ai essayé tes deux codes, sans succès.


En créant un champ Texte pour recevoir tes dates (2ème code)

Hors ligne

 

#15 Fri 14 October 2011 12:20

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Ce champ doit obligatoirement être un champ date.

Hors ligne

 

#16 Fri 14 October 2011 12:34

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Alors chez moi, je ne sais pas pourquoi la calculatrice n'a pas l'air d'apprécier que je déclare une variable, mais ce code fonctionne:

Code:

if [nomduchampacalculer] = #00:00:00# then
acalculer = NULL
else acalculer = [nomduchampacalculer] 
end if

A essayer en remplaçant "nomduchampacalculer par ton nom de champ et en mettant la valeur acalculer dans le champ en dessous du code.

Sinon tu peux peut être nous faire un imprime écran de ce que tu mets dans ta calculatrice?

Hors ligne

 

#17 Fri 14 October 2011 13:35

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Salut Berangere,

Bizarre, d'habitude quand j'utilise le "Else" la calculette me dis que j'ai une erreur VBA
si je l'enlève ou je le remplace par un "ElseIf" celà fonctionne.
Tu bosses su quelle version?
A+
Joël

Hors ligne

 

#18 Fri 14 October 2011 13:47

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Salut Joël,
Je travaille avec la version 10, mais avec la 9.3 cela fonctionnait aussi.

Hors ligne

 

#19 Fri 14 October 2011 13:50

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Non cela ne marche tjs pas.
Pour rappel, je dois remplacer des dates par la valeur <Nul>.
Dans ce cas, je dois remplacer la date 01/01/2001 par la valeur <Nul>
Comme je n'arrive pas à faire un imprime écran, je joins un fichier word de cet imprime écran des erreurs mentionnées.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#20 Fri 14 October 2011 14:49

vipere
Participant actif
Date d'inscription: 23 Jan 2008
Messages: 100

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Bonjour,

quel est le format de ta couche?
Fais bien attention car les SHP ne gèrent pas les valeurs "Null". Par défaut ArcGis met 00:00:00 dans une champ date non renseigné. (De même pour un champ numérique il mettra 0).
Mais si tu tiens tout de même à avoir des valeurs "NULL", il faut que tu copies les valeurs de ton champ date dans un champ texte en utilisant le second script de SpaceJo.

Sinon, il faut utiliser un format Geodatabase.

Vincent

Hors ligne

 

#21 Fri 14 October 2011 15:01

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Comme mon champ doit absolument être de type date, j'ai crée une géodatabase dans laquelle j'ai importé le shape en question.
Mais toujours sans succès (avec les différents codes proposés)...

Hors ligne

 

#22 Fri 14 October 2011 15:10

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Est-ce que tu as la possibilité de nous mettre ton fichier en pièce jointe si il n'est pas confidentiel?

Hors ligne

 

#23 Fri 14 October 2011 15:21

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Comment fait-on pour joindre un shape qui est composé de 6 éléments?

Hors ligne

 

#24 Fri 14 October 2011 15:24

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Tu crées un fichier ZIP

Hors ligne

 

#25 Fri 14 October 2011 15:46

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

re zip


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#26 Fri 14 October 2011 16:00

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Je viens de tester chez moi et je n'ai pas eu de problème en saisissant dans la calculatrice NULL (cf imprim écran et le fichier modifié).
Je ne sais pas quoi te dire.

Dernière modification par Berangere (Fri 14 October 2011 16:01)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#27 Fri 14 October 2011 16:01

vipere
Participant actif
Date d'inscription: 23 Jan 2008
Messages: 100

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

j'ai crée une géodatabase dans laquelle j'ai importé le shape en question


si tu as importé ton shp dans une FileGDB, tu crées un nouveau champ date, puis

Code:

if [champ_date] = "00:00:00" then
toto = null
else
toto = [champ_date]
end if

Hors ligne

 

#28 Tue 18 October 2011 08:43

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Je suis désolé, j'ai du partir tôt vendredi dernier et je ne suis revenu que ce matin.
Bérangère, toutes mes félicitations mais de mon côté cela ne fonctionne tjs pas. Pour info j'ai ArcMap 9.1 Build 722 licence ArcInfo

Hors ligne

 

#29 Wed 19 October 2011 08:49

Berangere
Participant occasionnel
Lieu: Gevrey-Chambertin
Date d'inscription: 5 Sep 2005
Messages: 36

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Peut être une piste ici : http://support.esri.com/en/knowledgebas … tail/25394
Cela ne concerne pas ta version mais à essayer quand même.
Une autre solution suggérée dans la même page est de cocher avancé dans la calculatrice, de saisir Null dans la deuxième zone de texte, sans code de script pre-logic.
J'ai l'impression qu'il y a souvent des "bugs" avec les valeurs nulles, je le constate même avec la version 10. Donc ça en est peut être un chez toi.
Dernière idée, passer directement par le dbf ou access si tes données sont dans une géodatabase  et effacer les valeurs présentes dans ta colonne. A la réouverture dans arcgis, tu dois avoir des valeurs <Null>

Hors ligne

 

#30 Wed 19 October 2011 12:01

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: Mettre la valeur <Nul> pour les valeurs sans date d'un champ date

Bérangère,

Méthode 1 fonctionne en visual basic mais cela le fait sur l'ensemble du champ, cela ne fonctionne pas sur une sélection
Méthode 2 ne fonctionne pas (Null dans la 2ème zone de texte)
Méthode 3 fonctionne (suppression sous Access) sur la table dans une géodatabase.
Merci pour tes précieux tuyaux, dommage seulement pour la 1ère méthode que cela ne fonctionne pas sur les sélections.

Mais ma méthode fonctionne aussi! Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, Suppr, .....

Hors ligne

 

Pied de page des forums

Powered by FluxBB