Bonjour,

je ne m'y connais pas très bien en Visual Basic et je dois l'utiliser dans le cas suivant:

J'ai un formulaire « Langue » dans lequel je veux faire une validation sur la suppression.

Lorsque l'utilisateur veut supprimer une langue, je veux aller vérifier dans la table « centre » si cette langue est déjà utilisée dans un enregistrement ou non (il y a une relation entre les tables « centre » et « langue », mais je n’ai pas mis le respect de l’intégrité référentielle, car je ne veux pas que le champ langue soit obligatoire dans la table « centre »)

Donc, si la langue n’est pas utilisée par une centre, je peux permettre la suppression de la langue dans la table « langue » via le formulaire « langue », sinon la suppression est interdite.

Bon en fait, je crois que la façon d’y arriver est de mettre une procédure événementielle dans le formulaire langue sur « Sur suppression » qui fera la vérification.

Mon problème est que je ne sais pas comment insérer le code SQL dans le code Visual Basic.

J’ai ce qui suit :

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
 Private Sub Form_Delete(Cancel As Integer)
'Vérifier si la langue est utilisée par un centre avant de la supprimer
 
'Déclaration de la variable
Dim id_langue As Integer
 
'Affectation de la variable à la langue sélectionnée dans le formulaire pour la suppression
id_langue = Me![id langue]
 
Bon c’est ici que je ne sais pas comment insérer l’instruction SQL :
 
 If (mon instruction SQL a trouvé un enregistrement correspondant a la   langue sélectionnée dans la table centre) = True Then
       MsgBox "Vous ne pouvez pas supprimer cette langue, car elle est déjà utilisée par un centre", vbExclamation   
     Cancel = True
 
 Else
    Cancel = False    
 
 End If
 
End Sub
Mon instruction SQL est la suivante :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
 SELECT [tbl centre].[id langue] FROM [tbl groupe] WHERE [tbl groupe].[id langue]= id_langue);

Mais je sais que cette instruction retourne des enregistrements et non une valeur booléenne...

Donc pouvez vous m’expliquer comment faire une instruction retournant une valeur true/false et comment l’insérer dans mon code Visual Basic ??

Merci pour toutes vos réponses

Isabelle