voila j'ai une base de donnée j'aimerais bien que quelqu'un puisse me faire un commentaire et critiquer ce qui ne va pas
Je voudrais que le responsable du SAV de l'entreprise puisse gérer la maintenance.
Merci d'avance pour vos réponses
voila j'ai une base de donnée j'aimerais bien que quelqu'un puisse me faire un commentaire et critiquer ce qui ne va pas
Je voudrais que le responsable du SAV de l'entreprise puisse gérer la maintenance.
Merci d'avance pour vos réponses
J'ai rapidement ouvert ta base qui ne semble pas fonctionner...
En ouvrant le formulaire , Access demande de renseigner un champ qui s'appelle mon champ
les tables clients et machines ne comportent pas d'index auto incrémentés. C'est donc l'utilisateur de l'application qui doit donner la référence client, au risque d'erreur, car il ne sait pas ce qu'est un index.
Je te conseille fortement un index auto incrémenté , qui pourra ensuite servir de référence client, sinon ajoutes un 2e champ....
Envoyé par dr_feelgood
En effet, l'entreprise dispose déjà d'une base de donnée avec les numéros de clients
et je vais regarder pour le champ "mon Champ" car je ne me souviens plus d'avoir mis un champ comme celle-là. De plus, Access ne me le demande jamais..
Je te remercie dr_feelgood pour ta réponse
bonjour,
J'ai regardé en long et en large dans mon projet, mais je n'ai pas vu de "mon champ"
J'ai même essayé sur le poste de ma collègue mais je ne reçois pas de message comme tel !
Auriez vous d'autre conseil ?
Merci..
Cordialement
Bonjour,
J'ai ouvert ton appli mais je n'ai pas regardé la structure;
2 conseils de mise en forme :
1. Mets ton formulaire "Sommaire" à l'ouverture ce sera plus sympa que de tomber sur une liste d'objet et ce sera plus directement utilisable pour quelqu'un qui ne connait pas le fonctionnement ; pour cela menu Outils => Démarrage => Afficher formulaire/page
2. Personnalises tes MsgBox ; un message qui mentionne "Microsoft Office Access" dans le ruban bleu ne fait pas très fini. Si tu ne connais pas la méthode, la voici : en tête du code d'un formulaire contenant une MsgBox tu écris
puis tu complètes tes MsgBox ; par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Option Compare Database Const ConNomApp = " SAV Entreprise Machin"
N'est-ce pas plus joli ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox ("Fin ! Pas d'autre client qui porte ce nom.. "), , ConNomApp
Je n'ai pas été plus loin dans l'examen de ta base.
Bonne journée
Re bonjour,
Au moment de fermer ton appli, j'ai trouvé à quoi correspond l'observation de dr-felgood à propos du champ "Mon Champ" : c'est le bouton "Ajouter Nouvelle Machine" du formulaire "Clients existants" qui génère cette demande ; le code fait bien référence à ce champ.
Autre chose : tes boutons "porte" sur les formulaires ne les ferment pas et ils restent sous le formulaire "Sommaire". Il faut ajouter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Form_Open(Cancel As Integer) Dim Critere As String If Not IsNull(Me.OpenArgs) And Me.OpenArgs <> "" Then Critere = Me.OpenArgs End If Me.Filter = "[MonChamp]='" & Critere & "'" Me.FilterOn = True End Subà ton bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.Close
Bonne journée
Merci beaucoup de m'avoir répondu Javelot69
ça fait plaisir que quelqu'un prend le soin d'examiner le travail que l'on effectue..
effectivement, j'ai aplliqué ta solution avecCa fait mieux, , ConNomApp![]()
et aurez tu une proposition à me faire pour :
Voila j'ai un formulaire dans lequel l'utilisateur va pouvoir saisir les nouvelles machines qu'ils doivent dépanner, un bouton imprimer devrait me permettre l'impression de ce formulaire avec les coordonnées du client et la nouvelle saisie effectuée.
Lorsque je fais imprimer un enregistrement, j'ai à chaque fois toutes les machines d'un client qui sont imprimées ! Comment pourrais-je modifier ce code afin qu'il m'imprime seulement la nouvelle saisie effectuée ou sinon
il peut tout de même sélection lenregistrement à imprimer, et lancer l'impression une fois sélectionnée...
Voici le code du bouton "imprimer" :
Merci...On Error GoTo Err_Commande29_Click
DoCmd.DoMenuItem acFormBar, 4, , acMenuVer20
DoCmd.PrintOut acSelection
Exit_Commande29_Click:
Exit Sub
Err_Commande29_Click:
MsgBox Err.Description
Resume Exit_Commande29_Click
End Sub
Bonjour,
Content que ma suggestion de personnalisation de MsgBox t'ai servie ; penses aussi aux autres suggestions (notamment la fermeture de tes formulaires lors du clic sur le bouton porte). Dans l'état actuel de ta base, je suppose que la nouvelle saisie n'est pas enregistrée tant que le formulaire n'est pas fermé.
Au sujet de ta nouvelle demande : je suis toujours surpris lorsque quelqu'un mentionne l'impression d'un formulaire (ne le prends pas mal). Un formulaire n'est pas fait pour être imprimé mais pour une visualisation ; c'est pour cela qu'il doit être "confortable" ; il sert à saisir, consulter ... mais pas à être envoyé à l'imprimante. D'ailleurs avec l'agrandissement des écrans, bien des formulaires sont plus grands qu'une feuille A4 ; de plus il est courant de mettre des couleurs sur un formulaire ; quel sera le réultat de l'impression avec une laser NB ? Si les couleurs sont sombres, le texte sera illisible.
Dans Access un document destiné à être imprimé est un état ; c'est ce qu'il faut que tu fasses. Cet état sera basé sur une requête qui sélectionnera ce qui est à imprimer concernant ton client et la machine qui a fait l'objet de la saisie d'information qui t'intéresses. Ton bouton sur le formulaire déclenchera l'impression de ton état qui doit être dimensionné pour une feuille A4 (ou A3 si tu imprimes dans ce format).
Bonne continuation
Bonjour,
j'avais déjà fais un état mais il m 'affichait simplement les données du client et les machines qu'ils avaient ramené ! evidemment, cela est causé de ma requete qui recherchait le client avec une requete parametrée, et toutes les machines qui lui appartiennent
Je propose la requête suivante :
SELECT CLIENT1.NoCli, CLIENT1.NomCli, CLIENT1.PnomCli, CLIENT1.AdrCli, CLIENT1.CPCli, CLIENT1.VilleCli, CLIENT1.TélCli, CLIENT1.Tél_portCli, CLIENT1.TypeCli, CLIENT1.PanneConstat, MACHINE.RéfMach, MACHINE.DésMach, MACHINE.DateArriv, MACHINE.Garantie, MACHINE.NoSerie, MACHINE.MatOu, MACHINE.DevisMach, MACHINE.LibelEtat, MACHINE.CommTechnicien, MACHINE.Accesoire, MACHINE.MarqueMach, MACHINE.DateFin, MACHINE.NoBL, [Plafond Autorisation].LibelAuto
FROM [Plafond Autorisation] INNER JOIN (Devis INNER JOIN (CLIENT1 INNER JOIN MACHINE ON CLIENT1.NoCli = MACHINE.NoCli) ON Devis.DevisMach = MACHINE.DevisMach) ON [Plafond Autorisation].NumAuto = Devis.numAuto
WHERE (((CLIENT1.NomCli)=[Quel est le nom du client à rechercher ?]) AND ((MACHINE.DateArriv)=[Quelle est la date d'arrivée ?]));
Merci beaucoupca m'a rassuré sur mon idée de faire l'état
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager