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 :
rsMode("Mode") est en Texte dans ma table .
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
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?
Partager