Incompatibilité de type Access

Résolu
BJlapinou Messages postés 3 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 25 juin 2007 - 19 juin 2007 à 17:40
cs_wadoo Messages postés 2 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 20 juin 2008 - 20 juin 2008 à 13:43
Salut à tous !
J'en peux plus !!!

Je suis en train d'utiliser les ListView sur Access. Et c'est la première fois que je rencontre un problème d' "incompatibilité de type" en utilisant un recordset.
Mon recordset porte sur un Autonumber, un Texte et un mémo.
Ci-desssous un bout du programme et en rouge là où ca bug...

Merci pour votre aide
Dim LstObj As ListItem<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

Dim Rst As Recordset

Dim StringTest As String

    Me.ListViewComments.ListItems.Clear

    StringTest = "SELECT T_GeneralComment.IdComment, T_GeneralComment.CommentName, T_GeneralComment.Comment FROM T_GeneralComment ORDER BY T_GeneralComment.CommentName"

    Set Rst = CurrentDb.OpenRecordset(StringTest)

    If Rst.RecordCount > 0 Then

        Do

            Set LstObj = Me.ListViewComments.ListItems.Add(, , Rst!CommentName)

            LstObj.Tag = Rst!IdComment

            LstObj.SubItems(1) = Rst!Comment

            Rst.MoveNext

        Loop Until Rst.EOF

    End If

Me.RecordSource = ("SELECT T_CommentSpec.* FROM T_CommentSpec")

Me.SelectPartNumber.RowSource = ("SELECT T_RMSpecification.PartName, T_RMSpecification.PartNumber FROM T_RMSpecification")

7 réponses

BJlapinou Messages postés 3 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 25 juin 2007
20 juin 2007 à 10:38
Ca y est j'ai trouvé !!!


La nuit doit porter conseil...
En fait, bien que le même programme ne m'est pas posé de problème auparavant, l'incompatibilité de type venait de mon recordset.

Il a donc suffit que je transforme mon "Rst" en "object" plutôt qu'en "recordset".Access parfois fait donc ses caprices... Parce que lorsque je suis en object, il comprend mon Rst comme un recordset... Allez savoir.

Merci quand même et à mon tour de donner un coup de main !
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 juin 2007 à 20:13
Salut,
Peut être à cause du paramètre manquant



Set Rst CurrentDb.OpenRecordset(StringTest,dbOpenSnapshot)<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>
















<hr />

® l l i n g , l' agité du bocal : 
   ...quotes, double quotes, crochets ou parenthèses ?
   Ah si je pouvais rester dans mes charentaises !
0
BJlapinou Messages postés 3 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 25 juin 2007
20 juin 2007 à 08:30
Malheureusement non ...
C'est d'ailleurs bizarre parce qu'il ne reconnait pas l'argument dbopensnapshot (Argument Non valide).
Comment pourrais je tester mon "string" sinon ?
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 juin 2007 à 14:39
Bien vu ! 
Honnêtement, je n' aurai jamais pensé à ça ...

Bonne continuation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 juin 2007 à 11:39
Je pense que ça peut arriver si tu crées une référence à ADO  ET  à DAO

Il faut alors spécifier le type de Recordset
ex: 
Dim rst As DAO.Recordset
ou
Dim rst As ADODB.Recordset

MPi
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 juin 2007 à 13:42
Salut MPi,
vrai , Exact et tout à fait ...
Si tu tapes Dim rs As recordse
et que tu regardes dans  la liste de choix tu as toujours
deux , voir même trois fois Recordset .
Le quel choisir ? tout dépend : Dao ou Ado.

Reste à savoir pourquoi Dim rs As Objet
étant donné que Objet c' est vaste ...et vague ?!


C' est pourquoi je n' aurai jamais declarer un recordset comme Objet


<hr />

® l l i n g , l' agité du bocal : 
   ...quotes, double quote, crochets ou parenthèses ?
   Ah si je pouvais rester dans mes charentaises !
0
cs_wadoo Messages postés 2 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 20 juin 2008
20 juin 2008 à 13:43
Milles merci j'y aurais pas pensé non plus.

mpi
Je pense que ça peut arriver si tu crées une référence à ADO  ET  à DAO

Il faut alors spécifier le type de Recordset
ex: 
Dim rst As DAO.Recordset
ou
Dim rst As ADODB.Recordset

je n'utilise pas de référence multiples et j'ai eu ce probleme pour la première fois en intégrant mes propres objets dans access. Je ne sais pas si ca à un lien.

En tout cas, même si c'est vraiment sale de faire comme ca, chez moi c'est le seul truc ki marche et vu ce que je gagne à intégrer mes objets dans access, je vais opter pour cela.

En tout cas, merci pour ces infos et encore bravo pour l'illumination somnambulesque
0
Rejoignez-nous