Answered Read or get cell value (Excel)

freddyboy

Active member
Joined
Jun 18, 2020
Messages
27
Programming Experience
Beginner
Good evening, I am quite new to VB. I will try to describe as best as I can what I am trying to do.

I have a treeview called "TreeView_Insp_Records". It has several nodes and each nodes text has been renamed by inspections records names. For exemple ( Insp_blabla1, Insp_blabla2, and so on).
Theses inspections can all be found on my excel document shee1. I would like to be able to select the inspection node in the treeview, so that vb search the exact string match on the 1st column and for exemple return the value for column3 (barsalon) in a textbox.
Can I get a hand ?

Column1 (Insp Records)Column2 (Insp Name)Column3 ( Company)Column4 (numbers)
Insp_blabla1fredbarsalon345-334-3333
Insp_blabla2
Insp_blabla3
and so on

 
I got rid of all the other loops and kept:

VB.NET:
 Private Sub Rangeloops()

        Clearalltextbox()   'Make sure all fields are empty while switching form child to child
        TextBox_selectednodes.Text = TreeView_Insp_Records.SelectedNode.Text
        Ping_network()
        
         Dim row As Long
        row = 1
        Dim Inspfred As Worksheet
         Inspfred = Form1.xlWorkBook.Sheets("Inspfred")
          Dim rg1 As Range 'Range pour fred
           rg1 = Inspfred.Range("C1").CurrentRegion
          
           Dim i As Long

        Dim values As Object(,) = rg1.Value

        For i = 1 To values.GetUpperBound(0) 'rows

            If values(i, 3) = TreeView_Insp_Records.SelectedNode.Text Then ' Si les valeurs colonne C = node sélectionner dans treeview
                TextBox_RDIMS.Text = values(i, 19)
                TextBox_RSIG.Text = values(i, 18)
                TextBox_LocationNAME.Text = values(i, 4)
                TextBox_Type.Text = values(i, 6)
                TextBox_ABC.Text = values(i, 7)
                TextBox_Railway.Text = values(i, 5)
                TextBox_issue.Text = values(i, 8)
                TextBox_InspFROM.Text = values(i, 9)
                TextBox_InspTO.Text = values(i, 10)
                TextBox_Total_Insp.Text = values(i, 11)
                TextBox_Date.Text = values(i, 12)
                TextBox_Year.Text = values(i, 2)
                TextBox_Lead_RSI.Text = values(i, 15)
                TextBox_2nd_RSI.Text = values(i, 16)
                TextBox_Letterofconcern.Text = values(i, 21)
                TextBox_Prenotice.Text = values(i, 23)
                TextBox_notice_order.Text = values(i, 26)
                TextBox_NAIAT.Text = values(i, 28)
                TextBox_AMP.Text = values(i, 29)
                TextBox_letterofwarning.Text = values(i, 31)
                TextBox_Comments.Text = values(i, 32)
                TextBox_insp_type.Text = values(i, 17)
                row = row + 1
                Exit For
            End If
        Next
            End Select
    End Sub
 
I am trying to adjust the thread and I'm having a cross thread error with line 19

VB.NET:
Private Sub ExecuteWork(ByVal value As String)

        Dim row As Long
        row = 1
        Dim Inspfred As Worksheet
        Inspfred = Form1.xlWorkBook.Sheets("Inspfred") 
        Dim rg1 As Range 'Range pour fred
        rg1 = Inspfred.Range("C1").CurrentRegion
        
          Dim s As String = "Testing Worker Method"
          
          Dim i as long
          
           Dim values As Object(,) = rg1.Value
                    
          For i = 1 To values.GetUpperBound(0) 'rows
           Debug.Write(s) 'This is running on non-ui thread
            
            If values(i, 3) = TreeView_Insp_Records.SelectedNode.Text Then
               ' If rg1.Cells(i, 3).value = value Then

                    TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                    TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                    TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                    TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                    TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                    TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                    TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                    TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                    TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                    TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                    TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                    TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                    TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                    TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                    TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                    TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                    TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                    TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                    TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                    TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                    TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                    TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                    row = row + 1
                    Exit For
                    'We call the control we MUST invoke, create a new delegate, send it the method to update from, and provide the control to that method, with the new value.
                    'See on updating values from cells : https://stackoverflow.com/questions/23004274/vb-net-excel-worksheet-cells-value
                End If
        Next
 
If you are following the advice i am giving you, then use
value instead of : TreeView_Insp_Records.SelectedNode.Text

Your biggest problem is your lack of understanding of the code you already have.
 
You're close but still missing the point JohnH is making. Since JohnH already answered the bit about the array.

I'll conclude with a simple diagram :
ThreadUI.png
Your UI has its own thread. When you do "work" on that thread, including changing your UI values from within the UI thread, you are deadlocking the UI thread into a state where it can't respond to new requests, or user input because that thread is already occupied/BUSY with the work you told it to do. So unless you setup a new thread from your UI thread, start that new thread, and execute a method from that new thread which involves updating controls on your UI, then you will need to call invoke on every control which requires updating. The Invoker takes an action or delegate, and in our case it was a delegate. That delegate takes two parameters. One for the control being invoked, and one for the value which is the last selected node. The update UI method is already able to communicate with the UI controls through the delegation we just did. Essentially, the delegate lets us cross-talk to our UI through the UI update method. At no point have we returned to the UI thread until the update has completed.

Being armed with this much, can you now understand why you can't call TreeView_Insp_Records.SelectedNode.Text directly from the working thread? Given this much information, you should also know where and when to place new threads when you want to update your UI. Where are you updating your UI/Controls from? Is that specific method running independent VIA a new thread to your UI or on your UI thread? Because unless you start a new thread, and update your UI from the new thread that executed whatever method that updates your controls, you are likely still running it on your UI thread.
 
Good Sir,

Please note that this is not my first language to start with. It adds in the complexity of things. Also, "Threads" are completely new to me and I have to admit that just reading what it does is making me dizzy. It has nothing to do with the way you are explaining it. You are very good at it. You can keep telling me that I do not understand what I have right under my nose as much as you want... If it pleases you... Or to tell me to look up because it was already answered. I'm just trying my best with what I know so far, or what I was able to understand for a father of 4 who tries to focus on one thing at the time. I was able to code the rest of my program by searching the web and pasting stuff together. No, I do not undestand all of it. I am trying, I already know much more than I did 2 weeks ago. I like learning stuff, especially coding. But I don't expect to become a pro anytime soon. I am just a track inspector who is trying to make a small handy program for my work. You can enjoy flying without having to become a pilote!

Now I have to admit, I am a bit lost with all the information that was given to me.
I think that my "Private Sub Rangeloops()" is ok (now that it only has 1 loop instead of 5), but I don't know how to apply all the changes in the " Private Sub ExecuteWork(ByVal value As String)" in order to have only one loop too without getting lost.

I need to catch my breath.
 
You seem to be getting a little frustrated. Don't kick yourself. You're getting there, so just relax. Some light reading on threads might help : Thread Class (System.Threading) You can find additional info on their docs from that page covering this subject.

You had on post 32 :
VB.NET:
If rg1.Cells(i, 3).value = value Then
Then you made the mistake of changing it to :
VB.NET:
If values(i, 3) = TreeView_Insp_Records.SelectedNode.Text Then
You can't access : TreeView_Insp_Records.SelectedNode.Text because it was created by your UI thread.
The parameter in : Private Sub ExecuteWork(ByVal value As String) which is "value", is the same as TreeView_Insp_Records.SelectedNode.Text because we are passing this to the thread when we select a new node. So don't call : TreeView_Insp_Records.SelectedNode.Text and use the parameter ( "value" ) instead.

As for : Private Sub Rangeloops() - you are also updating multiple controls, and again in your Clearalltextbox() method. These should all by right be updated with an entirely new thread. But before you go worrying about them, first work on getting your current method working : ExecuteWork
 
This is where I am :

VB.NET:
Private Sub ExecuteWork(ByVal value As String)
        Dim row As Long
        row = 1
        Dim Inspfred As Worksheet
Dim Inspchris As Worksheet
Dim Inspjr As Worksheet
Dim Inspluc As Worksheet
Dim Inspted As Worksheet
Inspfred = Form1.xlWorkBook.Sheets("Inspfred")
Inspchris = Form1.xlWorkBook.Sheets("Inspchris")
Inspjr = Form1.xlWorkBook.Sheets("Inspjr")
Inspluc = Form1.xlWorkBook.Sheets("Inspluc")
Inspted = Form1.xlWorkBook.Sheets("Inspted")
Dim rg1 As Range 'Range pour fred
Dim rg2 As Range 'Range pour chris
Dim rg3 As Range 'Range pour jr
Dim rg4 As Range 'Range pour luc
Dim rg5 As Range 'Range pour ted
rg1 = Inspfred.Range("C1").CurrentRegion
rg2 = Inspchris.Range("C1").CurrentRegion
rg3 = Inspjr.Range("C1").CurrentRegion
rg4 = Inspluc.Range("C1").CurrentRegion
rg5 = Inspted.Range("C1").CurrentRegion

  Dim s As String = "Testing Worker Method"
        For i = 1 To rg1.Rows.Count
 Debug.Write(s) 'This is running on non-ui thread
 Dim values As Object(,) = rg1.Value
            If rg1.Cells(i, 3).value = value Then
             TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                row = row + 1
                Exit For
                'We call the control we MUST invoke, create a new delegate, send it the method to update from, and provide the control to that method, with the new value.
                'See on updating values from cells : https://stackoverflow.com/questions/23004274/vb-net-excel-worksheet-cells-value
            End If
        Next

        For i = 1 To rg2.Rows.Count 'Range pour Inspchris

            Dim values As Object(,) = rg2.Value

            If rg2.Cells(i, 3).value = value Then
                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                row = row + 1
                Exit For
            End If
        Next

        For i = 1 To rg3.Rows.Count 'Range pour Inspjr
            If rg3.Cells(i, 3).value = value Then

                Dim values As Object(,) = rg3.Value

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                row = row + 1
                Exit For
            End If
        Next

        For i = 1 To rg4.Rows.Count 'Range pour Inspluc
            If rg4.Cells(i, 3).value = value Then

                Dim values As Object(,) = rg4.Value

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                row = row + 1
                Exit For
            End If
        Next

        For i = 1 To rg5.Rows.Count 'Range pour Inspted
            If rg5.Cells(i, 3).value = value Then

                Dim values As Object(,) = rg5.Value

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                row = row + 1
                Exit For
            End If
        Next
    End Sub
 
VB.NET:
Dim values As Object(,) = rg1.Value
For i = 1 To values.GetUpperBound(0) 'rows
    If values(i, 3) = value Then
        'update UI
 
VB.NET:
Dim values As Object(,) = rg1.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then
                'update UI
TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
row = row + 1
Exit For
'We call the control we MUST invoke, create a new delegate, send it the method to update from, and provide the control to that method, with the new value.
'See on updating values from cells : https://stackoverflow.com/questions/23004274/vb-net-excel-worksheet-cells-value
End If
        Next
        For i = 1 To rg2.Rows.Count 'Range pour Inspchris
            ' Dim values As Object(,) = rg2.Value
            If rg2.Cells(i, 3).value = value Then
TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
row = row + 1
Exit For
End If
        Next
        For i = 1 To rg3.Rows.Count 'Range pour Inspjr
            If rg3.Cells(i, 3).value = value Then
                '  Dim values As Object(,) = rg3.Value
                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
row = row + 1
Exit For
End If
        Next
        For i = 1 To rg4.Rows.Count 'Range pour Inspluc
            If rg4.Cells(i, 3).value = value Then
                '  Dim values As Object(,) = rg4.Value
                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
row = row + 1
Exit For
End If
        Next
        For i = 1 To rg5.Rows.Count 'Range pour Inspted
            If rg5.Cells(i, 3).value = value Then
                '   Dim values As Object(,) = rg5.Value
                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
row = row + 1
Exit For
End If
Next
End Sub
 
You can refactor that:
VB.NET:
Dim values As Object(,) = rg1.Value
For i = 1 To values.GetUpperBound(0) 'rows
    If values(i, 3) = value Then
        Invoke(Sub() UpdateUI(values))
        Exit For
    End If
Next

values = rg2.Value
For i = 1 To values.GetUpperBound(0) 'rows
    If values(i, 3) = value Then
        Invoke(Sub() UpdateUI(values))
        Exit For
    End If
Next

'same rg3,rg4,rg5
VB.NET:
Sub UpdateUI(values As Object(,))
    TextBox_RDIMS.Text = values(i, 19)
    TextBox_RSIG.Text = values(i, 18)
    TextBox_LocationNAME.Text = values(i, 4)
    TextBox_Type.Text = values(i, 6)
    TextBox_ABC.Text = values(i, 7)
    TextBox_Railway.Text = values(i, 5)
    TextBox_issue.Text = values(i, 8)
    TextBox_InspFROM.Text = values(i, 9)
    TextBox_InspTO.Text = values(i, 10)
    TextBox_Total_Insp.Text = values(i, 11)
    TextBox_Date.Text = values(i, 12)
    TextBox_Year.Text = values(i, 2)
    TextBox_Lead_RSI.Text = values(i, 15)
    TextBox_2nd_RSI.Text = values(i, 16)
    TextBox_Letterofconcern.Text = values(i, 21)
    TextBox_Prenotice.Text = values(i, 23)
    TextBox_notice_order.Text = values(i, 26)
    TextBox_NAIAT.Text = values(i, 28)
    TextBox_AMP.Text = values(i, 29)
    TextBox_letterofwarning.Text = values(i, 31)
    TextBox_Comments.Text = values(i, 32)
    TextBox_insp_type.Text = values(i, 17)
End Sub
Don't know what's with the "row = row + 1" part, doesn't appear used.

Now the question arise, why continue with next loop if a value has been found? Shouldn't "Exit For" actually be "Exit Sub" ?
 
A lot more clear when I can see it with my eyes.
As for the "row = row + 1", you are right, it's useless and I took it out.
I also changed Exit for for Exit Sub.
Makes more sense that when the value is found, no need to keep looping.

Shall I start showing what I had for the Clearalltext() part, I started something but ended up crying in the dark :p

VB.NET:
  Dim i As long

        Dim values As Object(,) = rg1.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then
                'update UI
                 TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                Exit Sub
                'We call the control we MUST invoke, create a new delegate, send it the method to update from, and provide the control to that method, with the new value.
                'See on updating values from cells : https://stackoverflow.com/questions/23004274/vb-net-excel-worksheet-cells-value
            End If
        Next

        values = rg2.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                Exit Sub
            End If
        Next

        values = rg3.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                Exit Sub
            End If
        Next

        values = rg4.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                Exit Sub
            End If
        Next

        values = rg5.Value
        For i = 1 To values.GetUpperBound(0) 'rows
            If values(i, 3) = value Then

                TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS, values(i, 19))
                TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG, values(i, 18))
                TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME, values(i, 4))
                TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type, values(i, 6))
                TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC, values(i, 7))
                TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway, values(i, 5))
                TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue, values(i, 8))
                TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspFROM, values(i, 9))
                TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO, values(i, 10))
                TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp, values(i, 11))
                TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date, values(i, 12))
                TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year, values(i, 2))
                TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI, values(i, 15))
                TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI, values(i, 16))
                TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern, values(i, 21))
                TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice, values(i, 23))
                TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order, values(i, 26))
                TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT, values(i, 28))
                TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP, values(i, 29))
                TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning, values(i, 31))
                TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments, values(i, 32))
                TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type, values(i, 17))
                Exit Sub
            End If
        Next
    End Sub
 
VB.NET:
This was my 2cent worth of try:

Public Class RSIform

 Dim MonThread As New Thread(AddressOf Rangeloops)
    Public Delegate Sub Callback(ByVal s As Control, ByVal v As Object)
    
     'Dim MonThread2 As New Thread(AddressOf Clearalltxtboxthread)
    
      Private Sub TreeView_Insp_Records_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView_Insp_Records.AfterSelect
        'Dim thread2 As New Thread(Sub() Clearalltxtboxthread(Text))
        'thread2.Start()

        Clearalltextbox() 'Make sure all fields are empty while switching form child to child
        TextBox_selectednodes.Text = TreeView_Insp_Records.SelectedNode.Text
        Ping_network()

        Dim thread As New Thread(Sub() ExecuteWork(e.Node.Text))
        thread.Start()
    End Sub
     'Not sure if its ( .Text = "" instead of = .Text = text  ) I tried both with errors.
    'Private Sub Clearalltxtboxthread(ByVal text As String)

    '    txtNodeTextSearch.Invoke(New Callback(AddressOf UpdateUI), txtNodeTextSearch.Text = text)
    '    TextBox_RDIMS.Invoke(New Callback(AddressOf UpdateUI), TextBox_RDIMS.Text = text)
    '    TextBox_RSIG.Invoke(New Callback(AddressOf UpdateUI), TextBox_RSIG.Text = text)
    '    TextBox_LocationNAME.Invoke(New Callback(AddressOf UpdateUI), TextBox_LocationNAME.Text = text)
    '    TextBox_Railway.Invoke(New Callback(AddressOf UpdateUI), TextBox_Railway.Text = text)
    '    TextBox_Type.Invoke(New Callback(AddressOf UpdateUI), TextBox_Type.Text = text)
    '    TextBox_ABC.Invoke(New Callback(AddressOf UpdateUI), TextBox_ABC.Text = text)
    '    TextBox_issue.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue.Text = text)
    '    TextBox_InspFROM.Invoke(New Callback(AddressOf UpdateUI), TextBox_issue.Text = text)
    '    TextBox_InspTO.Invoke(New Callback(AddressOf UpdateUI), TextBox_InspTO.Text = text)
    '    TextBox_Total_Insp.Invoke(New Callback(AddressOf UpdateUI), TextBox_Total_Insp.Text = text)
    '    TextBox_Date.Invoke(New Callback(AddressOf UpdateUI), TextBox_Date.Text = text)
    '    TextBox_Year.Invoke(New Callback(AddressOf UpdateUI), TextBox_Year.Text = text)
    '    TextBox_Lead_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_Lead_RSI.Text = text)
    '    TextBox_2nd_RSI.Invoke(New Callback(AddressOf UpdateUI), TextBox_2nd_RSI.Text = Text)
    '    TextBox_Letterofconcern.Invoke(New Callback(AddressOf UpdateUI), TextBox_Letterofconcern.Text = text)
    '    TextBox_Prenotice.Invoke(New Callback(AddressOf UpdateUI), TextBox_Prenotice.Text = text)
    '    TextBox_notice_order.Invoke(New Callback(AddressOf UpdateUI), TextBox_notice_order.Text = text)
    '    TextBox_AMP.Invoke(New Callback(AddressOf UpdateUI), TextBox_AMP.Text = text)
    '    TextBox_NAIAT.Invoke(New Callback(AddressOf UpdateUI), TextBox_NAIAT.Text = text)
    '    TextBox_letterofwarning.Invoke(New Callback(AddressOf UpdateUI), TextBox_letterofwarning.Text = text)
    '    TextBox_Comments.Invoke(New Callback(AddressOf UpdateUI), TextBox_Comments.Text = text)
    '    TextBox_selectednodes.Invoke(New Callback(AddressOf UpdateUI), TextBox_selectednodes.Text = text)
    '    TextBox_insp_type.Invoke(New Callback(AddressOf UpdateUI), TextBox_insp_type.Text = text)

    'End Sub
      Private Sub Clearalltextbox()

        txtNodeTextSearch.Text = ""
        TextBox_RDIMS.Text = ""
        TextBox_RSIG.Text = ""
        TextBox_LocationNAME.Text = ""
        TextBox_Railway.Text = ""
        TextBox_Type.Text = ""
        TextBox_ABC.Text = ""
        TextBox_issue.Text = ""
        TextBox_InspFROM.Text = ""
        TextBox_InspTO.Text = ""
        TextBox_Total_Insp.Text = ""
        TextBox_Date.Text = ""
        TextBox_Year.Text = ""
        TextBox_Lead_RSI.Text = ""
        TextBox_2nd_RSI.Text = ""
        TextBox_Letterofconcern.Text = ""
        TextBox_Prenotice.Text = ""
        TextBox_notice_order.Text = ""
        TextBox_AMP.Text = ""
        TextBox_NAIAT.Text = ""
        TextBox_letterofwarning.Text = ""
        TextBox_Comments.Text = ""
        TextBox_selectednodes.Text = ""
        TextBox_insp_type.Text = ""

    End Sub
 
Where are you pulling text from? Get some rest, you've been at this all day.

And I can't look at it right now either, as my eyes are burning from signing contracts all day. Maybe through the night, JohnH might help you straighten out some of your code, providing he's feeling generous. ?

If you want to pass in a parameter to clear your textboxes. Set it with String.Empty or "" not "text".

Good night for now.

PS. doing a code dump on p/43 isn't very helpful. I don't know how far you've come. So explain where you are at and what your current problem is with the code you have.
 
VB.NET:
VB.NET:
Alright, so before I head to bed; this is where I'm at.
No rush for any answers, get some rest and we'll exploit your brain tomorrow!
Until then, this is what I did, I tried making a Thread for Clearalltext and it gave me an error at line 31 and probably all the other lines underneath as showed on the picture attached.
It's still not clear for me if a delegates always require a thread of their own, or I can have 1 main thread with 2 delegates ?   Plz don't throw rocks at me!

Because of the error, I tried another way and I don't get any error.

Public Class RSIform

    Dim MonThread As New Thread(AddressOf Rangeloops)
    Public Delegate Sub Callback(ByVal s As Control, ByVal v As Object)

    Dim Thread2 As New Thread(AddressOf Clearalltxtboxthread)
    Public Delegate Sub CallbackClearalltext(ByVal s As String)

     Private Sub TreeView_Insp_Records_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView_Insp_Records.AfterSelect

        Dim thread As New Thread(Sub() ExecuteWork(e.Node.Text))
        thread.Start()

        Dim thread2 As New Thread(Sub() Clearalltxtboxthread(e.Node.Text))
        Thread2.Start()

     Clearalltextbox() 'Make sure all fields are empty while switching form child to child
        TextBox_selectednodes.Text = TreeView_Insp_Records.SelectedNode.Text
        Ping_network()

     Private Sub Clearalltxtboxthread(ByVal text As String)


        'txtNodeTextSearch.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), txtNodeTextSearch.Text, String.Empty)
        'TextBox_RDIMS.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_RDIMS.Text = String.Empty)
        'TextBox_RSIG.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_RSIG.Text = String.Empty)
        'TextBox_LocationNAME.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_LocationNAME.Text = String.Empty)
        'TextBox_Railway.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Railway.Text = String.Empty)
        'TextBox_Type.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Type.Text = String.Empty)
        'TextBox_ABC.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_ABC.Text = String.Empty)
        'TextBox_issue.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_issue.Text = String.Empty)
        'TextBox_InspFROM.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_issue.Text = String.Empty)
        'TextBox_InspTO.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_InspTO.Text = String.Empty)
        'TextBox_Total_Insp.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Total_Insp.Text = String.Empty)
        'TextBox_Date.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Date.Text = String.Empty)
        'TextBox_Year.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Year.Text = String.Empty)
        'TextBox_Lead_RSI.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Lead_RSI.Text = String.Empty)
        'TextBox_2nd_RSI.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_2nd_RSI.Text = String.Empty)
        'TextBox_Letterofconcern.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Letterofconcern.Text = String.Empty)
        'TextBox_Prenotice.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Prenotice.Text = String.Empty)
        'TextBox_notice_order.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_notice_order.Text = String.Empty)
        'TextBox_AMP.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_AMP.Text = String.Empty)
        'TextBox_NAIAT.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_NAIAT.Text = String.Empty)
        'TextBox_letterofwarning.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_letterofwarning.Text = String.Empty)
        'TextBox_Comments.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_Comments.Text = String.Empty)
        'TextBox_selectednodes.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_selectednodes.Text = String.Empty)
        'TextBox_insp_type.Invoke(New CallbackClearalltext(AddressOf Clearalltxtboxthread), TextBox_insp_type.Text = String.Empty)

        'I comment the above code because I was getting error and tried this instead:

 
  Me.Invoke(Sub()
                      Me.txtNodeTextSearch.Text = ""
                      Me.TextBox_RDIMS.Text = ""
                      Me.TextBox_RSIG.Text = ""
                      Me.TextBox_LocationNAME.Text = ""
                      Me.TextBox_Railway.Text = ""
                      Me.TextBox_Type.Text = ""
                      Me.TextBox_ABC.Text = ""
                      Me.TextBox_issue.Text = ""
                      Me.TextBox_InspFROM.Text = ""
                      Me.TextBox_InspTO.Text = ""
                      Me.TextBox_Total_Insp.Text = ""
                      Me.TextBox_Date.Text = ""
                      Me.TextBox_Year.Text = ""
                      Me.TextBox_Lead_RSI.Text = ""
                      Me.TextBox_2nd_RSI.Text = ""
                      Me.TextBox_Letterofconcern.Text = ""
                      Me.TextBox_Prenotice.Text = ""
                      Me.TextBox_AMP.Text = ""
                      Me.TextBox_NAIAT.Text = ""
                      Me.TextBox_letterofwarning.Text = ""
                      Me.TextBox_Comments.Text = ""
                      Me.TextBox_selectednodes.Text = ""
                      Me.TextBox_insp_type.Text = ""
                  End Sub)
     End Sub

      Private Sub Clearalltextbox()

        txtNodeTextSearch.Text = ""
        TextBox_RDIMS.Text = ""
        TextBox_RSIG.Text = ""
        TextBox_LocationNAME.Text = ""
        TextBox_Railway.Text = ""
        TextBox_Type.Text = ""
        TextBox_ABC.Text = ""
        TextBox_issue.Text = ""
        TextBox_InspFROM.Text = ""
        TextBox_InspTO.Text = ""
        TextBox_Total_Insp.Text = ""
        TextBox_Date.Text = ""
        TextBox_Year.Text = ""
        TextBox_Lead_RSI.Text = ""
        TextBox_2nd_RSI.Text = ""
        TextBox_Letterofconcern.Text = ""
        TextBox_Prenotice.Text = ""
        TextBox_notice_order.Text = ""
        TextBox_AMP.Text = ""
        TextBox_NAIAT.Text = ""
        TextBox_letterofwarning.Text = ""
        TextBox_Comments.Text = ""
        TextBox_selectednodes.Text = ""
        TextBox_insp_type.Text = ""

    End Sub
Capture.PNG
VB.NET:
 
Last edited:
Back
Top