Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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!

#31 Wed 19 October 2011 12: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

Salut,

Méthode 1 fonctionne en visual basic mais cela le fait sur l'ensemble du champ, cela ne fonctionne pas sur une sélection


Peux tu préciser? Quelle méthode celà m'intéresse
A+
Joël

Hors ligne

 

#32 Wed 19 October 2011 13:12

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 méthode donnée par Bérangère dont le lien se trouve ici : http://support.esri.com/en/knowledgebas … tail/25394
Un script est donné (le copier-coller), puis il faut mettre à jour le shp et ensuite exécuter le script. Résultat les valeurs nulles ont bien un <Nul> sur l'ensemble du champ mais non sur une sélection comme je le voudrais.

Hors ligne

 

#33 Wed 19 October 2011 13:34

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

Tu veux parler de ceci:

Code:

Option Explicit



Public Sub SetNull()



Dim pDispTab As IDisplayTable

Dim pMXD As IMxDocument

Dim pTable As ITable

Dim pCursor As ICursor

Dim pRow As IRow



Set pMXD = ThisDocument

Set pDispTab = pMXD.SelectedItem

Set pTable = pDispTab.DisplayTable

Set pCursor = pTable.Search(Nothing, False)

Set pRow = pCursor.NextRow

Do While Not pRow Is Nothing

'enter the name of the field below

pRow.Value(pTable.Fields.FindField("FieldName")) = Null 

pRow.Store

Set pRow = pCursor.NextRow

Loop



End Sub

Mais ceci s'utilise dans l'editeur VB et non avec la calculette.
Ce qui m'etonne c'est que cette ligne stipule bien que le calcule s'effectue sur une sélection:

Code:

Set pDispTab = pMXD.SelectedItem

Comme je le faisais remarquer sur la page 1 (J'ai des problèmes avec le "Else" (dans la calculette) et j'ai aussi une 9.1  wink .
Donc j'enlève le Else et celà fonctionne habituellement (sur mes codes)

Hors ligne

 

#34 Wed 19 October 2011 13:41

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

Rien ne t'empêche d'essayer ceci:

Code:

Option Explicit



Public Sub SetNull()



Dim pDispTab As IDisplayTable

Dim pMXD As IMxDocument

Dim pTable As ITable

Dim pCursor As ICursor

Dim pRow As IRow



Set pMXD = ThisDocument

Set pDispTab = pMXD.SelectedItem

Set pTable = pDispTab.DisplayTable

Set pCursor = pTable.Search(Nothing, False)

Set pRow = pCursor.NextRow

Do While Not pRow Is Nothing

'enter the name of the field below
If pRow.Value(pTable.FindField("FieldName")) = "00:00:00" Then
pRow.Value(pTable.Fields.FindField("FieldName")) = Null 

pRow.Store

Set pRow = pCursor.NextRow

Loop



End Sub

J'ai ajouter ceci --> If pRow.Value(pTable.FindField("FieldName")) = "00:00:00" Then

Hors ligne

 

#35 Wed 19 October 2011 13:56

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 je l'ai déjà fait remarquer le problème n'est plus faire remplacer "00:00:00" par <Nul> mais une sélection de valeurs de dates par <Nul>

Hors ligne

 

#36 Wed 19 October 2011 15:00

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

Code:

mais une sélection de valeurs de dates par <Nul>

Avec une requête dans le code --> quel est ton critère de sélection?

Hors ligne

 

#37 Wed 19 October 2011 15:02

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

Le critère de sélection se fait en fonction d'un autre champ

Hors ligne

 

#38 Wed 19 October 2011 15:22

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

Tu veux passer par la calculette ou l'editeur VB?
Si Calculette --> Selection --> sélection par attribut --> Requête sur ton autre champ
--> Ouvrir table attributaire --> cliquer sur "sélectionnés" puis calcul sur le champ désiré.
Avec l'éditeur VB --> Ajouter au code la requête de type -->

Code:

Dim RequeteSQL As String
    
    RequeteSQL = "Select * from etc ...."
          
    DoCmd.RunSQL RequeteSQL

Hors ligne

 

#39 Wed 19 October 2011 15:33

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

Là, je suis un peu perdu. Je sélectionne,  dans mon champ 1, à partir d'un autre champ 2, une sélection de valeurs de dates . Ensuite j'utilise le VB Script de Bérangère pour remplacer les dates sélectionnées du champ 1 par <Nul>, mais cela le fait pour l'ensemble du champ 1.
Voilà le souci.

Hors ligne

 

#40 Wed 19 October 2011 15:52

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

Normalement si tu as fais une sélection avec --> Sélection --> Sélection par attribut et que tu as cliquer sur sélectionnés dans ta table attributaire tu n'as pas besoin d'utiliser la calculette en mode avancé.
La calculette en mode normale suffit --> tu écris "Null" et celà devrait fonctionner --> les enregistrements sélectionnés devraient se mettre à Null
Je viens de faire un essais et celà fonctionne chez moi avec ton échantillon Tes2
A+
Joël

Hors ligne

 

#41 Thu 20 October 2011 08: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

Désolé, mais en mettant "Null" sans le mode avancé cela ne fonctionne pas.

Hors ligne

 

#42 Thu 20 October 2011 08:50

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

Est que tu entres "Null" ou Null?
car chez moi avec Null ça marche

Hors ligne

 

#43 Thu 20 October 2011 08:57

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 mets null dans le champ test, qui est un champ de type date, je le rappelle.

Hors ligne

 

#44 Thu 20 October 2011 09:34

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 fais un essais sur ton échantillon "test2" comme je te l'ai dis et ça marche.
Volià comment j'ai procédé:
J'ai ajouté des entités graphiques qui se sont retrouvés avec 00:00:00 dans le champ test puis j'ai sélectionné manuellement ces nouvelles entités
celà peut être fait par une requête sur ton autre champ.
J'ai cliquer sur "sélectionnés" dans la table attributaire pour n'avoir que les entités que j'ai sélectionnées.
Puis avec la calculette sur le champ Test j'ai mis --> Null et j'ai récupéré --> <Null> dans le champ test des entités que j'avais sélectionnés.

Hors ligne

 

#45 Thu 20 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

Je suis content pour toi mais pas pour moi. J'ai toujours ce problème... Problèmes de paramétrages d'arcgis, de windows XP?

Hors ligne

 

#46 Thu 20 October 2011 16:04

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

Berangere a écrit:

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.


As tu essayer d'ajouter la couche Tes2 que bérangère à calculer?
Pour voir si ta version d'arcgis accepte cette couche en l'état.
Si celà fonctionne rien ne t'empêche de poster ta couche (si ce n'est pas confidentielle bien entendu et qu'elle ne soit pas trop volumineuse) on pourra te faire la modif
A+
Joël

Hors ligne

 

#47 Fri 21 October 2011 09: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

Je vous remercie de votre sollicitude, mais je me suis débrouillé pour la faire moi-même en manuel. J'espère qu'avec tous les tuyaux que vous m'avez passé, je pourrai le faire sur une autre version que la mienne si le cas se présente.

Hors ligne

 

Pied de page des forums

Powered by FluxBB