IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Problème affichage d'un formulaire depuis une table


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Problème affichage d'un formulaire depuis une table
    Bonjour , Bonsoir à tous ,

    j'ai un petit soucis , j'ai malheureusement commencé il y a quelques années avec le fameux logiciel Microsoft WORKS 2003 pour créer une base de données clients avec divers informations, tout aller très bien avec ce fichier je dispose de 2 fichiers un .WDB et un .DBF . Je disposais d'une seule table avec tous les champs et d'un formulaire je pouvais remplir le formulaire et ainsi les tables se remplissaient au fur et à mesure ... Basique.

    Cependant j'ai décidé de passer à la nouveauté trouvant mon ancien PC sous Windows XP obsolète , je me retrouve avec Windows 8 et la suite OFFICE de MICROSOFT .

    j'ai réussi à transférer ma base de données sur windows 8 en passant par EXCEL puis j'ai importé les données sous access , j'ai donc récupérer tous mes champs sans trop de soucis.

    J'ai commencé à créer un formulaire cependant je n'arrive pas a afficher le formulaire d'une ligne directement ...

    Sachant que j'ai environ 4500 formulaires , sous WORKS je double cliqué sur la ligne dans la table et le formulaire s'afficher directement.

    Comment puis-je faire la même chose sous ACCESS ?

    Merci de m'avoir lu

    Cordialement

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    alexmax3 bonsoir,

    As tu jeté un œil sur ce lien ?

    http://office.microsoft.com/fr-fr/ac...102749786.aspx

    JimboLion

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse jimbolion

    J'ai été voir le lien que tu as mis, créer un formulaire je sais faire

    C'est juste que quand je recherche un client ( il peut y avoir plusieurs fois le même client ) dans la table ( il y a qu'une seule table comme elle a été exporté de WORKS par excel et importer dans access ) que j'arrive a afficher le formulaire directement pour la ligne X et non pas les passer une par une dans le formulaire.

    Merci

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    alexmax3,

    oui il faut créer une listbox de recherche, et afficher l'enregistrement correspondant à l'id sélectionné.

    regarde ce tuto

    http://cafeine.developpez.com/access...echerchemulti/

    JimBoLion

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse rapide

    Cela m'a quand même l'air très compliqué à mettre en oeuvre , TOUT cela pour afficher la ligne d'une table dans un formulaire.

    J'espere quand même perplexe vis a vis de la procédure ... sur qu'il n'y pas d'autres solutions ?

    possible d'installer WORKS sur Windows 8 ?

    Cordialement

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    alexmax3,

    Euh je ne pense pas !

    Mais pas si complexe que çà, un simple listbox et une recherche avec ou sans filtre !

    ou ici un autre post : http://www.developpez.net/forums/d93...ent-table-vba/

    JimBoLion

  7. #7
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Bonsoir,


    Ma réponse rejoindra celle de Jimbolion. Avec un formulaire de recherche, tu pourras pointer l'enregistrement que tu souhaites faire afficher dans un autre formulaire approprié.
    Néanmoins si tu trouves sa solution "complexe", peut être préfèreras tu celle ci:
    http://claudeleloup.developpez.com/t...-multicritere/

    Pour ma part (encore un peu novice sur Access), j'ai testé les deux méthodes, selon les difficultés rencontrées l'une peut se trouver plus appropriée que l'autre.

    Je peux t'assurer que c'est relativement simple, il faut juste prendre le temps de lire, d'appliquer et de comprendre.
    Je te conseil d'essayer et dans le cas ou tu rencontrerais une difficulté, je suis persuadé que tu trouveras de l'aide par ici en décrivant précisément ton problème.
    En dernier recours (cela signifie après divers essais ratés de ta part), poste ta DB (sans données sensibles) en demandant si quelqu'un a 5 min pour créer/corriger ton formulaire de recherche (donnes un maximum de précision le cas échéant).


    Bonne continuation à toi.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre aide

    J'ai réussi a afficher le formulaire qui correspond a un client choisit en utilisant une méthode que j'ai trouvé en cherchant mais apparemment cela fonctionne

    pour chaque client j'ai rajouté un champs numéro auto donc tous les clients sont numérotés et quand j'en rajoute un il dispose bien du numéro suivant

    par exemple je veux afficher le formulaire du client numéro 2500 , je vais dans mon formulaire et j'écris en bas 2500 et son formulaire s'affiche correctement .

    C'est tout ce que je voulais

    Maintenant j'aimerai savoir si c'est possible de reprendre toutes données dans client en faisant copier coller en modifiant seulement quelques données du client et aussi la date et le réenregistrer sans modifier l'ancien , cela m'éviterai a tout retaper.

    J'ai essayé un copiant la ligne de la table et en la collant sur une nouvelle ligne cela fonctionne , çà me donne un nouveau numéro auto par exemple le dernier 4350 mais quand je vais dans le formulaire il me dit que le 4350 n'existe pas ...

    Peu être je dois mettre à jour la table ? Si quelqu'un a une idée .

    Je vous remercie

  9. #9
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Je ne suis pas sure d'avoir tout compris, mais je vais essayer de te répondre au mieux:

    Maintenant j'aimerai savoir si c'est possible de reprendre toutes données dans client en faisant copier coller en modifiant seulement quelques données du client et aussi la date et le réenregistrer sans modifier l'ancien , cela m'éviterai a tout retaper.
    Un but précis à cela? Sinon de but en blanc, je dirais que tu peux faire un copier/coller de ta table actuelle, ensuite tu apportes les modifications dans la table que tu as collée (je suis pas sure que c'est la réponse que tu attendais).

    J'ai essayé un copiant la ligne de la table et en la collant sur une nouvelle ligne cela fonctionne , çà me donne un nouveau numéro auto par exemple le dernier 4350 mais quand je vais dans le formulaire il me dit que le 4350 n'existe pas ...
    C'est à dire que tu as copié une ligne par exemple NumAuto = 8 pour la coller dans la même table et donc tu as généré un nouveau numéro auto (NumAuto = 4350)?
    Si tel est le cas, je ne vois pas pourquoi ton formulaire pourrait afficher le numéro 8 et pas le 4350...

    Eventuellement peux tu poster ta DB?


    Bonne continuation.

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse,

    En gros je créé des devis pour des clients, le but de ma base de données est de toute sauvegarder donc un client arrive je créé directement un nouveau formulaire je remplis mon devis , j'enregistre , et tout va bien dans le meilleur des mondes.

    Maintenant il se peut que le client me demande de un devis pour plus de quantité ou changer quelques données 1 ou 2 semaines après donc je voudrais pouvoir reprendre mon devis pour m'éviter de tout recommencer ( le temps c'est de l'argent)

    Si je veux modifier mon client numéro 8, je vais sur le formulaire numéro 8, je modifie les données j'enregistre mais çà modifie tout l'ancien devis ....

    Donc je voulais copier la ligne du client 8 je la colle sur une nouvelle ligne ... çà me remplace tout comme je veux avec un nouveau numéro auto qui est le dernier environ le 4350 ... mais quand je vais dans le formulaire et je recherche le 4350 il me dit qu'il n'existe ...

    Le message d'erreur est " impossible d'atteindre l'enregistrement spécifié : Vous êtes peut-être à la fin d'un jeu d'enregistrements. "

    Merci et bon appétit

  11. #11
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Donc tu fais toutes tes opérations dans la même table? (Les données du client et les données du devis)
    Si c'est le cas, ce qui te faciliterait grandement la vie serait de faire une table pour les données clients (nom, prénom, adresse...) et une table pour les devis (date, quantité, prix, désignation...) qui contient un champ qui permet de faire la relation avec le numéro auto de ta table clients; par exemple admettons que ton numéro auto dans la table client s'appel ID_Client, dans ta table devis, tu auras un champ appelé ID_Client_FK qui te permettra de faire la relation entre les deux tables.

    Ensuite via des formulaires ET sous formulaire (avec relations père/fils), tu crées un formulaire client avec un sous formulaire devis et grâce à ta relation entre les deux tables, pour chaque client, tu auras accès à leurs devis respectifs.

    (Si tu es débutant access, cela te semblera peut être compliqué? Dans ce cas, consulte les divers tutos/articles présents ici même ou tout simplement recherche un peu sur Google et youtube, j'ai moi même débuté access il y a quelques mois et j'ai trouvé tout ce qu'il me fallait ou presque pour créer le fichier client facturation de mon entreprise... Si tu coinces, avec des questions pertinentes, tu devrais toujours trouver de l'aide par ici.)


    Courage

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Oui je comprends ce que tu veux dire dans ce cas j'aurais une table Client + une table Devis que je lie avec un champs en commun mais mon problème resterai le même je voudrais pouvoir reprendre un ancien devis dans la base de données pour le modifier donc lui rajouter un nouveau numéro auto sans effacer l'ancien ...

    mon ancien fichier était sous WORKS , j'avais qu'une seule table pour le faire fonctionner , si quelqu'un à la solution à mon problème je vous remercie d'avance ... j'ai peu être besoin d'actualiser la table ?

    je copie colle dans la table çà m'ajoute un ancien devis avec un nouveau numéro mais dés que je veux l'afficher en formulaire j'ai la même erreur que j'ai expliqué au dessus

    merci

  13. #13
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    mais mon problème resterai le même je voudrais pouvoir reprendre un ancien devis dans la base de données pour le modifier donc lui rajouter un nouveau numéro auto sans effacer l'ancien ...
    Avec la solution que je t'ai proposé, tu pourras pour un même client créer un devis, l'effacer ou le modifier sans problèmes.

    Cela te pose problème car tu souhaite par exemple qu'un numéro auto se génère au changement d'une seule ligne du devis et ainsi conserver tout le reste?
    Si oui.... Je maintiens encore (faute de mieux) la solution proposée précédemment: tu ajoutes un bouton dans ton sous formulaire devis qui créé un nouveau devis (donc avec un nouveau numéro auto) et qui reprend tes lignes. Cela nécessitera un peu de code (et je suis pas encore super à l'aide avec cela); mais voici une piste qui m'avait été donné il y a quelques temps sur ce même forum pour effectuer un switch devis vers factures:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub BtnCreerFacture_Click()
    Dim strSQL As String
    Dim NumFact As Long
    Dim rstsform As DAO.Recordset
    'Rajouter dans la table facture le numéro de client et de devis.
    strSQL = "INSERT INTO T_Factures ( Id_Devis_FK, ID_Client ) SELECT " & Me.ID_Devis & "," & Me.ID_Client & ";"
    DoCmd.RunSQL strSQL ' Exécuter la requête
    'Récupérer le numéro de la facture
    NumFact = DMax("[ID_Facture]", "[T_Factures]")
    'Parcourir le sous-formulaire
    Set rstsform = Me.S_F_Devis_Détails.Form.RecordsetClone
    With rstsform
        .MoveFirst
        While Not .EOF
        'Insérer les détails du devis dans la facture NumFact
        strSQL = "INSERT INTO T_Factures_Détails " _
                & "( ID_Facture, ID_Tarif, Désignation, Quantité, Prix_Unitaire," _
                & "Remise, TVA )" _
                & " SELECT " & NumFact & "," & rstsform![ID_Tarif] & ",'" & rstsform![Désignation] & "'," _
                & Replace(rstsform![Quantité], ",", ".") & "," & Replace(rstsform![Prix_unitaire], ",", ".") & "," _
                & Replace(rstsform![Remise], ",", ".") & "," & Replace(rstsform![TVA], ",", ".") & ";"
    'Debug.Print strSQL
        DoCmd.RunSQL strSQL
        .MoveNext
        Wend
    End With
    Set rstsform = Nothing
    'Ouvrir le formulaire de facturation sur le client
    DoCmd.OpenForm "F_Clients_Facturation", , , "[ID_Client] =" & Me.ID_Client
    Avec ceci il te faut bien évidement la requête qui va avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO T_Factures_Détails ( ID_Facture, ID_Tarif, Désignation, Quantité, Prix_Unitaire, Remise, S_Total, TVA, Montant_TVA, S_Total_TTC )
    SELECT "NumFact" AS NumFact, T_Devis_Détails.ID_Tarif, T_Devis_Détails.Désignation, T_Devis_Détails.Quantité, T_Devis_Détails.Prix_Unitaire, T_Devis_Détails.Remise, T_Devis_Détails.S_Total, T_Devis_Détails.TVA, T_Devis_Détails.Montant_TVA, T_Devis_Détails.S_Total_TTC
    FROM T_Devis_Détails;
    ATTENTION, les codes que je t'ai fournit sont les codes que j'utilise personnellement pour switcher mes devis vers mes factures! Il faudra ainsi que tu adaptes en fonction de tes champs! De plus chez moi je travail sur 2 tables distinctes: factures et devis, hors dans ton cas je crois comprendre que tu veux travailler sur la même table.


    Pour le reste je ne saurais trop t'aider par contre (je n'ai jamais utiliser ou peut être une fois ou deux works...).

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonsoir , je te remercie pour le temps que tu as passé à essayer de résoudre mon problème.

    Je vais regarder tout celà attentivement.

    Bonne soirée

Discussions similaires

  1. [2.x] Probléme affichage d'un formulaire dans une vue
    Par chlock62 dans le forum Symfony
    Réponses: 4
    Dernier message: 25/07/2014, 12h07
  2. Réponses: 9
    Dernier message: 04/06/2013, 23h40
  3. Réponses: 4
    Dernier message: 07/03/2007, 10h36
  4. Affichage aléatoire depuis une table
    Par Winch44 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/01/2007, 17h54
  5. Réponses: 7
    Dernier message: 30/01/2006, 21h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo