Téléchargement
illégal
Posez votre question Signaler

[ACCESS] faire une recherche [Résolu]

yozart - Dernière réponse le 2 juil. 2010 à 11:47
Bonjour,
j'ai un gros probleme avec un formulaire servant a rechercher un vin selon different critères. (l'appli est une gestion de cave a vin). Le problème c'est que aucun enregistrement n'est sorti meme lorsque je laisse tous les champs a vide. J'ai remarqué que le problème etait du a ce que les enregistrements ont des champs a Null.
J'ai tenté de sortir tous les enregistrements avec cette requete:
[code]
SELECT VIN.VIN_NOM, VIN.ID_VIN, COULEUR.LIB_COULEUR, PRODUCTEUR.PROD_NOM, PAYS.LIB_PAYS, REGION.LIB_REGION, CEPAGE.LIB_CEPAGE, APPELATION.LIB_APPELATION
FROM (PAYS INNER JOIN REGION ON PAYS.[ID_PAYS] = REGION.[ID_PAYS]) INNER JOIN (PRODUCTEUR INNER JOIN (COULEUR INNER JOIN (CEPAGE INNER JOIN (APPELATION INNER JOIN VIN ON APPELATION.[ID_APPELLATION] = VIN.[ID_APPELLATION]) ON CEPAGE.[ID_CEPAGE] = VIN.[ID_CEPAGE]) ON COULEUR.[ID_COULEUR] = VIN.[ID_COULEUR]) ON PRODUCTEUR.[ID_PRODUCTEUR] = VIN.[ID_PRODUCTEUR]) ON (REGION.[ID_PAYS] = VIN.[ID_PAYS]) AND (REGION.[ID_REGION] = VIN.[ID_REGION])
WHERE ((VIN.VIN_NOM Like '*') Or (VIN.VIN_NOM Is Null))
And ((VIN.ID_VIN Like '*') Or (VIN.ID_VIN Is Null))
And ((VIN.ID_PRODUCTEUR Like '*') Or (VIN.ID_PRODUCTEUR Is Null))
And ((VIN.ID_COULEUR Like '*') Or (VIN.ID_COULEUR Is Null))
And ((VIN.ID_PAYS Like '*') Or (VIN.ID_PAYS Is Null))
And ((VIN.ID_REGION Like '*') Or (VIN.ID_REGION Is Null))
And ((VIN.ID_CEPAGE Like '*') Or (VIN.ID_CEPAGE Is Null))
And ((VIN.ID_APPELLATION Like '*') Or (VIN.ID_APPELLATION Is Null));
[/code]
PS: Je travail sous ACCESS 2007
(En passant, j'ai un autre probleme, je ne peut convertir ma table en accde. ACCESS me dit:
MICROSOFT ACCESS n'a pu generer le fichier .accde
Cette erreur est généralement liée à la compilation d'une grande base de données dans un fichier MDE. En raison de la méthode utilisée pour compiler la base de données, un nombre considérable de références TableID sont créées pour chaque table. Le moteur de bases de données Microsoft Jet version 4.0 peut ouvrir un maximum de 2048 références TableID simultanément. L'exportation d'une base de données dans un fichier MDE risque de dépasser cette limite, a fortiori lorsque la base de données contient un grand nombre d'objets (tables, macros, formulaires, rapports, etc.).
Il n'y a pas de méthode précise d'estimation du nombre d'ID de tables utilisés par le moteur de bases de données Access lors de la compilation d'une base de données dans un fichier MDE. Toutefois, chaque module VBA et chaque formulaire utilisent un ID de table. Par conséquent, si la base de données contient 500 formulaires et que la propriété HasModule de chacun de ces formulaires a la valeur Oui, l'on peut déduire que pas moins de 1 000 ID de tables sont utilisés.
Si quelqu'un sait pourquoi...)
Merci beaucoup.
Lire la suite 

[ACCESS] faire une recherche »

2 réponses
Réponse
+0
moins plus
Bon, mon premier pb a été résolu.

Pour ceux que ca interresse, la recherche sur plusieurs tables necessite de changer le type de jointures pour ne pas etre géné même si des champs sont vides dans les enregistrements.

Donc sujet résolu
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Ce problème est dû au limite d'access. Mais ca peut-etre un problème de compilation dans ton code. As-tu essayer de compiler ton programme.

cordialement
Ajouter un commentaire
Ce document intitulé « [ACCESS] faire une recherche » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?