Bonjour,
Nous avons un souci concernant une requête SQL. En effet celle ci doit récupérer l'emsemble des données d'un champ. Aprés cela on doit trouver le maximum d'heure trouvé dans le champ et l'insérer dans une variable de type Integer.
Voici le code :
Le soucis provient de la requête :
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
56
57
58
59
60
61
62
63
64
65
66
67 Private Sub Command2_Click() Dim db As Database Dim Rs As Variant Dim Rs1 As Variant Dim erreur As String Dim HeureRestante As Integer Dim tmp As Integer Dim tmp1 As Integer Dim HeureTotalInt As Variant Dim HeureTotal As Variant If (Text8 = "") Then If (Text10 <> "" And Text9 = "") Then erreur = MsgBox("Entrez une date svp") Exit Sub ElseIf (Text9 <> "" And Text10 = "") Then erreur = MsgBox("Entrez un nombre d'heure(s)") Exit Sub End If If IsDate(Text9) Then Else erreur = MsgBox("La date de début de contrat doit être saisi au format JJ/MM/AAAA", vbOKOnly, "Attention") Exit Sub End If Set db = OpenDatabase("db3.mdb") Set HeureTotal = db.OpenRecordset("Select NombreHeureTotal from Client where [N°Client] = '" & Text11 & "' ") Set HeureTotalInt = db.OpenRecordset("Select NombreHeureTotalIntervention from Maintenance where [N°Client] = '" & Text11 & "'") tmp = 0 While Not HeureTotal.EOF If HeureTotal!NombreHeureTotal > tmp Then tmp = HeureTotal!NombreHeureTotal End If HeureTotal.MoveNext Wend tmp1 = 0 HeureTotalInt.MoveFirst While Not HeureTotalInt.EOF If HeureTotalInt!NombreHeureTotalIntervention > tmp1 Then tmp1 = HeureTotalInt!NombreHeureTotalIntervention End If HeureTotalInt.MoveNext Wend tmp1 = tmp1 + Text10 HeureRestante = tmp - tmp1 Set Rs = db.OpenRecordset("select * From Maintenance", dbOpenDynaset) Rs.AddNew 'Ajoute un enregistrment' Rs.Fields("DateIntervention") = Text9.Text Rs.Fields("NombreHeureIntervention") = Text10.Text Rs.Fields("NombreHeureTotalIntervention") = tmp1 Rs.Fields("N°Client") = Text11.Text Rs.Fields("HeureRestante") = HeureRestante Exit Sub
L'erreur est la 3464: Type incompatible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set HeureTotal = db.OpenRecordset("Select NombreHeureTotal from Client where [N°Client] = '" & Text11 & "' ")
Auriez vous une idée d'aide?
Je vous remercie d'avance.
Partager