jalna Posté(e) le 4 mai 2007 Posté(e) le 4 mai 2007 Bonsoir,Voila après des recherches sur le VBA , je commence un peu à me familiariser....Mon interet avec le VBA serait de coupler avec une connexionBDCar d'après les sujets le VBA est simple pour coupler une base de donnée access par exemple..Connaissant (enfin je me débrouille sur Access) ce programme, j'aimerais faire appel à Access avec une liaison AutoCAD, alors je recherche le ou les moyens de communiquer entre AutoCAD et Access Du genre dans access un champ m² et dans AutoCAD un Attribut qui se réfère au champ m²... Je suis sur que cela est possible et c'est seulement la que je me servirais des connexionsBD merci de prêter attention à ce message, c'est un peu comme une bouteille à la mer :( Sinon quelle serait l'ouvrage qui pourrait d'apres vous m'apprendre (sans trop rentrer dans les détails) le VB(A).. Bon Week End "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
Invité Patrick Posté(e) le 5 mai 2007 Posté(e) le 5 mai 2007 Pour un livre sur le VBA je te conseille fortement celui ci que j'ai utilisé: http://www.newz.net/acadplus/
nazemrap Posté(e) le 5 mai 2007 Posté(e) le 5 mai 2007 Bonjour, Si j' ai bien compris, voici une approche.Après avoir créer une base (bd1)avec 2 champs :id_test (numéro_auto)surface (numérique)enregistrée sur C: Le code suivant demande à sélectionner un bloc avec attribut, à créer donc, (étiquette "surface") ayant reçu une valeur. Cette valeur est envoyée dans la base. Dim access As access.Application Dim mabase As Database Dim enreg As Recordset Dim atsurf As Long Dim obj As Object Dim attribut As Variant Dim bloc As AcadBlockReference Dim chemin As String Dim nbr As Integer Public Sub adb() ThisDrawing.Utility.GetEntity obj, "sélectionnez le bloc" If obj.ObjectName = "AcDbBlockReference" Then Set bloc = obj If bloc.HasAttributes Then attribut = bloc.GetAttributes Dim I As Integer For I = LBound(attribut) To UBound(attribut) If attribut(I).TagString = "SURFACE" Then valeur = attribut(I).TextString Next End If chemin = "C:/bd1.mdb" Set access = CreateObject("Access.Application") access.OpenCurrentDatabase chemin Set mabase = access.CurrentDb Set enreg = mabase.OpenRecordset("Table1", dbOpenTable) enreg.AddNew enreg("id_test") = 4 enreg("surface") = valeur enreg.Update access.CloseCurrentDatabase End Sub
sechanbask Posté(e) le 6 mai 2007 Posté(e) le 6 mai 2007 Voici un ouvrage intéressant mais un peu léger lorsqu'on s'implique vraiment... http://www.editions-eyrolles.com/Livre/9782212115970/programmer-autocad-avec-diesel-autolisp-dcl-et-vba bon courage ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
nazemrap Posté(e) le 7 mai 2007 Posté(e) le 7 mai 2007 Bonjour, Le code étant dans un module Autocad, j' ai oublié de préciser dans mon exemple que les références aux objets ACCESS devaient être chargées bien sûr.Microsoft DAO 3.6 Object Library et Microsoft ACCESS 9.0 Object Library Egalement dans la base "bd1" créer la table "Table1" qui contient les champs. C'est un exemple; il n'est pas optimisé.Si plusieurs attributs sont à récupérer, il faut adapter, et faire attention aux doublons pour le champ "id_test".
jalna Posté(e) le 7 mai 2007 Auteur Posté(e) le 7 mai 2007 Merci pour vos réponses, je vais éssayer plus tard, car en ce moment il me faudrais des journées de plus de 24 heures.... Mais cela va ravir un certain N...... S........... qui exhibe les heures sup.....N............... au cas ou tu n'aurais pas compris les heures supplémentaires et ben je te laisse l'adresse de mon patron et tu lui en cause deux mots........ Trop fort Nicolas........ Désolé cela n'a rien a voir avec le message, mais bon il me fait trop rire!!!!!! et surtout me rappelle un certain dictateur................................................................................... :casstet: Je vous rassure il n'est la que pour 5 ans voir 10 "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant