Pages: 1 2
- Sujet précédent - Mettre la valeur <Nul> pour les valeurs sans date d'un champ date - Sujet suivant
#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 .
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
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
Pages: 1 2
- Sujet précédent - Mettre la valeur <Nul> pour les valeurs sans date d'un champ date - Sujet suivant