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!

#1 Wed 23 July 2008 12:47

nabilo
Juste Inscrit !
Date d'inscription: 4 Apr 2008
Messages: 1

VBA, ajout d'enregistrement dans une table

Bonjour,

J'aimerai avoir un coup de main pour pouvoir ajouter un enregistrement dans une table d'une godatabase et cela car je ne sais pas est ce qu'il faut manipuler des record set( donc des requetes SQL àl'interieur d'un workspace) ou bien  puisque utiliser un curseur( cependant dans ce cas je veux avoir si c possible un exemple de manipulation de la methode insert).


J'attend votre réponse

merci d'avance

Hors ligne

 

#2 Wed 23 July 2008 13:37

Tnarbiv
Participant assidu
Lieu: Véretz
Date d'inscription: 5 Sep 2005
Messages: 392

Re: VBA, ajout d'enregistrement dans une table

si je comprends bien ta geodatabase existe ainsi que ta table ?


Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.

Hors ligne

 

#3 Wed 23 July 2008 14:00

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

Re: VBA, ajout d'enregistrement dans une table

bonjour,
si c'est pour une table de géodatabase (et pas une couche carto) il faut faire comme ça

Code:

Dim mondoc As IMxDocument, macarte As IMap, mestables As IStandaloneTableCollection
Dim matable As IStandaloneTable, tab_travaux As ITable, maligne As IRow, i As Integer
    
    Set mondoc = ThisDocument
    Set macarte = mondoc.Maps.Item(0)
    Set mestables = macarte
    For i = 0 To mestables.StandaloneTableCount - 1
        Set matable = mestables.StandaloneTable(i)
        If matable.Name = "nom_de_ma_table" Then Set tab_travaux = matable : exit for
    Next i
    Set maligne = tab_travaux.CreateRow
    
    'remplissage du champ test
    maligne.Value(maligne.Fields.FindField("test")) = "toto"

    
    maligne.Store

si c'est pour une couche carto c'est un peut différent, si y'a besoin je donnerai le code


Nicolas VALLS
Géomaticen
Cabinet Pierre GRILLET

Hors ligne

 

Pied de page des forums

Powered by FluxBB