C'est normal, 17 pour Access ne correspond à rien.
Essaie avec [id] = 17
C'est normal, 17 pour Access ne correspond à rien.
Essaie avec [id] = 17
DoCmd.OpenForm stDocName, acNormal, , [ID] = 8
DoCmd.OpenForm stDocName, acNormal, , "[ID] =" 8
DoCmd.OpenForm stDocName, acNormal, , "[ID] =" & 8
ca ne marche pas ...
J'essaye un peu tout car je ne connait pas ce langage : la signification des " et du &
"&" est opérateur de concaténation.
c'est pour du texte équivalent au +
a & b = ab
1 & 2 = 12
a & 1 = a1
les "" sont utilisés pour qualifier du texte.
Il ne reste qu'un solution que tu n'as pas testée
"[id] = 8"
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113 Private Sub chkdate_Click() Me.cmbdate1.Visible = Not Me.cmbdate1.Visible Me.cmbdate2.Visible = Not Me.cmbdate2.Visible RefreshQuery End Sub Private Sub chkmachine_Click() Me.cmbmachine.Visible = Not Me.cmbmachine.Visible RefreshQuery End Sub Private Sub chknom_Click() Me.cmbnom.Visible = Not Me.cmbnom.Visible RefreshQuery End Sub Private Sub chktermine_Click() Me.cmbtermine.Visible = Not Me.cmbtermine.Visible RefreshQuery End Sub Private Sub chktype_Click() Me.cmbpanne.Visible = Not Me.cmbpanne.Visible RefreshQuery End Sub Private Sub RefreshQuery() Dim SQL As String Dim SQLWhere As String Dim a As String SQL = "SELECT Machine, Technicien, Datem, Opération_terminée, Type_panne, Description_problème FROM Maintenance Where Maintenance!ID <> 0 " If Me.chknom = -1 Then SQL = SQL & "And Maintenance!Technicien = '" & Me.cmbnom & "' " End If If Me.chkmachine = -1 Then SQL = SQL & "And Maintenance!Machine = '" & Me.cmbmachine & "' " End If If Me.chktype = -1 Then SQL = SQL & "And Maintenance!Type_panne = '" & Me.cmbpanne & "' " End If If Me.chkdate = -1 Then SQL = SQL & " and Maintenance!Datem between " & CLng(Me.cmbdate1) - 1 & " and " & CLng(Me.cmbdate2) - 1 End If If Me.chktermine = -1 Then SQL = SQL & "And Maintenance!Opération_terminée = '" & Me.cmbtermine & "' " End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" Me.Listresult.RowSource = SQL Me.Listresult.Requery End Sub Private Sub cmbdate1_Exit(Cancel As Integer) RefreshQuery End Sub Private Sub cmbnom_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbmachine_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbpanne_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbtermine_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbdate1_beforeupdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbdate2_beforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub Form_Load() Me.cmbdate2.Visible = False Me.cmbdate1.Visible = False Me.cmbmachine.Visible = False Me.cmbnom.Visible = False Me.cmbtermine.Visible = False Me.cmbpanne.Visible = False End Sub Private Sub listResult_DblClick(Cancel As Integer) Dim stDocName As String Dim stLinkCriteria As String stDocName = "Maintenance" stLinkCriteria = [ID] = 10 DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria Forms!Maintenance.AllowEdits = False End Sub
voici mon programme
ca marche !!Envoyé par Heureux-oli
le pb viendrait donc de mon listresult ??
Tu mets unet vérifie la valeur retournée dans ton box
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox me.listresult
comment je fais pour insérer une image?
Ca serait plus facile pour t'expiquer.
La valeur retournée n'est pas celle que je souhaite. Au lieu de renvoyer l'ID de ma table Maintenance, ça renvoit le premier champ de ma liste qui est le numéro de la machine.
C'est bon! J'ai changé le premier champ de la liste et j'ai mis l'ID.
Ca fonctionne!!! Merci!!!
Maintenant,
Puis-je faire un état (je sais pas si c'est comme ça que ça s'appelle en francais. En anglais :report) à partir de ma liste ?
Oui,
Pour ton Report, le plus simple est de le baser sur un Query qui va chercher son critère dans dans liste.
De cette manière, tu auras toujours les bonnes infos.
et je peux faire cette requête directement à partir de ma liste ?
Faut pas exagérer des bonnes choses.
Tu vas dans le QBE (Query By Example) de Access.
Tu choisis la ou les tables qui contiennent tes données.
Tu choisis les champs qui seront sur ton Report.
Dans la ligne Criteria, tu fais un clic droit et tu choisis Build.
Le reste coule de source.
eh eh![]()
ouais j'ai déjà créer une requête, et un état aussi.
Ca aurait été pratique pour mon programme de générer l'état directement.
Je reposterai un truc plus tard par rapport à ça![]()
En tout cas merci beaucoup, tu m'as permis de pas mal avancer !
![]()
N'oublie pas![]()
Résolu à moitié eh eh
Une dernière petite chose ... Il faudrait que tu me dises comment faire pour mettre une image dans mon post afin de t'expliquer quelque chose et que tu me repondes (je ne pense pas que ça soit trop compliqué).
merci encore
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager