Here is the code of my search function :
Private Sub Recherche_Click()
Select Case Search
Case 0
SQL ("UPDATE [AIX] SET Recherche='R1' WHERE [Types] LIKE '%" & SearchTypes & "%' AND [Commandes] LIKE '%" & SearchCommandes & "%' AND [Description] LIKE '%" & SearchDescription & "%' ")
With Adodc1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DBQ=C:\Unix\DataBase\AIX.mdb;DefaultDir=C:\Unix\DataBase;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Unix\DataBase\ODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"""
.RecordSource = " SELECT * FROM [AIX] WHERE [Types] LIKE '%" & SearchTypes & "%' AND [Commandes] LIKE '%" & SearchCommandes & "%' AND [Description] LIKE '%" & SearchDescription & "%' AND [Recherche] LIKE '%R1%' "
.Refresh
End With
KeepTypes1 = SearchTypes
KeepCommandes1 = SearchCommandes
KeepDescription1 = SearchDescription
Search = 1
Case 1
SQL ("UPDATE [AIX] SET Recherche='R1' WHERE [Types] LIKE '%" & KeepTypes1 & "%' AND [Commandes] LIKE '%" & KeepCommandes1 & "%' AND [Description] LIKE '%" & KeepDescription1 & "%' ")
SQL ("UPDATE [AIX] SET Recherche='R2' WHERE [Types] LIKE '%" & SearchTypes & "%' AND [Commandes] LIKE '%" & SearchCommandes & "%' AND [Description] LIKE '%" & SearchDescription & "%' AND [Recherche] LIKE '%R1%'")
With Adodc1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DBQ=C:\Unix\DataBase\AIX.mdb;DefaultDir=C:\UNIX\DATABASE;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Unix\DataBase\ODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"""
.RecordSource = " SELECT * FROM [AIX] WHERE [Recherche] LIKE '%R2%' "
.Refresh
End With
KeepTypes2 = SearchTypes
KeepCommandes2 = SearchCommandes
KeepDescription2 = SearchDescription
Search = 2
Case 2
MAJRecherche
With Adodc1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DBQ=C:\Unix\DataBase\AIX.mdb;DefaultDir=C:\UNIX\DATABASE;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Unix\DataBase\ODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"""
.RecordSource = " SELECT * FROM [AIX] WHERE [Recherche] LIKE '%R2%' AND [Types] LIKE '%" & SearchTypes & "%' AND [Commandes] LIKE '%" & SearchCommandes & "%' AND [Description] LIKE '%" & SearchDescription & "%'"
.Refresh
End With
Search = 2
End Select
'New Search with new criteria
If Text1.Text = "" And Text2.Text = "" And Text3.Text = "" Then
SQL ("UPDATE [AIX] SET [Recherche]='' WHERE [Recherche] LIKE '%R1%' OR [Recherche] LIKE '%R2%'")
With Adodc1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DBQ=C:\Unix\DataBase\AIX.mdb;DefaultDir=C:\UNIX\DATABASE;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Unix\DataBase\ODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"""
.RecordSource = " SELECT * FROM [AIX] WHERE [Types] LIKE '%" & SearchTypes & "%' AND [Commandes] LIKE '%" & SearchCommandes & "%' AND [Description] LIKE '%" & SearchDescription & "%' "
.Refresh
End With
End If
End Sub
Here is the module SQL:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Function SQL(Request As String)
With conn
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DBQ=C:\Unix\DataBase\AIX.mdb;DefaultDir=C:\UNIX\DATABASE;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Unix\DataBase\ODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"""
.Open
End With
With rs
conn.Execute "" & Request & "", NUMOFRECORDS
conn.Close
End With
Set rs = Nothing
Set conn = Nothing
End Function
AND Here is the module MAJRecherche:
Public Sub MAJRecherche()
Select Case Search
Case 1 'Cor
SQL ("UPDATE [AIX] SET Recherche='R2' WHERE [Types] LIKE '%" & KeepTypes1 & "%' AND [Commandes] LIKE '%" & KeepCommandes1 & "%' AND [Description] LIKE '%" & KeepDescription1 & "%'")
Case 2
SQL ("UPDATE [AIX] SET Recherche='R1' WHERE [Types] LIKE '%" & KeepTypes1 & "%' AND [Commandes] LIKE '%" & KeepCommandes1 & "%' AND [Description] LIKE '%" & KeepDescription1 & "%' ")
SQL ("UPDATE [AIX] SET Recherche='R2' WHERE [Types] LIKE '%" & KeepTypes2 & "%' AND [Commandes] LIKE '%" & KeepCommandes2 & "%' AND [Description] LIKE '%" & KeepDescription2 & "%' AND [Recherche] LIKE '%R1%'")
End Select
End Sub