Savoir si la requête retourne un résultat ? (Résolu)

Savoir si la requête retourne un résultat ? (Résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 22-05-2007 à 05:18:59    

Voilà, je me galère depuis assez longtemps dessus. J'aimerais savoir comment on peut vérifier qu'une requête SQL retourne ou non un résultat.
Voici le code :
 
Private Sub Supprimer_le_client_Click()
   Dim id As Integer
   Dim sql As String
   id = Form_client_livre.id
   sql = "SELECT id WHERE id IN (SELECT [Numéro du client] FROM livre)"
   If ??????????? Then 'Si la requête SQL ne retourne pas de résultat
       MsgBox "Il n'a pas emprunté de bouquin"
   Else 'Si la requête SQL retourne un résultat
       MsgBox "Il a emprunté un bouquin"
   End If
End Sub


Message édité par PIGs_DarkSith le 22-05-2007 à 19:23:01

---------------
PIGs_DarkSith a parlé !
Reply

Marsh Posté le 22-05-2007 à 05:18:59   

Reply

Marsh Posté le 22-05-2007 à 09:45:32    

Recherche sur ce forum tout ce qui touche les requêtes SQL.
Tu me sembles assez loin de savoir comment les gérer pour l'instant et des messages sur le sujet ont été postés ces jours.

Reply

Marsh Posté le 22-05-2007 à 11:28:17    

il faut 2 étapes :
 - lance ta requete
 - demande lui le nb de recordset retourné
 
j'en dis pas plus, le forum a en effet deja les réponses :)

Reply

Marsh Posté le 22-05-2007 à 15:53:54    

Bon, j'ai fait quelques modifs après des lectures par ici et par là mais ça marche toujours pas  :(  
 
Private Sub Supprimer_le_client_Click()
Dim id As Integer
Dim sql As String
Dim rst As DAO.Recordset
Set rst = CurrentDb
id = Form_client_livre.id
sql = "SELECT id WHERE id IN (SELECT [Numéro du client] FROM livre)"
Set rst = Db.OpenRecordset(sql, dbOpenForwardOnly, dbReadOnly)
If (rst.EOF) Then
    MsgBox "Il n'a pas emprunté de petit bouquin"
Else
    MsgBox "Il a volé un livre"
End If
'sql = "DELETE FROM client WHERE id = " & id & " AND id NOT IN (SELECT [Numéro du client] FROM livre)"
'Me.client.RowSource = sql
'Me.client.Requery
End Sub
 
 
 
Je crois que le problème viens de cette ligne : Set rst = CurrentDb  :??:


---------------
PIGs_DarkSith a parlé !
Reply

Marsh Posté le 22-05-2007 à 16:01:29    

Je pense qu'avec ca ....
Set Db = CurrentDb et non pas Set rst = CurrentDb
et  
Dim db As DAO.Database


Message édité par Paul Hood le 22-05-2007 à 16:03:12
Reply

Marsh Posté le 22-05-2007 à 16:11:32    

oui,de plus tu peux avoir la fonction rst.recordcount qui doit t'aider :)

Reply

Marsh Posté le 22-05-2007 à 19:22:16    

Ok merci ça marche  :)


---------------
PIGs_DarkSith a parlé !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed