[ACCESS] pb avec un recordset

Flipody -  
michelh Messages postés 16 Statut Membre -
Bonjour a tous.

J'ai un petit problème sous ACCESS. Je voudrais vérifier le résultat d'une requete, c'est à dire que si il n'y a aucun résultat alors afficher un message.

J'ai la procédure suivante :

Private Sub Form_Load()

Dim sql As String
Dim rs As Recordset

sql = "SELECT [TA_03_MATERIEL].[NumMateriel], [TA_03_MATERIEL].[NomMateriel], [TA_03_MATERIEL].[PrixLocation], [TA_03_MATERIEL].[QuantiteStock], [TA_05_MARQUE].[LibelleMarque], [TA_04_TYPEMATERIEL].[LibelleType] FROM TA_04_TYPEMATERIEL INNER JOIN (TA_05_MARQUE INNER JOIN TA_03_MATERIEL ON [TA_05_MARQUE].[CodeMarque]=[TA_03_MATERIEL].[CodeMarque]) ON [TA_04_TYPEMATERIEL].[CodeType]=[TA_03_MATERIEL].[CodeType] WHERE (((TA_03_MATERIEL.NumMateriel) Not In (SELECT TA_06_LOUER.NumMateriel FROM TA_06_LOUER)));"
Set rs = CurrentDb.OpenRecordset(sql)

If (rs.RecordCount = 0) Then
MsgBox ("Aucun résultat")
End If

End Sub

J'ai une erreur a la ligne "Set rs = CurrentDb.OpenRecordset(sql)", il me dis qu'il y a une incompatibilité de type. Ma requete est bonne, j'en suis quasi-sur.
Si qqn a une réponse au pb, merci.

Flipody

1 réponse

michelh Messages postés 16 Statut Membre 25
 
Si tu travailles avec ACCESS 2000 ou supérieur les objets Recordset peuvent être des objets DAO ou ADO.
Tu peux vérifier cela dans l'environnement Visual Basic par le menu Outils/ Références.
Si tu as les 2 librairies de chargées (DAO et ActiveX Data Objects) il faut préciser lors de ta déclaration:
- soit DAO.Recordset
- soit ADODB.Recordset
Dans ton cas comme tu travailles avec DAO, il te faut déclarer ainsi:
Dim Rs as DAO.Recordset.

Bon courage
0