Bonjour à tous ,

j'aurais voulu savoir s'il y avait des choses a savoir sur les tests d'égalité entre 2 strings car ça fais deux fois que j'essai d'élaborer un test entre 2 string et deux fois qu'aucune égalité ne ressort.A chaque fois aucune instruction du IF ne s'effectue.

voila un code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  Dim rsStock As DAO.Recordset
  Dim rsMode As DAO.Recordset
  Dim firstS As Integer
  Dim lastS As Integer
  Dim FirstM As Integer
  Dim lastM As Integer
  Dim date1 As Date
  Dim Date2 As Date
  Dim Temps As Long
  Dim sTab(100) As String
  Dim nbevt As Integer
 
  Set rsStock = CurrentDb.OpenRecordset("Stock", dbOpenDynaset)
  Set rsMode = CurrentDb.OpenRecordset("Modes", dbOpenDynaset)
 
  DoCmd.RunSQL "delete from Total"
  nbevt = DCount("*", "Evenements", "[IDMachine]=" & Me.IDMachine.Value)
 
  rsStock.MoveFirst
  firstS = rsStock("ID")
  rsStock.MoveLast
  lastS = rsStock("ID")
 
  rsMode.MoveFirst
  FirstM = rsMode("IDentrée")
  rsMode.MoveLast
  lastM = rsMode("IDentrée")
 
 
  For i = 0 To 2 ^ nbevt - 1
    rsMode.FindFirst ("[IDEntrée]=" & i + 1)
    sTab(i) = rsMode("Mode")
  Next i
 
 
 
  For j = 0 To 2 ^ nbevt - 1
  Temps = 0
  For i = firstS To lastS
    rsStock.FindFirst ("[ID]=" & i)
    If rsStock("NomMode") = sTab(j) Then
        date1 = rsStock("DateDébut")
        rsStock.MoveNext
        If rsStock.EOF = False Then
        Date2 = rsStock("DateDébut")
        Temps = Temps + DateDiff("s", date1, Date2)
        Else
            MsgBox ("Machine toujours en " & Me.Mode.Value)
        End If
    End If
   Next i
   DoCmd.RunSQL "Insert into Total(Mode,Total) values( '" & sTab(j) & "' , " & Temps & " )"
   Next j
 
End Sub
rsMode("Mode") est en Texte dans ma table .
rsStock("NomMode") est en texte dans ma table

je pense que le problème vient surement des différences de traitement des chaîne de caractère entre access et vba .. mais comme je n'y connait rien je suis un peu bloquer.
Dois je concaténer de manière à ne prendre que les caractères devant être comparer ? si oui comment ?

pouvez vous m'aider s'il vous plait?