[ACCESS] pb avec un recordset

Fermé
Flipody - 25 sept. 2004 à 17:46
michelh Messages postés 16 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 12 mars 2005 - 15 févr. 2005 à 13:34
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
A voir également:

1 réponse

michelh Messages postés 16 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 12 mars 2005 25
15 févr. 2005 à 13:34
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