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é ?

#1 Mon 20 March 2006 10:28

nicolas valls
Participant assidu
Date d'inscription: 28 Oct 2005
Messages: 154

VBA et session de mise a jour

Bonjour,
Je développe des interfaces de saisie arview en VBA. Globalement je n'ai aucun problème, mais je voudrai savoir si on peut controler si l'utilisateur a ouvert une session de mise à jour.
En fait ce qui me faudrait c'est un booléen du style :
if session_ouverte = true then massesion.fermer

Pour résumer, je veux pouvoir controler si la session de mise a jour est ouverte et si oui je veux la fermer.

Merci par avance de vos réponses

Dernière modification par nicolas valls (Mon 20 March 2006 13:49)


Nicolas VALLS
Géomaticen
Cabinet Pierre GRILLET

Hors ligne

 

#2 Mon 20 March 2006 16:19

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: VBA et session de mise a jour

Bonjour,
Je n'ai pas testé, mais je pense que cela devrait vous permettre d'avancer

  'Récupération de l'outil d'édition
  Dim pEditor As IEditor
  Dim pID As New UID

  pID = "esriEditor.Editor" 'si ArcGIS 9.x
  'pID = "esricore.Editor" 'si ArcGIS 8.x
  Set pEditor = Application.FindExtensionByCLSID(pID)

  if (pEditor.EditState = esriStateEditing) then
       pEditor.StopEditing True 'True pour quitter la session en sauvegardant les modifications, False pour quitter sans sauvegarder
  end if

  Set pID = Nothing
  Set pEditor = Nothing

Kevin Jousseaume

Dernière modification par Kevin Jousseaume (Mon 20 March 2006 16:34)

Hors ligne

 

#3 Mon 20 March 2006 16:25

DrassCentreSSE
Participant occasionnel
Date d'inscription: 17 Nov 2005
Messages: 13

Re: VBA et session de mise a jour

bonjour,

je rejoins le propos de Kevin. Dans le cas d'une session de mise à jour d'une GdB par exemple, il existe une méthode 'IsBeingEdited' pour savoir si une table est en mode mise à jour.

Dim pWorkspaceEdit As IWorkspaceEdit
Dim pDataset As IDataset

' Ouverture d'une session d'edition
Set pDataset = <une table>
Set pWorkspaceEdit = pDataset.Workspace
pWorkspaceEdit.StartEditing True
pWorkspaceEdit.StartEditOperation

'pWorkspaceEdit.IsBeingEdited devrait renvoyer true

' Fermeture de la session d'edition (et sauvegarde)
pWorkspaceEdit.StopEditOperation
pWorkspaceEdit.StopEditing True

'pWorkspaceEdit.IsBeingEdited devrait renvoyer false
   
Set pWorkspaceEdit = Nothing
Set pDataset = Nothing

Hors ligne

 

Pied de page des forums

Powered by FluxBB