Requêtes et formuliares ACCESS..

Utilisateur anonyme -  
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un souci concernant les formulaires d'une base de données.
Je dispose d'un formulaire "reception de composant" qui se base sur deux autres formulaires "demande champ 1 et 6" et "sous formuliare de reception" qui demandent le num de l'activité et le num de la DE (demande d'essai) et qui va chercher dans les tables l'essai concerné par le ou les nouveaux composants et qui permet à l'utilisateur de lire ou de modifier certains champs (Date de reception prevue, reference composant,origine....).
Ce que je veux faire, c'est rajouter un champ date de reception réelle qu'il faudra renseigner au moment de l'arrivée du composant, donc j'ai rajouté un champ "date_recep_reelle" dans une table, j'ai rajouté une case dans le formulaire "reception de composant", et dans objet source de la case, j'ai selectionné le champ" date_recep_reelle" provenant de la sous requete "demande champ 1 et 6"( car j'ai vu que cette requete va chercher d'autres infos disponibles dans le formulaire principal)
Mais je me retrouve avec un "#NOM?" dans le champ "date_recep_reelle", et j'arrive pas à m'en sortir..
Merci de me repondre car là je suis bloqué.. (J'ai essayé d'ennoncer le problème le plus clairement possible, mais chui Debutant en ACCESS..)

5 réponses

zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Salut,

J'ai bien peur de ne pas comprendre grand chose à la structure de tes données et/ou à la manière dont tu organises les données.

Tu m'inquiètes quand tu écris qu'un formulaire se base sur deux autre formulaires...

Pourrais-tu nous donner la structure de tes tables?

En principe, un formulaire est basé sur une table ou une requête et tu peux choisir les champs présents dans la liste des champs.
Si le champ souhaité est absent, il faut modifier la requête pour l'inclure.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Salut,

Pourquoi ouvrir 2 posts pour le même sujet ?????????????????????????
0
Utilisateur anonyme
 
Je dispose d'un formulaire "menu principal avec plusieurs bouton dont "reception de composant" quand je clique dessus il execute la procedure suivante:
Private Sub Bouton9_Click()
On Error GoTo Err_Bouton9_Click

Dim DocName As String
Dim LinkCriteria As String

DoCmd.Close

DocName = "Demande champ 1 et 6"
DoCmd.OpenForm DocName, , , LinkCriteria

Nom_form_Next = "Réception de composant"
Nom_form_Before = "Menu principal"


Exit_Bouton9_Click:
Exit Sub

Err_Bouton9_Click:
MsgBox Error$
Resume Exit_Bouton9_Click

End Sub


Le formulaire "reception de composant" contient plusieurs cases par exemple N°de DE dont la source contrôle pointe sur =[Formulaires]![Demande champ 1 et 6]![Liste] ou bien la case N° d'activité qui pointe sur =[Formulaires]![Demande champ 1 et 6]![Champ7] et d'autres infos (Banc d'essai,condition essai,date debut,machine)

Et en bas de ce formulaire il y a un lien sur un un sous formulaire reception de composant ou il ya definition composant,Ref composant, N°de piece, date de reception, origien, N°DL/DT, et une case que j'ai rajouté date_recep_reele pointant sur le champs "date_recep_reelle" de la table Composant..

Le formulaire "demande champ 1et6" contient deux parties:
une partie demandant le numero de la Demande d'Essai
nom: liste,
origine source: table/requete,
contenu:SELECT DISTINCTROW DE.[n° DE], First([DE]![Objet]) AS Objet FROM DE INNER JOIN ACTIVITE ON DE.[n° DE] = ACTIVITE.[n° DE] GROUP BY DE.[n° DE], ACTIVITE.Etat HAVING (((ACTIVITE.Etat) Is Null Or (ACTIVITE.Etat)="Planifié" Or (ACTIVITE.Etat)="Réalisé")) ORDER BY DE.[n° DE] DESC;
et une procedure apres MAJ :
Private Sub Liste_AfterUpdate()

Me![Champ21] = Me![Liste]
' Actualise la zone de liste Choisissez un exemple.
Me![Champ7].Requery



End Sub
Et la deuxieme partie de "demande champs 1et6" demande le numero d'activité pour cet essai:
Nom: Champ7
Origine source: table requete
contenu:SELECT DISTINCTROW ACTIVITE.[n° activité], ACTIVITE.[Type d'essai], ACTIVITE.Etat FROM DE INNER JOIN ACTIVITE ON DE.[n° DE] = ACTIVITE.[n° DE] WHERE ((DE.[n° DE]=[Formulaires]![Demande champ 1 et 6]![Champ21]));
procedure apres MAJ:
Private Sub Champ7_DblClick(Cancel As Integer)

DoCmd.OpenForm Nom_form_Next

End Sub



Je dispose aussi d'une sous requête reception composant dont le SQL donne
SELECT DISTINCTROW COMPOSANT.[Définition produit], COMPOSANT.[Date réception], COMPOSANT.[Réf produit], COMPOSANT.Origine, COMPOSANT.[n° DL], COMPOSANT.[n° pièce], COMPOSANT.[n° activité], COMPOSANT.Date_recep_reelle
FROM COMPOSANT
WHERE (((COMPOSANT.[n° activité])=[Formulaires]![Réception de composant]![n° activité]));
ce qui est en gras je l'ai rajouté..


Merci de me répondre car c'est trop compliqué pour moi!!!!
0
Utilisateur anonyme
 
Il n'ya personne pour m'aider??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Désolé de tarder à répondre...

Je postule que tout fonctionne sauf le champ que tu ajoutes même si je ne vois pas bien comment tout ça s'imbrique.

As-tu essayé d'exécuter ta requête modifiée (en enlevant la clause WHERE)?
J'imagine que tes données s'affichent par le biais d'un formulaire. Est-ce que, en mode création, le champ ajouté apparaît bien dans la liste des champs?
Méfie toi aussi des espaces et des accents dans les noms des champs et des formulaires. Si tu tiens à les utiliser, n'oublie pas d'ajouter systématiquement des [ ].
0