rabenls
Messages postés24Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2007
-
25 mars 2007 à 11:12
rabenls
Messages postés24Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2007
-
26 mars 2007 à 18:33
Bonjour,
Je suis sous Visual Studio 6, VB6, SP6, sous XP, avec Access 2000 et 2003.
Que ce soit en DAO ou ADO (actuellement).
Lorsque j'utilise dans mon programme les références que j'ai créé et qui fonctionne dans Access, dans VB, la référence n'affiche que l'id de la table vers laquelle je pointe, et non pas le contenu de la référence.
Par exemple dans la table ingrédient, ref_categorie affichera 1,2 ou 3 et non pas légumes, viandes ou poissons.
Que faut t'il faire pour que ca affiche ce que je désire?
mon code actuel (résumé, il fonctionne, et rempli une listview avec des éléments de ma BD mais n'affiche que les id des références Access)
Public bd As New ADODB.Connection
Public cmdado01 As New ADODB.Command
Public tb01 As New ADODB.Recordset
Private Sub Form_Load()
bd.Provider = "Microsoft.jet.oledb.4.0"
bd.ConnectionString = App.Path & "\tfe01.mdb"
bd.Open
cmdado01.ActiveConnection = Me.bd
cmdado01.CommandText = "select * from Ingrédients"
tb01.CursorLocation = adUseClient
tb01.CursorType = adOpenDynamic
tb01.LockType = adLockPessimistic
tb01.Open cmdado01
cmdado01.CommandText = "select * from Ingrédients"
tb01.Requery
While (Not tb01.EOF)
If (tb01.RecordCount <> 0) Then
Set LstItem = ListViewPromo.ListItems.Add(, , CStr(tb01!Nom))
If Not IsNull(tb01!Ref_Categorie) Then LstItem.SubItems(1) = CStr(tb01!Ref_Categorie)
End If
tb01.MoveNext
Wend
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 mars 2007 à 12:20
salut,
c'est sans doute un pb de requête...
si la base est bien faite, "Ref_Categorie" contient ton chiffre, clé étrangère de .... la clé primaire d'un table "Catégories"
donc pas "select * from Ingrédients"
mais
"SELECT Ingrédients.Nom, Catégories.Nom FROM Ingrédients, Catégories WHERE Ingrédients.Ref_Categories = Catégories.Nom"
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
rabenls
Messages postés24Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2007 25 mars 2007 à 16:15
En effet ta requête parait mieux formulée.
Mais je n'arrive toujours pas a affiché le contenu de la référence, c'est toujours l'identifiant qui apparait.
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 26 mars 2007 à 14:05
Question, ta table ingrédient contient un champ ref_Categories, mais ce champ ne serait pas alimenté par une autre table à tout hasard ? Lié par une intégrité référentielle ? ca y ressemble beaucoup en tous cas, je le fais dans mes bases personnellement pour gagner de la place :
Par ex. :
Table Catégories :
Num Nom
1 Légumes
2 Viandes
3 Poissons
Table Ingrédients :
Regarde les propriétés du champ ref_Categories, je parierai presque qu'il est de type numérique, avec 2 colonnes dont la taille de la première est égale à 0, la colonne liée = 1, alimentée par une petite requête SELECT * FROM Catégories (Nom de la table).
De cette façon, quand tu rentres dans la table, tu vois bien écrit dans ton champ viandes, poissons, etc ... mais ce qui est réellement enregistré, c'est la clé primaire.
Et tu pourras l'interroger comme tu voudras, la seule info qui remontera sera un chiffre.
Pour résoudre le pb, ta requête SQL doit comporter une jointure, ou une solution plus simple je trouve, dans ta base ACCESS, tu crées une Requête avec l'assistant graphique, qui te remonte la donnée Texte cette fois, et tu interroges cette requête avec un "SELECT * FROM Requête".
Je me trompe peut être, mais ton problème ressemble bcp à ce genre de situation.
Molenn
Vous n’avez pas trouvé la réponse que vous recherchez ?
rabenls
Messages postés24Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2007 26 mars 2007 à 18:33
Molenn,
En effet, mes références access pointent vers la clé primaire de la clé pointée, et je choisi d'afficher la colonne voulue.
Je suis sur la piste des requetes crées dans access, jusqu'ici j'avance bien, mais je ne sais pas encore pour la modification des données si ca fonctionnera a partir d'une requete.