Jetzt habe ich Bahnhof:
Die Deklaration:
Public newThread_Statistik As New Thread(AddressOf Update_Statistik) Der Aufruf:
Nach dem DropDownClosed folgt (bei jedem Drop Down):
Try
Me.newThread_Statistik.Start()
Catch ex As Exception
End Try Die Subrutine vom Thread:
Private Sub Update_Statistik()
'Abfrage Statistik
sqlStr = "SELECT Daten.ASN, Daten.PH5, Sum(Daten.PCS) AS Sum_PCS FROM(" & _
"Daten) GROUP BY Daten.ASN, Daten.PH5 HAVING(((Daten.ASN) = '" & _
selectedItem & "'))"
Using connection As New OleDb.OleDbConnection(conStr)
Dim command As New OleDb.OleDbCommand(sqlStr, connection)
connection.Open()
Dim reader As OleDb.OleDbDataReader = command.ExecuteReader()
While reader.Read()
Me.TextBox_pcs.Text = reader("Sum_PCS")
End While
reader.Close()
End Using
sqlStr = "SELECT Daten.ASN, First(Right([Date],4)) AS Jahr_start, Last(" & _
"Right([Date],4)) AS Jahr_ende FROM(Daten) GROUP BY Daten.ASN HAVING (" & _
"((Daten.ASN)='" & selectedItem & "'))"
Using connection As New OleDb.OleDbConnection(conStr)
Dim command As New OleDb.OleDbCommand(sqlStr, connection)
connection.Open()
Dim reader As OleDb.OleDbDataReader = command.ExecuteReader()
While reader.Read()
Me.txt_Eröffnung.Text = reader("Jahr_start")
Me.txt_Annulierung.Text = reader("Jahr_ende")
End While
reader.Close()
End Using
sqlStr = "SELECT tbl_Stammdaten.Material, tbl_Stammdaten.[Gültig ab]," & _
"tbl_Stammdaten.PM FROM(tbl_Stammdaten) GROUP BY" & _
"tbl_Stammdaten.Material, tbl_Stammdaten.[Gültig ab]," & _
"tbl_Stammdaten.PM HAVING (((tbl_Stammdaten.Material)='" & _
selectedItem & "'))"
Using connection As New OleDb.OleDbConnection(conStr)
Dim command As New OleDb.OleDbCommand(sqlStr, connection)
connection.Open()
Dim reader As OleDb.OleDbDataReader = command.ExecuteReader()
While reader.Read()
Me.TextBox_Datum_Eröffnung.Text = reader("Gültig ab")
Me.TextBox_PM.Text = reader("PM")
End While
reader.Close()
End Using
End SubWie kann ich nun diese Abfragen in der Subrutine neu starten, wenn ich doch die Fehlermeldung erhalte? |