<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Create VBA program to read/write to/from MySQL from Inventor 2012 in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3705674#M134177</link>
    <description>&lt;P&gt;Thanks guys, I understand this wasn't the best approach for me to copy all this code to the forum. I just had no way to even begin understanding this. I believe the issue that we were told about is that this version of VBA is older and will not be supported in the near future. So, we thought that we needed to recreate this code using the newer version of VBA. I don't know how valid this is or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ideally, we need something like this to work with both Inventor and Autocad. Much of what we do is a combination of both mechanical assemblies best suited for Inventor and large equipment layouts with civil work more suited for Autocad. I certainly don't expect to get anything for free so if anyone can help us out, I'm sure we can work our suitable compensation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;</description>
    <pubDate>Tue, 20 Nov 2012 13:15:23 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2012-11-20T13:15:23Z</dc:date>
    <item>
      <title>Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3642954#M134172</link>
      <description>&lt;P&gt;I posted this discussion in another group &lt;A target="_blank" href="http://forums.autodesk.com/t5/Autodesk-Inventor/BOM-INVENTORY-PROBLEM/td-p/3370343"&gt;http://forums.autodesk.com/t5/Autodesk-Inventor/BOM-INVENTORY-PROBLEM/td-p/3370343&lt;/A&gt; and it has been suggested that I post the original VBA code here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basically, we have a macro written in VBA for Inventor 2011. This macro will cross reference part numbers from a BOM within Inventor 2011 with our MySQL database. It then populates the remaining BOM cells with data from MySQL such as part description and drawing number.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The other part of this macro will write to our MySQL database the BOM that has been created for a new assembly in Inventor.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, we create the new assembly part number in the MySQL database, create the drawing of the assembly in Inventor, use Part List in Inventor to generate a custom BOM. Run the macro to fill in the remaining fields of that BOM, then run the macro to update MySQL with the new BOM for the new assembly. Now if I look at the MySQL database the new assembly part number lists all the sub-assemblies and parts associated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is that we are told that this version of VBA does not work with Inventor 2012 and above. Here is what I've been able to find for the code. I'm not a programer and the person who created this is no longer here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyone able to help create this for Inventor 2012/2013?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Private Sub CommandButton1_Click()&lt;BR /&gt;&lt;BR /&gt;'Setup part doc&lt;BR /&gt;Dim oPartDoc As Inventor.PartDocument&lt;BR /&gt;Set oPartDoc = ThisApplication.ActiveDocument&lt;BR /&gt;&lt;BR /&gt;'setup parameter&lt;BR /&gt;Dim oParams As Parameters&lt;BR /&gt;Set oParams = oPartDoc.ComponentDefinition.Parameters&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;'Define the variables&lt;BR /&gt;Dim Material_Length As Double&lt;BR /&gt;Dim Material_Width As Double&lt;BR /&gt;Dim Fabrication_QTY As Double&lt;BR /&gt;Dim Fab_QTY_INT As Integer&lt;BR /&gt;&lt;BR /&gt;'===Obtain the farication ProductID from iProp/Custom value&lt;BR /&gt;Dim Fabrication_Material As String&lt;BR /&gt;&lt;BR /&gt;'Define the iProperty sets in the part doc&lt;BR /&gt;Dim oPropSets As PropertySets&lt;BR /&gt;Set oPropSets = oPartDoc.PropertySets&lt;BR /&gt;&lt;BR /&gt;'This is to get the FXXX-XXX ID, predefined in part&lt;BR /&gt;Fabrication_Material = oPropSets.Item("User Defined Properties").Item("PID").Expression&lt;BR /&gt;&lt;BR /&gt;'Product name (AKA description of the the material), predefined&lt;BR /&gt;Dim Fab_Prod_Name As String&lt;BR /&gt;Fab_Prod_Name = oPropSets.Item("User Defined Properties").Item("PN").Expression&lt;BR /&gt;&lt;BR /&gt;'Get length, width from Parameter and calcualte DTY&lt;BR /&gt;Material_Length = oParams.Item("Fab_Length").Value / 2.54&lt;BR /&gt;Material_Width = oParams.Item("Fab_Width").Value / 2.54&lt;BR /&gt;Fabrication_QTY = Material_Length * Material_Width&lt;BR /&gt;&lt;BR /&gt;'Change the value to Interger in different situations&lt;BR /&gt;If (CInt(Fabrication_QTY) &amp;gt;= Fabrication_QTY) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fab_QTY_INT = CInt(Fabrication_QTY)&lt;BR /&gt;Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fab_QTY_INT = CInt(Fabrication_QTY) + 1&lt;BR /&gt;End If&lt;BR /&gt;&lt;BR /&gt;'My SQL Connect&lt;BR /&gt;Dim Conn As ADODB.Connection&lt;BR /&gt;Set Conn = New ADODB.Connection&lt;BR /&gt;Conn.ConnectionString = "DSN=InventorBOM"&lt;BR /&gt;Conn.Open&lt;BR /&gt;&lt;BR /&gt;'Record set&lt;BR /&gt;Dim rs As ADODB.Recordset&lt;BR /&gt;Set rs = New ADODB.Recordset&lt;BR /&gt;rs.CursorLocation = adUseServer&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Check to see if the material exist in the `Products` table&lt;BR /&gt;&lt;BR /&gt;rs.Open "SELECT * FROM `PRODUCTS` WHERE `DrawingFileName` = CONVERT( _utf8 '" &amp;amp; Fabrication_Material &amp;amp; "' USING latin1 )COLLATE latin1_swedish_ci LIMIT 0, 30 ", Conn&lt;BR /&gt;&lt;BR /&gt;If (rs.BOF And rs.EOF) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'insert the Material INFO into the product table&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Execute "INSERT INTO `PRODUCTS` (`ProductID` , `DrawingFileName` , `ProductName` , `ProductDescription` , `FieldAssembly`,`DwgPath`,`TimeStamp` )&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUES ('" &amp;amp; Fabrication_Material &amp;amp; "' , '" &amp;amp; Fabrication_Material &amp;amp; "' , '" &amp;amp; Fab_Prod_Name &amp;amp; "' , Null , Null , Null,&amp;nbsp; NOW( ) );"&lt;BR /&gt;&lt;BR /&gt;Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'check if there is any diff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'delete record,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'then insert new record w/ probably updated record fields&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;End If&lt;BR /&gt;&lt;BR /&gt;'close the record&lt;BR /&gt;rs.Close&lt;BR /&gt;&lt;BR /&gt;'close the active part doc&lt;BR /&gt;oPartDoc.Close&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'==========Switch to IDW doc================&lt;BR /&gt;&lt;BR /&gt;'Define and set the drawing doc&lt;BR /&gt;Dim oDrawDoc As DrawingDocument&lt;BR /&gt;Set oDrawDoc = ThisApplication.ActiveDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Define part list object&lt;BR /&gt;Dim oPartList As PartsList&lt;BR /&gt;Set oPartList = oDrawDoc.ActiveSheet.PartsLists.Item(1)&lt;BR /&gt;&lt;BR /&gt;'Define the row object&lt;BR /&gt;Dim oRow As PartsListRow&lt;BR /&gt;Set oRow = oPartList.PartsListRows.Item(1)&lt;BR /&gt;&lt;BR /&gt;'Define the cell object&lt;BR /&gt;Dim oCell_Drawing_Name As PartsListCell&lt;BR /&gt;Set oCell_Drawing_Name = oRow.Item(5)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;Dim oCell_PID As PartsListCell&lt;BR /&gt;Set oCell_PID = oRow.Item(3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;Dim oCell_Description As PartsListCell&lt;BR /&gt;Set oCell_Description = oRow.Item(4)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;Dim oCell_QTY As PartsListCell&lt;BR /&gt;Set oCell_QTY = oRow.Item(2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;'Write PID to the Product ID cell in PL&lt;BR /&gt;oCell_PID.Value = Fabrication_Material&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Write the Description to description cell in PL&lt;BR /&gt;oCell_Description.Value = Fab_Prod_Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Write the Fabrication QTY&lt;BR /&gt;oCell_QTY.Value = Fab_QTY_INT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Override the drawing file name field w/ Fab_Material name&lt;BR /&gt;oCell_Drawing_Name.Value = Fabrication_Material&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Allocate latest DY #&lt;BR /&gt;&lt;BR /&gt;'SQL query, Sort...&lt;BR /&gt;&lt;BR /&gt;rs.Open "SELECT * FROM `PRODUCTS` WHERE `ProductID` LIKE CONVERT( _utf8 '%#DY09%'USING latin1 ) COLLATE latin1_swedish_ci ORDER BY `ProductID` DESC LIMIT 0 , 30", Conn&lt;BR /&gt;&lt;BR /&gt;'Latest DY string from my MySQL query&lt;BR /&gt;Dim LatestDY As String&lt;BR /&gt;&lt;BR /&gt;'Sub string in the #DY string&lt;BR /&gt;Dim LatestDY_Sub As String&lt;BR /&gt;&lt;BR /&gt;'Need to conver the sub string to value type&lt;BR /&gt;Dim LatestDY_Value As Integer&lt;BR /&gt;&lt;BR /&gt;'The we need to combine strings into a new #DY09-xxx_1 format&lt;BR /&gt;Dim NewDY As String&lt;BR /&gt;&lt;BR /&gt;'Fomart new DY&lt;BR /&gt;Dim NewDY_Fomat As String&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Take it from Recordset&lt;BR /&gt;LatestDY = rs!ProductID&lt;BR /&gt;&lt;BR /&gt;'Get the sub string&lt;BR /&gt;LatestDY_Sub = Mid(LatestDY, 6, 3)&lt;BR /&gt;&lt;BR /&gt;'Convert sub string to value&lt;BR /&gt;LatestDY_Value = CInt(LatestDY_Sub)&lt;BR /&gt;&lt;BR /&gt;'Increment it byt +1&lt;BR /&gt;NewDY = LatestDY_Value + 1&lt;BR /&gt;&lt;BR /&gt;'Fomatted final new #DY, need to pass it to iProp&lt;BR /&gt;NewDY_Format = "#DY09-" &amp;amp; NewDY &amp;amp; "_1"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Define and setup drawing i-Prop to store latesst #DY automatically&lt;BR /&gt;Dim oDrawPropSet As PropertySets&lt;BR /&gt;Set oDrawPropSet = oDrawDoc.PropertySets&lt;BR /&gt;&lt;BR /&gt;'Set the value of the Drawing doc' iProp's `Part Number` field.&lt;BR /&gt;oDrawPropSet.Item(3).Item(2).Expression = NewDY_Format&lt;BR /&gt;&lt;BR /&gt;'Save Doc to save iProp change&lt;BR /&gt;oDrawDoc.Save&lt;BR /&gt;&lt;BR /&gt;'Insert the # DY into the `PRODUCTS` table&lt;BR /&gt;&lt;BR /&gt;'check if it exists,&lt;BR /&gt;'if it does, check DIFF, delete if there is change&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Inser the #DY, Fabrication, QTY into the `PRODUCT DETTAILS` table&lt;BR /&gt;'This is the same logic as assembly&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;MsgBox ("Sucessful. Please click the button")&lt;BR /&gt;&lt;BR /&gt;rs.Close&lt;BR /&gt;Conn.Close&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;Private Sub CommandButton2_Click()&lt;BR /&gt;&lt;BR /&gt;Dim oDrawDoc As DrawingDocument&lt;BR /&gt;Set oDrawDoc = ThisApplication.ActiveDocument&lt;BR /&gt;&lt;BR /&gt;'Open the MySQL databse 'bom'&lt;BR /&gt;Dim Conn As ADODB.Connection&lt;BR /&gt;Set Conn = New ADODB.Connection&lt;BR /&gt;Conn.ConnectionString = "DSN=InventorBOM"&lt;BR /&gt;Conn.Open&lt;BR /&gt;&lt;BR /&gt;'Setup a Recordset that holds a set of records from MySQL table&lt;BR /&gt;Dim rs As ADODB.Recordset&lt;BR /&gt;Set rs = New ADODB.Recordset&lt;BR /&gt;rs.CursorLocation = adUseServer&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;' Set a reference to the first part list&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oPartList As PartsList&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oPartList = oDrawDoc.ActiveSheet.PartsLists.Item(1)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Iterate through the contents of the parts list. i is row number&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Long&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To oPartList.PartsListRows.Count&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Set the current row i.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oRow As PartsListRow&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oRow = oPartList.PartsListRows.Item(i)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Setup cell for Xref Drawing File Name (Column=5)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oCell_Drawing_Name As PartsListCell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_Drawing_Name = oRow.Item(5)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Setup cell for PID (Column=3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oCell_PID As PartsListCell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_PID = oRow.Item(3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Setup cell for ProductName (Column=4)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oCell_Description As PartsListCell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_Description = oRow.Item(4)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Define the names of the strings&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim xrefstring As String&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim PID As String&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Description As String&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Pass the xref drawing name from PL to VB&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xrefstring = oCell_Drawing_Name.Value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Find the record where the drawing file name matches the one in Inventor top-level assmebly&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'The below statement does not give error message if there is no record in DB&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.Open "SELECT * FROM `PRODUCTS` WHERE `DrawingFileName` = CONVERT( _utf8 '" &amp;amp; xrefstring &amp;amp; "' USING latin1 )COLLATE latin1_swedish_ci LIMIT 0, 30 ", Conn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not (rs.BOF And rs.EOF) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID = rs!ProductID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description = rs!ProductName&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCell_PID.Value = PID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCell_Description.Value = Description&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Just do nothing, cell value remain unchanged.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.Close&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'close the conenction to MySQL&lt;BR /&gt;Conn.Close&lt;BR /&gt;&lt;BR /&gt;'activate the drawing doc focus&lt;BR /&gt;oDrawDoc.Activate&lt;BR /&gt;&lt;BR /&gt;'Update the drawing, recompute all&lt;BR /&gt;oDrawDoc.Update&lt;BR /&gt;&lt;BR /&gt;'Save the drawing doc, make drawing file in sync.&lt;BR /&gt;oDrawDoc.Save&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;Private Sub CommandButton3_Click()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;Dim oDrawDoc As DrawingDocument&lt;BR /&gt;&amp;nbsp;Set oDrawDoc = ThisApplication.ActiveDocument&lt;BR /&gt;&lt;BR /&gt;'Open the MySQL databse&lt;BR /&gt;&amp;nbsp;Dim Conn As ADODB.Connection&lt;BR /&gt;&amp;nbsp;Set Conn = New ADODB.Connection&lt;BR /&gt;&amp;nbsp;Conn.ConnectionString = "DSN=InventorBOM"&lt;BR /&gt;&amp;nbsp;Conn.Open&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;'Define the names of string VAR&lt;BR /&gt;Dim PRODUCT_ASMB_ID As String&lt;BR /&gt;Dim SUB_ASMB_ITEM_ID As String&lt;BR /&gt;Dim PRDT_QTY As String&lt;BR /&gt;Dim PRDT_ID As String&lt;BR /&gt;&lt;BR /&gt;'Get Assembly ID from Title Block&lt;BR /&gt;Dim Inventor_TB As TitleBlock&lt;BR /&gt;Set Inventor_TB = oDrawDoc.ActiveSheet.TitleBlock&lt;BR /&gt;Dim Inventor_TBDef As TitleBlockDefinition&lt;BR /&gt;Set Inventor_TBDef = oDrawDoc.TitleBlockDefinitions.Item(3)&lt;BR /&gt;Dim oTextbox As TextBox&lt;BR /&gt;Set oTextbox = Inventor_TBDef.Sketch.TextBoxes.Item(11)&lt;BR /&gt;&lt;BR /&gt;'you can query, but can not set&lt;BR /&gt;PRODUCT_ASMB_ID = oTextbox.Text&lt;BR /&gt;'or you can use the following&lt;BR /&gt;'PRODUCT_ASMB_ID = Inventor_TB.GetResultText(oTextbox)&lt;BR /&gt;&lt;BR /&gt;Dim new_dy As String&lt;BR /&gt;new_dy = "from code"&lt;BR /&gt;&lt;BR /&gt;'try to set this text format override to textbox in TB_Def&lt;BR /&gt;Dim sText As String&lt;BR /&gt;sText = "&amp;lt;StyleOverride FontSize='.75'&amp;gt;TITLE BLOCK&amp;lt;/StyleOverride&amp;gt;"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'you can not set it&lt;BR /&gt;'oTextbox.Text = new_dy&lt;BR /&gt;'Prompt text is just to display, no help for this program&lt;BR /&gt;'Call Inventor_TB.SetPromptResultText(oTextbox, new_dy)&lt;BR /&gt;'Dim oSketch As DrawingSketch&lt;BR /&gt;'Call Inventor_TBDef.Edit(oSketch)&lt;BR /&gt;'PRODUCT_ASMB_ID = oTextbox.Text&lt;BR /&gt;'still can not set in a sketch edit mode&lt;BR /&gt;'=====oTextbox.Text = new_dy===why this does not work?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'get the assembly ID from drawing iProp&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;'Define new recordset object&lt;BR /&gt;Dim rs As ADODB.Recordset&lt;BR /&gt;Set rs = New ADODB.Recordset&lt;BR /&gt;rs.CursorLocation = adUseServer&lt;BR /&gt;&lt;BR /&gt;'Check if the assembly ID exists&lt;BR /&gt;rs.Open "SELECT * FROM `PRODUCT_DETAILS` WHERE `AssemblyID` = CONVERT( _utf8 '" &amp;amp; PRODUCT_ASMB_ID &amp;amp; "' USING latin1 )COLLATE latin1_swedish_ci LIMIT 0, 30 ", Conn&lt;BR /&gt;&lt;BR /&gt;'Setup the part list, row, cells&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oPartList As PartsList&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oPartList = oDrawDoc.ActiveSheet.PartsLists.Item(1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oRow As PartsListRow&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oCell_QTY As PartsListCell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oCell_PID As PartsListCell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Long&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim SQL_ITEM As Integer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;If (rs.BOF And rs.EOF) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL_ITEM = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To oPartList.PartsListRows.Count&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oRow = oPartList.PartsListRows.Item(i)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_QTY = oRow.Item(2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_PID = oRow.Item(3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not (oCell_QTY.Value = 0) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL_ITEM = SQL_ITEM + 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_ASMB_ITEM_ID = SQL_ITEM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRDT_QTY = oCell_QTY.Value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRDT_ID = oCell_PID.Value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Execute "INSERT INTO `PRODUCT_DETAILS` (`AssemblyID` , `ItemNumber` , `Quantity` , `ProductID` , `TimeStamp` )&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUES ('" &amp;amp; PRODUCT_ASMB_ID &amp;amp; "' , '" &amp;amp; SUB_ASMB_ITEM_ID &amp;amp; "' , '" &amp;amp; PRDT_QTY &amp;amp; "' , '" &amp;amp; PRDT_ID &amp;amp; "', NOW( ) );"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Do nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Delete the exisiting records&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Execute "DELETE FROM `PRODUCT_DETAILS` WHERE `AssemblyID` = '" &amp;amp; PRODUCT_ASMB_ID &amp;amp; "' ; "&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Insert new records&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL_ITEM = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To oPartList.PartsListRows.Count&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oRow = oPartList.PartsListRows.Item(i)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_QTY = oRow.Item(2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oCell_PID = oRow.Item(3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not (oCell_QTY.Value = 0) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL_ITEM = SQL_ITEM + 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_ASMB_ITEM_ID = SQL_ITEM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRDT_QTY = oCell_QTY.Value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRDT_ID = oCell_PID.Value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Execute "INSERT INTO `PRODUCT_DETAILS` (`AssemblyID` , `ItemNumber` , `Quantity` , `ProductID` , `TimeStamp` )&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUES ('" &amp;amp; PRODUCT_ASMB_ID &amp;amp; "' , '" &amp;amp; SUB_ASMB_ITEM_ID &amp;amp; "' , '" &amp;amp; PRDT_QTY &amp;amp; "' , '" &amp;amp; PRDT_ID &amp;amp; "', NOW( ) );"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Do nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;End If&lt;BR /&gt;&lt;BR /&gt;Conn.Close&lt;BR /&gt;MsgBox ("MySQL BOM has been sucessfully updated")&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Private Sub CommandButton4_Click()&lt;BR /&gt;&lt;BR /&gt;Dim oPartDoc As PartDocument&lt;BR /&gt;Set oPartDoc = ThisApplication.ActiveDocument&lt;BR /&gt;&lt;BR /&gt;Dim COMP_PID As String&lt;BR /&gt;Dim Prod_Name As String&lt;BR /&gt;&lt;BR /&gt;Dim oPropSets As PropertySets&lt;BR /&gt;Set oPropSets = oPartDoc.PropertySets&lt;BR /&gt;&lt;BR /&gt;'part number field in iProp, get the drawing name&lt;BR /&gt;COMP_PID = oPropSets.Item(3).Item(2).Expression&lt;BR /&gt;'product name field in custom iProp&lt;BR /&gt;Prod_Name = oPropSets.Item("User Defined Properties").Item("Product_Name").Expression&lt;BR /&gt;&lt;BR /&gt;Dim Conn As ADODB.Connection&lt;BR /&gt;Set Conn = New ADODB.Connection&lt;BR /&gt;Conn.ConnectionString = "DSN=InventorBOM"&lt;BR /&gt;Conn.Open&lt;BR /&gt;Dim rs As ADODB.Recordset&lt;BR /&gt;Set rs = New ADODB.Recordset&lt;BR /&gt;rs.CursorLocation = adUseServer&lt;BR /&gt;&lt;BR /&gt;rs.Open "SELECT * FROM `PRODUCTS` WHERE `DrawingFileName` = CONVERT( _utf8 '" &amp;amp; COMP_PID &amp;amp; "' USING latin1 )COLLATE latin1_swedish_ci LIMIT 0, 30 ", Conn&lt;BR /&gt;&lt;BR /&gt;'If it's new record, then just insert it.&lt;BR /&gt;If (rs.BOF And rs.EOF) Then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Execute "INSERT INTO `PRODUCTS` (`ProductID` , `DrawingFileName` , `ProductName` , `ProductDescription` , `FieldAssembly`,`DwgPath`,`TimeStamp` )&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUES ('" &amp;amp; COMP_PID &amp;amp; "' , '" &amp;amp; COMP_PID &amp;amp; "' , '" &amp;amp; Prod_Name &amp;amp; "' , Null , Null , Null,&amp;nbsp; NOW( ) );"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.Close&lt;BR /&gt;&lt;BR /&gt;Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'maybe delete and then insert the updated record again&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.Close&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;End If&lt;BR /&gt;&lt;BR /&gt;Conn.Close&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;Private Sub UserForm_Click()&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Oct 2012 15:29:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3642954#M134172</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-10-02T15:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3668568#M134173</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;firstly, could you clarify what the issue others told you that "the macro cannot work on 2012/2013"? I'd suggest&amp;nbsp;you try in Inventor 2012/2013 to test if it really works or not and provide any error you get. Otherwise, I am afriad it is hard for any peers here to jump into with the long code, connecting with the database. From this perspective, a simplified code would be more helpful to diagnose the problem.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I do not see a big change of the relevant Inventor API in 2012/2013. You can still get iProperties, Paramters, PartsList Table info as you did in the past. As to MySQL, Inventor just uses the API of MS. And your code just read/write the table in the database. I do not either think there are many changes that you need to modify.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I understand you are not a programmer, but it is really important to isolate the problem in order to get a feedback, instead of posting all codes and requesting a debugging to make it work. Thanks for understanding.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Again, I still suggest you try with the code firstly at your side and provide the error you get. Please do remember to submit some neccessary snapshots.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Oct 2012 07:42:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3668568#M134173</guid>
      <dc:creator>xiaodong_liang</dc:creator>
      <dc:date>2012-10-22T07:42:35Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3694484#M134174</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I keep finding code that uses this line&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;"Dim Conn As ADODB.Connection"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All of the code is aged and older, so I'm assuming there was older inventor VBA programs used.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The issue arises when debugging where the error message say this....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;"Compile error: User-defined type not defined"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;....and proceed to highlight the ADODB.Connection type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm assuming this is the issue, and unsure as to how to go about fixing this, any help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Mitch&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Nov 2012 20:25:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3694484#M134174</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-11-09T20:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3696392#M134175</link>
      <description>&lt;P&gt;Found the error,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Need to provide a reference to Microsoft ActiveX Object&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Mitch&lt;/P&gt;</description>
      <pubDate>Mon, 12 Nov 2012 19:11:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3696392#M134175</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-11-12T19:11:27Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3705274#M134176</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;SPAN&gt;&lt;A id="link_13b1ca7b3a9" class="lia-link-navigation lia-page-link lia-user-name-link" href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/984127" target="_self"&gt;mhatfield&lt;/A&gt;&amp;nbsp;'s comment. Hope it helps&amp;nbsp;&lt;SPAN&gt;&lt;A id="link_13b1ca81dca" class="lia-link-navigation lia-page-link lia-user-name-link" href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1113504" target="_self"&gt;terry.gonzales&lt;/A&gt;&amp;nbsp;in this case.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Nov 2012 07:11:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3705274#M134176</guid>
      <dc:creator>xiaodong_liang</dc:creator>
      <dc:date>2012-11-20T07:11:39Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3705674#M134177</link>
      <description>&lt;P&gt;Thanks guys, I understand this wasn't the best approach for me to copy all this code to the forum. I just had no way to even begin understanding this. I believe the issue that we were told about is that this version of VBA is older and will not be supported in the near future. So, we thought that we needed to recreate this code using the newer version of VBA. I don't know how valid this is or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ideally, we need something like this to work with both Inventor and Autocad. Much of what we do is a combination of both mechanical assemblies best suited for Inventor and large equipment layouts with civil work more suited for Autocad. I certainly don't expect to get anything for free so if anyone can help us out, I'm sure we can work our suitable compensation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;</description>
      <pubDate>Tue, 20 Nov 2012 13:15:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3705674#M134177</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-11-20T13:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3782589#M134178</link>
      <description>&lt;P&gt;I'm interested.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Feb 2013 23:23:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3782589#M134178</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-02-16T23:23:26Z</dc:date>
    </item>
    <item>
      <title>Re: Create VBA program to read/write to/from MySQL from Inventor 2012</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3783194#M134179</link>
      <description>HI sorry but we have already resolved this issue. -- Terry Gonzales Project Engineer InterClean Equipment, Inc. Tel. +1 734-975-2967 x218 InterClean - Member of Tammermatic Group</description>
      <pubDate>Mon, 18 Feb 2013 13:57:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/create-vba-program-to-read-write-to-from-mysql-from-inventor/m-p/3783194#M134179</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-02-18T13:57:46Z</dc:date>
    </item>
  </channel>
</rss>

