{"id":8772,"date":"2022-09-15T11:18:11","date_gmt":"2022-09-15T05:48:11","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/"},"modified":"2022-09-15T11:18:11","modified_gmt":"2022-09-15T05:48:11","slug":"solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/","title":{"rendered":"[Solved] Shortest Route of converters between two different pipe sizes? [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-47029278\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"47029278\" data-parentid=\"47028610\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The code below is messy and un-commented, but I&#8217;m glad it was able to get you in the right direction, so you were able to figure out the solution!  Downloadable MDB on JumpShare <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/jmp.sh\/sXW7GZY\">here<\/a>.<\/p>\n<pre><code>Option Compare Database: Option Explicit\n'I had a theory which I implemented and later commented out in order to handle \"two-direction searches\" since connectors probably aren't in alphabetical order\n'I was going to use [cfromsSofar] to :\n'     - track connector \"from's\" that we've already been to, so it can,\n'     - prevent endless loops like:  connectors A&gt;B B&gt;C C&gt;A  over and over\n'but when I used that, it would stop after one possible route\n'also need to ensure functionality of forward-back-forward routes like A&gt;D D&gt;B B&gt;Z\n\n\nType connector\n    cFrom As String\n    cTo As String\n    cID As Long\nEnd Type\n\n'Const connQuery = \"qConn_bothdirections\" 'a union query with the connectors listed in both forward &amp; backward directions\nConst connQuery = \"qConn_onedirection\"\n\nConst cStart = \"A\": Const cFinish = \"Z\"\nPublic cfromsSofar As String, successfulMatchSets As String\n\nSub connTest()    ' &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; RUN THIS SUB TO TEST &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;\n'go from A to Z\n\nDebug.Print \"*** BEGIN FINDING ROUTE FROM \" &amp; cStart &amp; \" to \" &amp; cFinish &amp; \" ***\"\nsuccessfulMatchSets = \"\"\ncfromsSofar = \",\"\n\nlistMatches cStart, \"\", \"\"\n\nDebug.Print \"Finished searching for routes.\"\nDebug.Print\nDebug.Print \"*** FINISHED FINDING ROUTE FROM \" &amp; cStart &amp; \" to \" &amp; cFinish &amp; \" ***\"\nDebug.Print \"Successful Match Sets: \" &amp; vbCrLf &amp; successfulMatchSets\nIf successfulMatchSets = \"\" Then Debug.Print \"No Matches Found.\"\nDebug.Print \"Done.\"\nEnd Sub\n\n\nSub listMatches(sStart As String, indent As String, previousFind As String)\nDim rs As Recordset, x As Integer, y As Integer, clause_NotIn As String\n\nIf Len(cfromsSofar) = 1 Then\n    clause_NotIn = \"\"\nElse\n    clause_NotIn = \" AND cTo NOT IN (\" &amp; Mid(cfromsSofar, 2, Len(cfromsSofar) - 2) &amp; \")\"\nEnd If\n\n'list everything that connects to \"A\"\nSet rs = CurrentDb.OpenRecordset(\"select * from \" &amp; connQuery &amp; \" WHERE cFrom = '\" &amp; sStart &amp; \"' \" &amp; clause_NotIn) '*** where cTo isn't in list of cFrom's we've had yet\n\nDim matches() As connector  'array of connectors\nDim noMatchesFound As Boolean\nWith rs\n    If .EOF Then\n        Debug.Print indent &amp; \"No matches found \"\"From \" &amp; sStart &amp; \"\"\"\"\n\n        noMatchesFound = True\n    Else\n        noMatchesFound = False\n        .MoveLast\n\n        Debug.Print indent &amp; .RecordCount &amp; \" matches found \"\"From \" &amp; sStart &amp; \"\"\"\"\n\n        ReDim matches(.RecordCount)\n\n        x = 0\n        .MoveFirst\n        Do While Not .EOF  ' populate array [matches] with [connector] objects\n            x = x + 1\n\n            'Debug.Print !cFrom, !cTo, !cID\n            matches(x).cFrom = rs!cFrom\n            add_cFrom_to_cFromsSoFar (matches(x).cFrom)  'keep global list of cFroms so we don't go backwards\n            matches(x).cTo = rs!cTo\n            matches(x).cID = rs!cID\n\n\n            .MoveNext\n        Loop\n\n    End If\n    .Close\n\nEnd With\n\n\n'got list of possible connectors.  Now enumerate the list\n\nIf Not noMatchesFound Then\n\n    For y = 1 To UBound(matches)\n\n        'Debug.Print indent &amp; matches(y).cFrom, matches(y).cTo, matches(y).cID\n        'we've found matches up to [matches(y).cTo]. what matches can we find FROM there?\n        Debug.Print previousFind\n\n        Dim matchSet As String\n\n        If matches(y).cTo = cFinish Then\n            matchSet = previousFind &amp; \" {\" &amp; matches(y).cFrom &amp; \"-to-\" &amp; matches(y).cTo &amp; \"#\" &amp; matches(y).cID &amp; \"}\"\n            successfulMatchSets = successfulMatchSets &amp; vbCrLf &amp; matchSet\n        End If\n        listMatches matches(y).cTo, indent &amp; \"-&gt;  \", previousFind &amp; \" {\" &amp; matches(y).cFrom &amp; \"-to-\" &amp; matches(y).cTo &amp; \"#\" &amp; matches(y).cID &amp; \"}\"  'check next level (recursive!)\n\n    Next y\n\nEnd If\n\nEnd Sub\n\n\nSub add_cFrom_to_cFromsSoFar(cFrom As String)\n'keep global list of cFroms so we don't go backwards\n\nIf InStr(cfromsSofar, \",'\" &amp; cFrom &amp; \"',\") &gt; 0 Then\n    'already exists in list\n\nElse\n    'doesn't exist in list -- add it\n    cfromsSofar = cfromsSofar &amp; \"'\" &amp; cFrom &amp; \"',\"\nEnd If\n\n'Debug.Print \"             WHERE cTO NOT IN: \" &amp; cFrom\n\nEnd Sub\n<\/code><\/pre>\n<hr>\n<h2>Update:<\/h2>\n<p>While troubleshooting the recursion error you discovered in the previous code, I realized that there is another way to accomplish this, potentially much simpler than the other method (depending on the scale of implementation).<\/p>\n<p><strong>Just one query<\/strong>:<\/p>\n<pre><code>SELECT Hop1.end1 &amp; IIf([Hop1].[end1] Is Null,'',Chr(187)) &amp; Hop1.end2 As C1, \nHop2.end1 &amp; IIf([Hop2].[end1] Is Null,'',Chr(187)) &amp; Hop2.end2 As C2, \nHop3.end1 &amp; IIf([Hop3].[end1] Is Null,'',Chr(187)) &amp; Hop3.end2 As C3, \nHop4.end1 &amp; IIf([Hop4].[end1] Is Null,'',Chr(187)) &amp; Hop4.end2 As C4, \nHop5.end1 &amp; IIf([Hop5].[end1] Is Null,'',Chr(187)) &amp; Hop5.end2 As C5, \nHop6.end1 &amp; IIf([Hop6].[end1] Is Null,'',Chr(187)) &amp; Hop6.end2 As C6, \nHop7.end1 &amp; IIf([Hop7].[end1] Is Null,'',Chr(187)) &amp; Hop7.end2 As C7, \nHop8.end1 &amp; IIf([Hop8].[end1] Is Null,'',Chr(187)) &amp; Hop8.end2 As C8, \nHop9.end1 &amp; IIf([Hop9].[end1] Is Null,'',Chr(187)) &amp; Hop9.end2 As C9, \nHop10.end1 &amp; IIf([Hop10].[end1] Is Null,'',Chr(187)) &amp; Hop10.end2 As C10, \nHop11.end1 &amp; IIf([Hop11].[end1] Is Null,'',Chr(187)) &amp; Hop11.end2 As C11, \nHop12.end1 &amp; IIf([Hop12].[end1] Is Null,'',Chr(187)) &amp; Hop12.end2 As C12, \nHop13.end1 &amp; IIf([Hop13].[end1] Is Null,'',Chr(187)) &amp; Hop13.end2 As C13, \nHop14.end1 &amp; IIf([Hop14].[end1] Is Null,'',Chr(187)) &amp; Hop14.end2 As C14, \nHop15.end1 &amp; IIf([Hop15].[end1] Is Null,'',Chr(187)) &amp; Hop15.end2 As C15, \nHop16.end1 &amp; IIf([Hop16].[end1] Is Null,'',Chr(187)) &amp; Hop16.end2 As C16, \nHop17.end1 &amp; IIf([Hop17].[end1] Is Null,'',Chr(187)) &amp; Hop17.end2 As C17, \nHop18.end1 &amp; IIf([Hop18].[end1] Is Null,'',Chr(187)) &amp; Hop18.end2 As C18, \nHop19.end1 &amp; IIf([Hop19].[end1] Is Null,'',Chr(187)) &amp; Hop19.end2 As C19, \nHop20.end1 &amp; IIf([Hop20].[end1] Is Null,'',Chr(187)) &amp; Hop20.end2 As C20, \nHop21.end1 &amp; IIf([Hop21].[end1] Is Null,'',Chr(187)) &amp; Hop21.end2 As C21, \nHop22.end1 &amp; IIf([Hop22].[end1] Is Null,'',Chr(187)) &amp; Hop22.end2 As C22, \nHop23.end1 &amp; IIf([Hop23].[end1] Is Null,'',Chr(187)) &amp; Hop23.end2 As C23, \nHop24.end1 &amp; IIf([Hop24].[end1] Is Null,'',Chr(187)) &amp; Hop24.end2 As C24, \nHop25.end1 &amp; IIf([Hop25].[end1] Is Null,'',Chr(187)) &amp; Hop25.end2 As C25, \nHop26.end1 &amp; IIf([Hop26].[end1] Is Null,'',Chr(187)) &amp; Hop26.end2 As C26, \nHop27.end1 &amp; IIf([Hop27].[end1] Is Null,'',Chr(187)) &amp; Hop27.end2 As C27, \nHop28.end1 &amp; IIf([Hop28].[end1] Is Null,'',Chr(187)) &amp; Hop28.end2 As C28, \nHop29.end1 &amp; IIf([Hop29].[end1] Is Null,'',Chr(187)) &amp; Hop29.end2 As C29, \nHop30.end1 &amp; IIf([Hop30].[end1] Is Null,'',Chr(187)) &amp; Hop30.end2 As C30, \nHop31.end1 &amp; IIf([Hop31].[end1] Is Null,'',Chr(187)) &amp; Hop31.end2 As C31, \nHop32.end1 &amp; IIf([Hop32].[end1] Is Null,'',Chr(187)) &amp; Hop32.end2 As C32 \nFROM ((((((((((((((((((((((((((((((connectors AS Hop1\n LEFT JOIN connectors AS Hop2 ON Hop1.end2 = Hop2.end1)\n LEFT JOIN connectors AS Hop3 ON Hop2.end2 = Hop3.end1)\n LEFT JOIN connectors AS Hop4 ON Hop3.end2 = Hop4.end1)\n LEFT JOIN connectors AS Hop5 ON Hop4.end2 = Hop5.end1)\n LEFT JOIN connectors AS Hop6 ON Hop5.end2 = Hop6.end1)\n LEFT JOIN connectors AS Hop7 ON Hop6.end2 = Hop7.end1)\n LEFT JOIN connectors AS Hop8 ON Hop7.end2 = Hop8.end1)\n LEFT JOIN connectors AS Hop9 ON Hop8.end2 = Hop9.end1)\n LEFT JOIN connectors AS Hop10 ON Hop9.end2 = Hop10.end1)\n LEFT JOIN connectors AS Hop11 ON Hop10.end2 = Hop11.end1)\n LEFT JOIN connectors AS Hop12 ON Hop11.end2 = Hop12.end1)\n LEFT JOIN connectors AS Hop13 ON Hop12.end2 = Hop13.end1)\n LEFT JOIN connectors AS Hop14 ON Hop13.end2 = Hop14.end1)\n LEFT JOIN connectors AS Hop15 ON Hop14.end2 = Hop15.end1)\n LEFT JOIN connectors AS Hop16 ON Hop15.end2 = Hop16.end1)\n LEFT JOIN connectors AS Hop17 ON Hop16.end2 = Hop17.end1)\n LEFT JOIN connectors AS Hop18 ON Hop17.end2 = Hop18.end1)\n LEFT JOIN connectors AS Hop19 ON Hop18.end2 = Hop19.end1)\n LEFT JOIN connectors AS Hop20 ON Hop19.end2 = Hop20.end1)\n LEFT JOIN connectors AS Hop21 ON Hop20.end2 = Hop21.end1)\n LEFT JOIN connectors AS Hop22 ON Hop21.end2 = Hop22.end1)\n LEFT JOIN connectors AS Hop23 ON Hop22.end2 = Hop23.end1)\n LEFT JOIN connectors AS Hop24 ON Hop23.end2 = Hop24.end1)\n LEFT JOIN connectors AS Hop25 ON Hop24.end2 = Hop25.end1)\n LEFT JOIN connectors AS Hop26 ON Hop25.end2 = Hop26.end1)\n LEFT JOIN connectors AS Hop27 ON Hop26.end2 = Hop27.end1)\n LEFT JOIN connectors AS Hop28 ON Hop27.end2 = Hop28.end1)\n LEFT JOIN connectors AS Hop29 ON Hop28.end2 = Hop29.end1)\n LEFT JOIN connectors AS Hop30 ON Hop29.end2 = Hop30.end1)\n LEFT JOIN connectors AS Hop31 ON Hop30.end2 = Hop31.end1)\n LEFT JOIN connectors AS Hop32 ON Hop31.end2 = Hop32.end1 \nORDER BY Hop1.end1, Hop1.end2, Hop2.end1, Hop2.end2, Hop3.end1, Hop3.end2, Hop4.end1, Hop4.end2, Hop5.end1, Hop5.end2, Hop6.end1, Hop6.end2, Hop7.end1, Hop7.end2, Hop8.end1, Hop8.end2, Hop9.end1, Hop9.end2, Hop10.end1, Hop10.end2, Hop11.end1, Hop11.end2, Hop12.end1, Hop12.end2, Hop13.end1, Hop13.end2, Hop14.end1, Hop14.end2, Hop15.end1, Hop15.end2, Hop16.end1, Hop16.end2, Hop17.end1, Hop17.end2, Hop18.end1, Hop18.end2, Hop19.end1, Hop19.end2, Hop20.end1, Hop20.end2, Hop21.end1, Hop21.end2, Hop22.end1, Hop22.end2, Hop23.end1, Hop23.end2, Hop24.end1, Hop24.end2, Hop25.end1, Hop25.end2, Hop26.end1, Hop26.end2, Hop27.end1, Hop27.end2, Hop28.end1, Hop28.end2, Hop29.end1, Hop29.end2, Hop30.end1, Hop30.end2, Hop31.end1, Hop31.end2, Hop32.end1, Hop32.end2\n<\/code><\/pre>\n<p>(I didn&#8217;t say it was a <em>small<\/em> query!)  It basically lists every possible combination of &#8220;paths&#8221; between the connectors, up to 32 possible connections (since that is the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/support.office.com\/en-us\/article\/Access-2016-specifications-0cf3c66f-9cf2-4e32-9568-98c1025bb47c\">maximum number of joins<\/a> allowed in an Access 2016 query).<\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\"><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\" alt=\"qryConnPaths design\"><\/a><\/p>\n<h2>&#8230;and the output:<\/h2>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/1663220891_494_Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\"><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/1663220891_494_Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\" alt=\"qryConnPaths output\"><\/a><\/p>\n<p>Rather than building it manually, and going through it all if a change is necessary, I had VBA write it for me:<\/p>\n<pre><code>Sub buildSQL_qryConnPaths()  'builds SQL query for tracing possible connection paths\n\n    Const maxHops = 32 'as per \"[Access 2016 Maximum Number of enforced relationships][4]\" \n    Dim hSELECT As String, hFROM As String, hWHERE As String, hORDERBY As String, hSQL As String, x As Long\n\n    hSELECT = \"SELECT \"\n    hFROM = \"FROM \" &amp; String(maxHops - 2, \"(\")\n    hORDERBY = \"ORDER BY \"\n\n    For x = 1 To maxHops\n        hSELECT = hSELECT &amp; \"Hop\" &amp; x &amp; \".end1 &amp; IIf([Hop\" &amp; x &amp; \"].[end1] Is Null,'',Chr(187)) &amp; Hop\" &amp; x &amp; \".end2 As C\" &amp; x &amp; \", \" &amp; vbLf\n        hFROM = hFROM &amp; IIf(x = 1, \"\", vbLf &amp; \" LEFT JOIN \") &amp; \"connectors AS Hop\" &amp; x &amp; IIf(x = 1, \"\", \" ON Hop\" &amp; x - 1 &amp; \".end2 = Hop\" &amp; x &amp; \".end1\" &amp; IIf(x &lt;&gt; maxHops, \")\", \"\"))\n        hORDERBY = hORDERBY &amp; \"Hop\" &amp; x &amp; \".end1, Hop\" &amp; x &amp; \".end2, \"\n    Next x\n\n    hSELECT = Left(hSELECT, Len(hSELECT) - 3) &amp; \" \" &amp; vbLf\n    hFROM = Left(hFROM, Len(hFROM)) &amp; \" \" &amp; vbLf\n    hORDERBY = Left(hORDERBY, Len(hORDERBY) - 2)\n    hSQL = hSELECT &amp; hFROM &amp; hWHERE &amp; hORDERBY\n\n    Debug.Print hSQL\n\nEnd Sub\n<\/code><\/pre>\n<p>Let me know if you have any questions.  I&#8217;m still very curious how large your data set actually is&#8230;<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">4<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Shortest Route of converters between two different pipe sizes? [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The code below is messy and un-commented, but I&#8217;m glad it was able to get you in the right direction, so you were able to figure out the solution! Downloadable MDB on JumpShare here. Option Compare Database: Option Explicit &#8216;I had a theory which I implemented and later commented out in order to handle &#8230; <a title=\"[Solved] Shortest Route of converters between two different pipe sizes? [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\" aria-label=\"More on [Solved] Shortest Route of converters between two different pipe sizes? [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[473,494,401],"class_list":["post-8772","post","type-post","status-publish","format-standard","hentry","category-solved","tag-ms-access","tag-recursion","tag-vba"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The code below is messy and un-commented, but I&#8217;m glad it was able to get you in the right direction, so you were able to figure out the solution! Downloadable MDB on JumpShare here. Option Compare Database: Option Explicit &#039;I had a theory which I implemented and later commented out in order to handle ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-15T05:48:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Shortest Route of converters between two different pipe sizes? [closed]\",\"datePublished\":\"2022-09-15T05:48:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\"},\"wordCount\":179,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\",\"keywords\":[\"ms-access\",\"recursion\",\"vba\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\",\"name\":\"[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\",\"datePublished\":\"2022-09-15T05:48:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Shortest Route of converters between two different pipe sizes? [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb","og_description":"[ad_1] The code below is messy and un-commented, but I&#8217;m glad it was able to get you in the right direction, so you were able to figure out the solution! Downloadable MDB on JumpShare here. Option Compare Database: Option Explicit 'I had a theory which I implemented and later commented out in order to handle ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-15T05:48:11+00:00","og_image":[{"url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg","type":"","width":"","height":""}],"author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Shortest Route of converters between two different pipe sizes? [closed]","datePublished":"2022-09-15T05:48:11+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/"},"wordCount":179,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg","keywords":["ms-access","recursion","vba"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/","name":"[Solved] Shortest Route of converters between two different pipe sizes? [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg","datePublished":"2022-09-15T05:48:11+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#primaryimage","url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-Shortest-Route-of-converters-between-two-different-pipe-sizes.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-shortest-route-of-converters-between-two-different-pipe-sizes-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Shortest Route of converters between two different pipe sizes? [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8772"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8772\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}