Bonjour à tous,
en fait j'ai 3 Table T_Dossier ( clé primaire NumDossier), T_Offre ( clé primaire NumOffre, il y a un champ Cas de type liste pour donner la suite donnée à l'offre Retenue, rejeté, ou sélectionnée), enfin la table T_Offre_Dossier (clé primaire N°, deux clé étrangeres : NumDossier, et NumOffre)
et tous ça pour relié l'offre au dossier ( chaque offre peut correspondre a plusieurs dossier et chaque dossier peut avoir plusieurs offre)
Mon souci que je veux interdire la selection "retenue" pour une offre tant qu'il y a déja une offre retenue pour le meme dossier
Donc j'ai fais ce code là:
R_retenue est une requete qui selectionne tout dossier avec son offre retenue
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 Private Sub Modifiable71_Change() Dim numD As Integer, sql As String Dim rs As DAO.Recordset numD = Form_F_liste_dossiers.NumDossier.Value sql = "select * from R_Retenue where NumDossier=" & numD Set rs = CurrentDb.OpenRecordset(sql, dbOpenSnapshot) If Len(sql) = 0 Then Exit Sub End If If rs.Fields("NumOffre") <> Me.NumOffre.Value And Me.Modifiable71.Value = "Retenue" Then MsgBox " Cette offre ne peut être retenue, car une autre offre est déjà retenue pour ce dossier", , "Avertissement" Me.Modifiable71.Value = "" End If rs.Close End Sub
ce code marche quand il y a une offre déjà retenue, mais qd il n y a pa il bloque et il me dit il n y a aucun enregistrement erreur 3021..
quelqu'un peut m'aider svp?
merci
Partager