{"id":283,"date":"2016-03-31T15:45:08","date_gmt":"2016-03-31T13:45:08","guid":{"rendered":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/?p=283"},"modified":"2024-09-04T12:19:24","modified_gmt":"2024-09-04T10:19:24","slug":"dynamo-microsoft-access","status":"publish","type":"post","link":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/2016\/03\/31\/dynamo-microsoft-access\/","title":{"rendered":"Dynamo &amp; Microsoft Access"},"content":{"rendered":"<p>Il mio grande amico e collega A.S. mi chiama qualche giorno fa per sottopormi un problema: ha dei dati in una tabella di un database Microsoft Access che vorrebbe utilizzare all&#8217;interno di Dynamo.<\/p>\n<p><a href=\"http:\/\/dynamobim.org\/\" target=\"_blank\" rel=\"noopener\">Dynamo<\/a>, per chi non lo conosce, \u00e8 un ambiente di programmazione visuale che consente di elaborare informazioni semplicemente collegando tra di loro dei &#8220;nodi&#8221;, che effettuano delle operazioni, con dei &#8220;collegamenti&#8221; che invece portano i dati.<\/p>\n<p>Generalmente in questi casi si cerca su Internet un &#8220;nodo&#8221; che faccia al caso nostro ma la ricerca non ha dato risultati positivi: non avendo niente di meglio da fare durante le vacanze di Pasqua (tanto mia moglie non legge questo Blog&#8230;) ho cercato una maniera per risolvere il problema.<\/p>\n<p>E quindi, visto che sto anche preparando un corso sul tema, ho scritto un &#8220;nodo&#8221; utilizzando del codice in linguaggio <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noopener\">Python<\/a> che fa esattamente questo: avendo in ingresso un nome di un file di database di MS Access produce in uscita una lista con i nomi dei campi della tabella richiesti ed il contenuto dei record.<\/p>\n<p>Il nodo accetta tre parametri, di cui solo il primo obbligatorio:<\/p>\n<ul>\n<li>se si immette solo il nome del file il nodo ritorna l&#8217;elenco delle tabelle presenti nel database;<\/li>\n<li>se si immette in pi\u00f9 il nome della tabella si ottengono tutti i record con tutti i campi<\/li>\n<li>se si immette un elenco di campi separati da virgola vengono estratte le informazioni solo da quei campi (se ci sono spazi nei nomi dei campi bisogna mettere questi nomi tra parentesi quadre, es. [Nome Azienda])<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-286 aligncenter\" src=\"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-content\/uploads\/sites\/68\/2016\/03\/Dynamo_MSAccess-300x129.png\" alt=\"Dynamo_MSAccess\" width=\"921\" height=\"396\" srcset=\"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-content\/uploads\/sites\/68\/2016\/03\/Dynamo_MSAccess-300x129.png 300w, https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-content\/uploads\/sites\/68\/2016\/03\/Dynamo_MSAccess-1024x441.png 1024w, https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-content\/uploads\/sites\/68\/2016\/03\/Dynamo_MSAccess.png 1528w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/p>\n<p>Nell&#8217;esempio della figura qui sopra ho generato dei dati casuali ed ho creato con essi una tabella in MS Access contenente delle coordinate (X,Y,Z); ho fatto poi leggere questi dati a <a href=\"http:\/\/dynamobim.org\/\" target=\"_blank\" rel=\"noopener\">Dynamo <\/a>con il nodo che ho creato e quindi gli ho fatto disegnare i punti.<\/p>\n<p>Quello che avviene dietro le quinte\u00a0in realt\u00e0 \u00e8 che <a href=\"http:\/\/dynamobim.org\/\" target=\"_blank\" rel=\"noopener\">Dynamo <\/a>lancia MS Access &#8211; che quindi deve essere installato sulla macchina perch\u00e9 questo &#8220;nodo&#8221; funzioni &#8211; e lo interroga per ottenere le informazioni richieste. Semplice ed efficace.<\/p>\n<p>Potete trovare il codice <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noopener\">Python <\/a>del nodo ed un esempio del utilizzo in Dynamo <a href=\"https:\/\/autodesk.box.com\/s\/8tyyyysq896ebrdi3s9vluuwjn1lat3l\" target=\"_blank\" rel=\"noopener\">seguendo questo link<\/a><\/p>\n<hr \/>\n<p><em>PS: Un collega mi ha fatto notare che nell&#8217;esempio ho usato il nodo \u201cPoints.NumbersToPoint\u201d che non \u00e8 presente di default ma richiede l&#8217;installazione del package &#8220;LunchBox&#8221;.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il mio grande amico e collega A.S. mi chiama qualche giorno fa per sottopormi un problema: ha dei dati in una tabella di un database Microsoft Access che vorrebbe utilizzare all&#8217;interno di Dynamo.<\/p>\n<p><a href=\"http:\/\/dynamobim.org\/\" target=\"_blank\" rel=\"noopener\">Dynamo<\/a>, per chi non lo conosce, \u00e8 un ambiente di programmazione visuale che consente di elaborare informazioni semplicemente collegando tra di loro dei &#8220;nodi&#8221;,<\/p>\n","protected":false},"author":320,"featured_media":286,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[381],"tags":[164,64,384,67,73,70,229],"class_list":["post-283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-generale","tag-akn_include","tag-dynamo","tag-hands-on","tag-python","tag-software-development","tag-sviluppo-software","tag-tools"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/users\/320"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/comments?post=283"}],"version-history":[{"count":0,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/posts\/283\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/media\/286"}],"wp:attachment":[{"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/media?parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/categories?post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/dalbiminpoi\/wp-json\/wp\/v2\/tags?post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}