BJlapinou
Messages postés3Date d'inscriptionmardi 19 juin 2007StatutMembreDernière intervention25 juin 2007
-
19 juin 2007 à 17:40
cs_wadoo
Messages postés2Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention20 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")
BJlapinou
Messages postés3Date d'inscriptionmardi 19 juin 2007StatutMembreDernière intervention25 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 !
BJlapinou
Messages postés3Date d'inscriptionmardi 19 juin 2007StatutMembreDernière intervention25 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 ?
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 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 !
cs_wadoo
Messages postés2Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention20 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