Stack layered lookup












1












$begingroup$


This is code I wrote to check a product structure from 1 table in a database. It's based on a type which can have area(s) and area(s) can have group(s).



I have:



type and code area: blank group: blank
type and area and code group:blank
type and area and group and code


As you can see, it is stacked and the lookup is layered to find the correct code. Is there something I can do to improve it?



Public Function StackLayeredLookup()
Dim Start As Integer
Dim lStart As Integer
Dim cRows As Integer
Dim lRows As Integer

Dim TypeValue As String
Dim TypeCode As String
Dim AreaValue As String
Dim AreaCode As String
Dim GroupValue As String
Dim GroupCode As String

Dim aValue As String
Dim dValue As String

Const TypeCol = "G"
Const AreaCol = "H"
Const GroupCol = "I"

Const RegCol = "E"

Const tValueCol = "P"
Const aValueCol = "Q"
Const gValueCol = "R"

'Region = "MEX"

Start = 2

cRows = Worksheets(2).UsedRange.Rows.Count
lRows = Worksheets("TagCodes").UsedRange.Rows.Count

Do Until Start = cRows


TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value

If (TypeValue <> "") Then

TypeCode = ""

lStart = 1

Do Until TypeCode <> "" Or lStart = lRows + 1

If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then

aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

If (aValue = " " And gValue = " ") Then

Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value

TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value

Exit Do

End If

Else

lStart = lStart + 1

End If

Loop
If (TypeCode = "") Then

Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

Else

Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

End If
If (TypeCode <> "" And AreaValue <> "") Then

AreaCode = ""

lStart = 1

Do Until AreaCode <> "" Or lStart = lRows + 1

If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then

gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then

Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value

Exit Do
Else

lStart = lStart + 1

End If

Else

lStart = lStart + 1

End If

Loop
If (AreaCode = "") Then

Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else

Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

End If
If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then

GroupCode = ""

lStart = 1

Do Until GroupCode <> "" Or lStart = lRows + 1

If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then

If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then

Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value


Exit Do
Else

lStart = lStart + 1

End If

Else

lStart = lStart + 1

End If

Loop
If (GroupCode = "") Then

Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else

Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

End If
Else

Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

End If
Else

Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

End If
Else

Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

End If

Start = Start + 1

Loop
End Function









share|improve this question











$endgroup$

















    1












    $begingroup$


    This is code I wrote to check a product structure from 1 table in a database. It's based on a type which can have area(s) and area(s) can have group(s).



    I have:



    type and code area: blank group: blank
    type and area and code group:blank
    type and area and group and code


    As you can see, it is stacked and the lookup is layered to find the correct code. Is there something I can do to improve it?



    Public Function StackLayeredLookup()
    Dim Start As Integer
    Dim lStart As Integer
    Dim cRows As Integer
    Dim lRows As Integer

    Dim TypeValue As String
    Dim TypeCode As String
    Dim AreaValue As String
    Dim AreaCode As String
    Dim GroupValue As String
    Dim GroupCode As String

    Dim aValue As String
    Dim dValue As String

    Const TypeCol = "G"
    Const AreaCol = "H"
    Const GroupCol = "I"

    Const RegCol = "E"

    Const tValueCol = "P"
    Const aValueCol = "Q"
    Const gValueCol = "R"

    'Region = "MEX"

    Start = 2

    cRows = Worksheets(2).UsedRange.Rows.Count
    lRows = Worksheets("TagCodes").UsedRange.Rows.Count

    Do Until Start = cRows


    TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
    AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
    GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value

    If (TypeValue <> "") Then

    TypeCode = ""

    lStart = 1

    Do Until TypeCode <> "" Or lStart = lRows + 1

    If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then

    aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

    gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

    If (aValue = " " And gValue = " ") Then

    Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value

    TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value

    Exit Do

    End If

    Else

    lStart = lStart + 1

    End If

    Loop
    If (TypeCode = "") Then

    Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    Else

    Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

    End If
    If (TypeCode <> "" And AreaValue <> "") Then

    AreaCode = ""

    lStart = 1

    Do Until AreaCode <> "" Or lStart = lRows + 1

    If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then

    gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

    If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then

    Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

    AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value

    Exit Do
    Else

    lStart = lStart + 1

    End If

    Else

    lStart = lStart + 1

    End If

    Loop
    If (AreaCode = "") Then

    Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
    Else

    Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

    End If
    If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then

    GroupCode = ""

    lStart = 1

    Do Until GroupCode <> "" Or lStart = lRows + 1

    If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then

    If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then

    Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

    GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value


    Exit Do
    Else

    lStart = lStart + 1

    End If

    Else

    lStart = lStart + 1

    End If

    Loop
    If (GroupCode = "") Then

    Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
    Else

    Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

    End If
    Else

    Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    End If
    Else

    Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    End If
    Else

    Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

    End If

    Start = Start + 1

    Loop
    End Function









    share|improve this question











    $endgroup$















      1












      1








      1


      1



      $begingroup$


      This is code I wrote to check a product structure from 1 table in a database. It's based on a type which can have area(s) and area(s) can have group(s).



      I have:



      type and code area: blank group: blank
      type and area and code group:blank
      type and area and group and code


      As you can see, it is stacked and the lookup is layered to find the correct code. Is there something I can do to improve it?



      Public Function StackLayeredLookup()
      Dim Start As Integer
      Dim lStart As Integer
      Dim cRows As Integer
      Dim lRows As Integer

      Dim TypeValue As String
      Dim TypeCode As String
      Dim AreaValue As String
      Dim AreaCode As String
      Dim GroupValue As String
      Dim GroupCode As String

      Dim aValue As String
      Dim dValue As String

      Const TypeCol = "G"
      Const AreaCol = "H"
      Const GroupCol = "I"

      Const RegCol = "E"

      Const tValueCol = "P"
      Const aValueCol = "Q"
      Const gValueCol = "R"

      'Region = "MEX"

      Start = 2

      cRows = Worksheets(2).UsedRange.Rows.Count
      lRows = Worksheets("TagCodes").UsedRange.Rows.Count

      Do Until Start = cRows


      TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
      AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
      GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value

      If (TypeValue <> "") Then

      TypeCode = ""

      lStart = 1

      Do Until TypeCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then

      aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

      gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      If (aValue = " " And gValue = " ") Then

      Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value

      TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value

      Exit Do

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (TypeCode = "") Then

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Else

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      If (TypeCode <> "" And AreaValue <> "") Then

      AreaCode = ""

      lStart = 1

      Do Until AreaCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then

      gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then

      Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

      AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value

      Exit Do
      Else

      lStart = lStart + 1

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (AreaCode = "") Then

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
      Else

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then

      GroupCode = ""

      lStart = 1

      Do Until GroupCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then

      If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then

      Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value


      Exit Do
      Else

      lStart = lStart + 1

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (GroupCode = "") Then

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
      Else

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      Else

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If
      Else

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If
      Else

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If

      Start = Start + 1

      Loop
      End Function









      share|improve this question











      $endgroup$




      This is code I wrote to check a product structure from 1 table in a database. It's based on a type which can have area(s) and area(s) can have group(s).



      I have:



      type and code area: blank group: blank
      type and area and code group:blank
      type and area and group and code


      As you can see, it is stacked and the lookup is layered to find the correct code. Is there something I can do to improve it?



      Public Function StackLayeredLookup()
      Dim Start As Integer
      Dim lStart As Integer
      Dim cRows As Integer
      Dim lRows As Integer

      Dim TypeValue As String
      Dim TypeCode As String
      Dim AreaValue As String
      Dim AreaCode As String
      Dim GroupValue As String
      Dim GroupCode As String

      Dim aValue As String
      Dim dValue As String

      Const TypeCol = "G"
      Const AreaCol = "H"
      Const GroupCol = "I"

      Const RegCol = "E"

      Const tValueCol = "P"
      Const aValueCol = "Q"
      Const gValueCol = "R"

      'Region = "MEX"

      Start = 2

      cRows = Worksheets(2).UsedRange.Rows.Count
      lRows = Worksheets("TagCodes").UsedRange.Rows.Count

      Do Until Start = cRows


      TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
      AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
      GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value

      If (TypeValue <> "") Then

      TypeCode = ""

      lStart = 1

      Do Until TypeCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then

      aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

      gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      If (aValue = " " And gValue = " ") Then

      Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value

      TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value

      Exit Do

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (TypeCode = "") Then

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Else

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      If (TypeCode <> "" And AreaValue <> "") Then

      AreaCode = ""

      lStart = 1

      Do Until AreaCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then

      gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then

      Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value

      AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value

      Exit Do
      Else

      lStart = lStart + 1

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (AreaCode = "") Then

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
      Else

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then

      GroupCode = ""

      lStart = 1

      Do Until GroupCode <> "" Or lStart = lRows + 1

      If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then

      If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then

      Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value

      GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value


      Exit Do
      Else

      lStart = lStart + 1

      End If

      Else

      lStart = lStart + 1

      End If

      Loop
      If (GroupCode = "") Then

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
      Else

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)

      End If
      Else

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If
      Else

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If
      Else

      Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)

      End If

      Start = Start + 1

      Loop
      End Function






      vba






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 15 mins ago









      Jamal

      30.3k11117227




      30.3k11117227










      asked 21 mins ago









      BanMeBanMe

      467




      467






















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f213282%2fstack-layered-lookup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f213282%2fstack-layered-lookup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          Refactoring coordinates for Minecraft Pi buildings written in Python