beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 20171 25 déc. 2008 à 21:31
Salut,
Un tout grand merci à vous deux pour vos réponses.
Maintenant, ça ne bloque plus dans le set mais ça bloque ici :
Public Function BDOuvrirTable(ByVal NomTable As String, Optional ByVal LectureSeule As Boolean = False) As Recordset
Set BDOuvrirTable = BD.OpenRecordset(NomTable, IIf(LectureSeule, dbOpenSnapshot, dbOpenDynaset))
End Function
J'obtiens le message d'erreur suivant :
Type de données incompatible dans l'expression du critère.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 déc. 2008 à 22:02
on doit tout deviner?
d'abord trouver l'erreur d'une fonction non fournie puis ici inventer les types?
il ne faut pas oublier que nous n'avons connaissance que de ce que tu nous dis, donc très peu ici.
alors :
DB est-il bien connecté?
est-tu en ADO? DAO? quelle version?
quelle type de base?
la table "detail_recette" existe bien?
quel est le type de "ref_recette"?
que contient rsRecette avant l'instanciation?
quel est le type et le contenu de "nom" à ce moment?
nb : si "ref_recette" est un numérique, il faut enlever les apostrophes
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 20171 25 déc. 2008 à 22:53
PCPT, merci pour ta réponse et désolé pour le manque d'information.
DB est-il bien connecté? oui
est-tu en ADO? DAO? quelle version? DAO
quelle type de base? ACCESS
la table "detail_recette" existe bien? oui
quel est le type de "ref_recette"? string
que contient rsRecette avant l'instanciation? voir le code ci-dessous stp
quel est le type et le contenu de "nom" à ce moment?
Private Sub listRecettes_Click(Index As Integer)
'permet d'afficher dans une zone de texte le prix et le nom de la recette
Dim rsRecette As Recordset
If listRecettes(0).ListIndex = -1 Then
'textChamp(ChampCP).Text = ""
'textChamp(ChampNom).Text = ""
Else
'ItemData est un tableau, ListeIndex sont les indices de ce tableau)
Set rsRecette = BDOuvrirTable( _
"SELECT * FROM recette WHERE id = " & listRecettes(0).ItemData(listRecettes(0).ListIndex), True)
textNomRecette(0).Text = rsRecette("nom")
textPrixRecette(1).Text = rsRecette("prix") & " €"
Set rsRecette = BDOuvrirTable( _
"SELECT * FROM detail_recette WHERE ref_recette = '" & rsRecette("nom") & "'", True)
rsRecette.Close
End If
End Sub
Cette ligne de code :
Set rsRecette = BDOuvrirTable( _
"SELECT * FROM detail_recette WHERE ref_recette = '" & rsRecette("nom") & "'", True)
Est envoyée à BDOuvrirTable.
Quand j'essaie en access de créer la requête avec l'outil sql, j'obtiens le même message.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 déc. 2008 à 23:41
re
sans vouloir mettre tes informations en doute :
la table "detail_recette" existe bien? oui
->
"detail_recette"
serait un nom qu'on attribuerait plus facilement à un champ qu'à une table...
cependant admettons (le message d'erreur serait différent) mais :
quel est le type de "ref_recette"? string
-> ne met-on pas "ref" pour "référence" ? donc plutôt un identifiant numérique qu'un nom?
as-tu essayé sans les apostrophes?
as-tu fais un MSGBOX RSRECETTE("NOM") avant la 2è requête pour vérifier?
de plus récupérer le contenu en variable permettrait de faire un .CLOSE avant le 2e appel
enfin : pourquoi avoir choisi DAO qui n'est pas du tout à jour?....
ps : l'erreur vient sans doute d'access oui, mais par ton passage d'argument "inattendu" ;)
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp