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 Fri 07 April 2000 13:28

Frédéric Férant
Invité

[ArcView 3.x] Numéroter un champ ID

rehello.

encore moi !

J'ai un petit probleme (1 de +) :
Comment creer une colonne Id (nombre identifiant) dans laquelle la premiere valeur est 1 et la derniere 5667 ?
J'ai deja cree le champ (field !) Id dans la table , mais il faut le remplir.

a merci.
defre
ps: p'tetre une ? pour toi Christof' B

 

#2 Fri 07 April 2000 13:31

William Huber
Invité

Re: [ArcView 3.x] Numéroter un champ ID

Bonjour,

L'expression rec , dans le texte du field calculator , sera substituee par 0, puis 1, 2, etc.
Ainsi, rec 1 sert a creer la suite 1, 2, ..., 5667.  Il ne faut pas utiliser un script pour cela.

A plus,
Bill Huber
www.quantdec.com

 

#3 Fri 07 April 2000 13:32

Jenny Dupuy
Invité

Re: [ArcView 3.x] Numéroter un champ ID

Bonjour,

Voici un script qui permet de faire ce que tu veux. Charge le script en piece jointe ou recopies ce qui suit dans un script (a compiler) :

J'espere que ca peux t'aider.

Code:

'Permet de numeroter chaque enregistrement
'Auteur : Jenny Dupuy
'Date : 07/04/00

'Precisions :
'************
'Il faut entrer le nom exact de la table attributaire et le premier chiffre de la serie
'Quand l'execution du script est terminee, sauvegarder les changements (Stop editing)

theProject = av.GetProject
theNomTable = msgBox.Input( Entrer le nom de la table: , , Attributes of )
theNom = theNomTable.asString
theTable = theProject.FindDoc(theNom)

if (theTable = nil) then
  msgbox.warning( Cette table n'existe pas , )
else
  theVTab = theTable.GetVTab
  theFieldID = theVTab.FindField( ID )
  if (theFieldID = nil) then
    msgbox.Warning( Il faut creer le champ ID , )
  else
    theVTab.SetEditable(true)
    theNumber = msgBox.Input( Entrer le premier chiffre: , , 1 )
    theNumber = theNumber.asNumber
    for each rec in theVTab
      theVTab.SetValue(theFieldID,rec,theNumber)
      theNumber = theNumber  1
    end
    msgBox.Info( Execution terminee , )
  end
end
 

#4 Fri 07 April 2000 13:32

Claude MONTEIL
Invité

Re: [ArcView 3.x] Numéroter un champ ID

Vous pouvez utiliser le script suivant (qui suppose preselectionnee la table) :

Code:

maTable = av.GetActiveDoc
maVTab  = maTable.GetVTab
monChamp = maVTab.FindField( Id )
i = 0
for each element in maVTab
  i = i + 1
  maVTab.SetValue(monChamp, element, i )
end
 

Pied de page des forums

Powered by FluxBB