Problème de recherche

Fermé
CELLULEPROJET - 22 mars 2018 à 15:17
 castours - 3 avril 2018 à 10:05
Bonjour,

étant débutant sur Access je suis confronté à un gros problème,

à partir d'une base de donnée avec des codes 640.... par transporteur, je dois avoir pour clé primaire ce code,
cependant, vu que le code apparait plusieurs fois sur la base, je ne parvient pas à forcer Access à indiquer ce code en clé primaire.

le but du fichier est d'avoir un formulaire de recherche multi critère (Ville/Mode/OWouRT/Type/IouE/Nbe/choix) à partir de ces champs, un résultat par ordre croissant de tarif doit s'afficher, un coup de main ne serai pas de refus

Par avance, merci aux personnes qui vont prendre le temps de se pencher sur ce problème.

3 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
22 mars 2018 à 18:22
bonjour
difficile de repondre
peux tu mettre ta base compresser dans un lien avec ci joint.com sur le site.
suivant le contexte, je te ferai peut etre un formulaire de recherche
0
bonjour
ou en es tu de ton projet?
0
celluleprojet
3 avril 2018 à 09:01
Bonjour, désolé pour cette réponse tardive,
J'ai trouvé la solution en créant un nouveau code unique par table ce qui m'a permit d'avoir une clé primaire par table

pour le bouton rechercher je n'ai rien trouvé d'autre qu'une VBA : Private Sub Commande31_Click()
MsgBox ("SELECT FICHE_TARIFS.Mode, FICHE_TARIFS.[Import/Export], FICHE_TARIFS.Code_Ville, FICHE_TARIFS.Nombre_Palette,FICHE_TARIFS.[Type_Palette/Conteneur_Type], FICHE_TARIFS.[One Way/RoundTrip],FICHES_TRANSPORTEURS.Code_Transporteur,FICHE_TARIFS.TOTAL, FICHES_TRANSPORTEURS.Nom_Transporteur, FICHES_TRANSPORTEURS.Téléphone,FICHES_TRANSPORTEURS.Email , VILLES.VILLES, FICHE_TARIFS.Tarif, FICHE_TARIFS.Valeur_Surcharge FROM FICHES_TRANSPORTEURS INNER JOIN (VILLES INNER JOIN FICHE_TARIFS ON VILLES.[CODE VILLE] = FICHE_TARIFS.Code_Ville) ON FICHES_TRANSPORTEURS.Code_Transporteur = FICHE_TARIFS.Code_transporteur WHERE FICHE_TARIFS.Mode = '" + Me.Mode + "' AND FICHE_TARIFS.[Import/Export] = '" + Me.IMPORT_EXPORT + "' AND VILLES.VILLES = '" + Me.VILLES + "' AND FICHE_TARIFS.Nombre_Palette = " + CStr(Me.Nombre_Palette) + " AND FICHE_TARIFS.[Type_Palette/Conteneur_Type] = '" + Me.Type_Palette_Conteneur_Type + "' AND FICHE_TARIFS.[One Way/RoundTrip] = '" + Me.[One Way/RoundTrip] + "'")
Me.sousformulaire.Form.RecordSource = "SELECT FICHE_TARIFS.Mode, FICHE_TARIFS.[Import/Export], FICHE_TARIFS.Code_Ville, FICHE_TARIFS.Nombre_Palette,FICHE_TARIFS.[Type_Palette/Conteneur_Type], FICHE_TARIFS.[One Way/RoundTrip],FICHE_TARIFS.TOTAL,FICHES_TRANSPORTEURS.Code_Transporteur, FICHES_TRANSPORTEURS.Nom_Transporteur, FICHES_TRANSPORTEURS.Téléphone,FICHES_TRANSPORTEURS.Email , VILLES.VILLES, FICHE_TARIFS.Tarif, FICHE_TARIFS.Valeur_Surcharge FROM FICHES_TRANSPORTEURS INNER JOIN (VILLES INNER JOIN FICHE_TARIFS ON VILLES.[CODE VILLE] = FICHE_TARIFS.Code_Ville) ON FICHES_TRANSPORTEURS.Code_Transporteur = FICHE_TARIFS.Code_transporteur WHERE FICHE_TARIFS.Mode = '" + Me.Mode + "' AND FICHE_TARIFS.[Import/Export] = '" + Me.IMPORT_EXPORT + "' AND VILLES.VILLES = '" + Me.VILLES + "' AND FICHE_TARIFS.Nombre_Palette = " + CStr(Me.Nombre_Palette) + " AND FICHE_TARIFS.[Type_Palette/Conteneur_Type] = '" + Me.Type_Palette_Conteneur_Type + "' AND FICHE_TARIFS.[One Way/RoundTrip] = '" + Me.[One Way/RoundTrip] + "'"
End Sub

si toutefois vous avez une solution autre que ce VBA je suis preneur

merci pour votre suivi
0
bonjour
Pour voire une autre solution mettre votre votre sur le site comme cité dans un message precedent
0