Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2007, 23h42   #1
Zoolo
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Macro et sous formulaire

Bonjour

Je suis débutant sur access donc veuillez m'excuser pour les propos inexacts que je pourrais dire !

Je travaille sur access 2000 (@ taf) et 2002 (@home) sur win 2000 (@taf) et XP (@home)

un petit topo du pourquoi je fais cette table vous aidera peut être donc :

Actuellement nous utilisons une base faite en urgence pour connaitre la situation de nos commandes dans notre magasin, malheureusement l'ergonomie n'est pas au top donc je décide de la refaire histoire de gagner du temps, ça me permet d'apprendre access tranquillement
A savoir que j'envisage dans le futur de faire une base de donnée afin de permettre de suivre l'encours et de pouvoir à chaque fin de mois faire le prévisionnel de nos transactions à notre direction bref je vais m'occuper et vous embêter pas mal désolé d'avance !

Donc la base suit nos encours qui sont procédés ainsi
nous recevons une commande, qui est piqué, colisé, facturé et remis au service transport. Par contre cette facturation peut être bloquée pour x raison.


La base se compose comme ci :

2 tables non liées sauf lors d'un requête

table commande

Commande (format texte) n°unique
urgence (format texte)
dare reception (format date)
Colis (format texte)
Date facturation (format texte)
Facture bloquée (format oui/non)
date facture bloquée (format date)
facture débloquée (format oui/non)
date facture débloquée (format date)

Table Urgence
Urgence (format texte)
Délais (format numérique)

3 requêtes

requête commande ( par rapport aux tables commande et delais )
commande
urgence
date reception
colis (critère : est null)
Max expé (calcul entre urgence (table urgence) et date reception)
Date facturation
Facture bloquée
date facture bloquée
facture débloquée
date facture débloquée

requête facture ( par rapport à la table commande )
commande
Date facturation (critère : est null)
Facture bloquée
date facture bloquée (critère : est pas null)
facture débloquée
date facture débloquée

requête colis ( par rapport à la requête facture )
colis (regroupement)

plusieurs formulaires, je n'en détaille qu'un seul, celui qui me pose problème :

formulaire :
colis (par rapport à la requête colis ) liste déroulante
+ 1 bouton avec trois macros DéfinirValeur

sous formulaire : (par rapport à la requête facture)
commande
colis
facture débloqué
date facture débloquée
date facturation


je précise qu'une commande est unique et qu'un colis contient plusieurs commandes, et que le numéro du colis correspond à l'un des numéros de commande. ( ex : les commandes n° CR55 et CR56 seront emballé dans le colis CR55 )


La liste déroulante colis du formulaire est liée avec avec le champ colis du sous formulaire, donc quand je demande le colis DD21, le sous formulaire m'affiche toutes les commandes regroupés dans le colis DD21
J'aimerais que quand j'appuis sur le bouton la case à cocher de facture bébloquée soit activée et que les champs Date facture débloquée et date facturation recevoir la date actuelle

J'explique mon problème (comment ça enfin !?)
Les champs facture bébloquée, Date facture débloquée et date facturation font bien ce que je leur demande mais seulement sur le premier enregistrement ( ou ligne )

J'aimerai donc savoir quelle est la méthode pour pouvoir mettre à jour l'ensemble des enregistrements liés au colis
Actuellement, nous nous tapons les lignes 1 à 1, pas grave quand il y a 2 ou 3 commandes, assez lourds quand on en a 200

Voilà désolé d'avoir été long, j'espère au moins avoir été précis

Et merci pour votre aide

Zoolo
  Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 10h49   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 096
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 096
Points : 11 628
Points : 11 628
Bonjour,

Par une requete Mise à jour (Update) tout simplement.

Tu peux soit la construire dynamiquement dans le code (événement sur clic de ta cas à cocher) soit utiliser un objet requete avec les paramètres qui vont bien.

Dans les 2 cas je te conseille de passer par le QBE (générateur de requete).

Commence par une requete Select pour afficher ce que tu souhaites (condition Where) puis transforme-la en requete Mise à jour (via le menu).

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 15h17   #3
Zoolo
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour,

Merci de ta réponse Loufab !

J'essaye d'appliquer ce que tu préconises mais j'ai des lacunes dans ma connaisances d'access.
J'ai créé la requête mise à jour mais il m'est imposible de la reprendre dans un formulaire, l'assistant de sous-formulaire ne me la présente pas et en manuel, aucune donnée n'apparait.
Je vais apprendre un peu plus access avant d'aller plus avant.
Tu me conseilles quoi comme études ? apprendre SQL, j'ai fait l'impasse pensant qu'access faisait le boulot à ma place vu le faible niveau de ma base

Par contre, le générateur de requête que tu cites c'est bien le générateur d'expression ?

Salutation.

Zoolo
  Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 11h25   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 096
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 096
Points : 11 628
Points : 11 628
Bonjour

Quelques notions SQL seraient les bienvenue, tu peux consulter l'aide sur MSDN sur le sujet ; pour les liens voir l'un des tutos (le 2ème ?) sur le module de recherche dans mon espace perso.

Sinon tu peux faire l'impasse et utiliser le QBE : dans la fenêtre Base de données faire Créer une requete.
Tu choisis la table, les champs dont tu as besoin (celui qui te sert pour la condition, celui ou ceux à modifier). Regarde les différents tutos sur le sujet notamment celui sur la création de requete dynamique. Il contient la solution.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 20h19   #5
Zoolo
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour,

Ok Loufab, je vais faire cela.
Je te remercie pour ton aide !

Cordialement

Zoolo
  Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2007, 12h25   #6
Zoolo
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour,

ça yest, j'ai résolu mon problème.
c'était hyper facile, une fois que j'ai réussi à me sortir de la tête de vouloir tout mettre dans un formulaire

Merci Loufab

A bientôt pour d'autres question de newbee !!

Salutations

Zoolo
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h09.


 
 
 
 
Partenaires

Hébergement Web