Sub Import_Applications()
Dim SQL_Update, SQL_LEFTJOIN As String
Dim totalApps As Integer
SQL_Delete_Rows_From_Tab = "DELETE * FROM Temp_Import_Tab;"
DoCmd.SetWarnings False
DoCmd.RunSQL ("DROP TABLE Temp_Import_Tab")
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
"Temp_Import_Tab", CurrentProject.Path & "\TempResults_Applications.xlsx", True, "Applications$"
SQL_LEFTJOIN = "INSERT INTO Applications_Tab (AppID, AppNom, Famille, Transit, Description, " & _
"NiveauCriticité, NiveauObsolescence) " & _
"SELECT Temp_Import_Tab.AppID, Temp_Import_Tab.AppNom, " & _
"Temp_Import_Tab.Famille, Temp_Import_Tab.Transit, Temp_Import_Tab.Description, " & _
"Temp_Import_Tab.NiveauCriticité, Temp_Import_Tab.NiveauObsolescence " & _
"FROM Temp_Import_Tab " & _
"LEFT JOIN Applications_Tab " & _
"ON Temp_Import_Tab.AppID = Applications_Tab.AppID;"
DoCmd.RunSQL SQL_LEFTJOIN
Me.Geter_Seter.RowSource = "SELECT MAX([AppID]) FROM Applications_Tab;"
totalApps = [Geter_Seter].[ItemData](0)
AppID = 1
Dim AppIDFromTable, AppNom, Famille, Transit, Description, NiveauCriticité, NiveauObsolescence As String
Do While AppID <> totalApps + 1
Me.Geter_Seter.RowSource = "SELECT [AppID] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
AppIDFromTable = [Geter_Seter].[ItemData](0)
If IsNull(AppIDFromTable) = False Then
Me.Geter_Seter.RowSource = "SELECT [AppNom] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
AppNom = [Geter_Seter].[ItemData](0)
Me.Geter_Seter.RowSource = "SELECT [Famille] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
Famille = [Geter_Seter].[ItemData](0)
Me.Geter_Seter.RowSource = "SELECT [Transit] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
Transit = [Geter_Seter].[ItemData](0)
Me.Geter_Seter.RowSource = "SELECT [Description] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
Description = [Geter_Seter].[ItemData](0)
Me.Geter_Seter.RowSource = "SELECT [NiveauCriticité] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
NiveauCriticité = [Geter_Seter].[ItemData](0)
Me.Geter_Seter.RowSource = "SELECT [NiveauObsolescence] FROM Temp_Import_Tab WHERE [AppID] = " & AppID & ";"
NiveauObsolescence = [Geter_Seter].[ItemData](0)
SQL_Update = "UPDATE Applications_Tab " & _
"SET [AppNom] = '" & AppNom & "', " & _
"[Famille] = '" & Famille & "', " & _
"[Transit] = '" & Transit & "', " & _
"[Description] = '" & Description & "', " & _
"[NiveauCriticité] = '" & NiveauCriticité & "', " & _
"[NiveauObsolescence] = '" & NiveauObsolescence & "' " & _
"WHERE [AppID] = " & AppID & ";"
DoCmd.RunSQL SQL_Update
End If
AppID = AppID + 1
Loop
DoCmd.SetWarnings True
End Sub