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

Access Discussion :

Problème avec l'affichage des nombres d'enregistrement dans une table


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut Problème avec l'affichage des nombres d'enregistrement dans une table
    Bonjour à tous.
    J'ai une table "commande" dans laquelle j'ai des champs comme "destination", "provenance " etc.
    J'ai créé un formulaire qui m'aide à remplir ma table et mes enregistrements sont compté automatiquement.
    Ma préoccupation: si je rempli le "txtdestination" (un contrôle qui m'aide à remplir le champ "destination" et que je laisse vide le "txtprovenance", (contrôle qui m'aide à remplir le champ "provenance"), access compte 1 enregistrement provenance et 1 pour " destination " dans ma table alors que je n'ai rempli que pour "destination "
    Comment faire pour qu'il ne compte pas si l'enregistrement est vide? Avez-vous une idée svp?

    Voici le bout du code:
    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
    30
    Private Sub btnenregistrercommande_Click()
     
    If (Me.TXTV.Value = "031") Or TxtTotalvoyage = txtsommeqteprix Then
     
     
    If (Me.TXTDATECOMMANDE <> "" And TXTLISTECLIENTS <> "" And TXTLISTECAMIONS <> "" And TxtTauxDollar <> "" And txtsommeqteprix <> "") Then
     
    res = MsgBox("Etes-vous vraiment sur de vouloir valider ? Avez-vous déjà tout vérifié ? ", vbYesNo + vbInformation, "FERMETURE")
    If (res = vbYes) Then
     
     
    Dim db As DAO.Database
    Dim idcmd As Integer
    Set db = CurrentDb
     
    ''''''''''''''''''''ajouter dans la table commande'''''''''''''''''''''''''''
    Dim rscommande As Recordset
    Set rscommande = db.OpenRecordset("commandes", dbOpenTable)
     
        rscommande.AddNew
        idcmd = rscommande("idcommande")
        rscommande("codecommande") = GenCodeCommande()
        rscommande("idcamion") = Int(Me.txtIdCamion.Value)
        rscommande("datecommande") = Me.TXTDATECOMMANDE
        rscommande("sujet") = Me.TXTSUJETCOMMANDE
        rscommande("montantHT") = CDec(Me.TXTMONTANTHT)
        rscommande("MONTANTTTC") = CDec(Me.TXTMONTANTTTC)
         rscommande("idclient") = Me.TXTIDCLIENTT
           rscommande("provenance") = Me.txtprovenance
         rscommande("destination") = Me.txtdestination

  2. #2
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Bonjour,

    j'ai comme l'impression que tu te casses la tête à remplir tes tables (déjà l'autre jour avec ton champ invalide).

    Pourquoi passer à chaque fois par du vba et des recordset pour remplir tes tables ?????
    Bases ton formulaire sur tes tables / requête dans un premier temps, là on dirait que tu crées une base access comme tu le ferais avec un langage de programmation.

    Dis moi si je me trompe ?

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Oui vous avez effectivement raison.
    Mais présentement je suis dans le besoin et j'ai besoin de l'aide svp

  4. #4
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Quand tu dis J'ai une table "commande" dans laquelle j'ai des champs comme "destination", "provenance " etc. cela laisse supposer (comme ton code aussi) que tu insères un enregistrement dans la table "commande".

    Quand tu dis aussi "access compte 1 enregistrement", comment en déduis tu cela ? Qu'il compte un enregistrement dans la table commande c'est normal, que l'ensemble des champs de cet enregistrement soient complétés ou non.

    Tu veux compter quoi au juste et de quelle manière ?

    A+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Donc j'enregistre avec le formulaire
    Et je vérifie en ouvrant la table (menu accueil>totaux, puis je compte le nombre des enregistrements dans deux champs: destination et provenance)en cliquant sur nombre. (Si je rempli avec le formulaire, il compte dans les deux champs)
    Mais si je rempli directement dans la table il compte bien.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Avec le formulaire il compte dans les deux champs même si l'autre est vide.

  7. #7
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par Eric kankonde Voir le message
    Donc j'enregistre avec le formulaire
    Et je vérifie en ouvrant la table (menu accueil>totaux, puis je compte le nombre des enregistrements dans deux champs: destination et provenance)en cliquant sur nombre. (Si je rempli avec le formulaire, il compte dans les deux champs)
    Mais si je rempli directement dans la table il compte bien.
    Plutôt que d'utiliser cette fonctionnalité (ce gadget) dans l'affichage des tables (je ne sais même pas pourquoi cela existe, Access n'est pas un tableur ), utilises plutôt des requêtes pour compter les enregistrements...
    Logiquement, on n'ouvre jamais des tables comme cela pour lire le contenu (encore moins pour compter).

    A+

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Oui j'ai déjà une requête pour cela.
    Quand j'ai vu une erreur dans ma requête c'est alors je suis allé voir dans la table si c'est la même chose. Quand j'ai vu ça dans la table c'est alors que j'ai réalisé que l'erreur ne provient pas de ma requête

  9. #9
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par Eric kankonde Voir le message
    Oui j'ai déjà une requête pour cela.
    Quand j'ai vu une erreur dans ma requête c'est alors je suis allé voir dans la table si c'est la même chose. Quand j'ai vu ça dans la table c'est alors que j'ai réalisé que l'erreur ne provient pas de ma requête
    Il doit il y avoir une erreur dans la requête.

    Si tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(commandes.champ) as Nombrecompte
    FROM commandes
    WHERE commandes.champ Is Not Null And commandes.champ<>"";
    tu as encore l'erreur ?

    A+

  10. #10
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Aussi, tu peux tester la longueur de l'enregistrement contenu par le champ (si la longueur = 0 c'est que le champ est vide)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(commandes.champ) as Nombrecompte
    FROM commandes
    WHERE len(commandes.champ)>0;

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Merci de votre aide.
    Mais n'utilise plus une requête pour compter. J'utilise un contrôle dans le formulaire dans laquelle j'ai essayé d'adapter votre réponse. Mais toujours ça ne fonctionne pas. J'ai fait ceci : =NbCar(Compte([Destination])>0)

  12. #12
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par Eric kankonde Voir le message
    Merci de votre aide.
    Mais n'utilise plus une requête pour compter. J'utilise un contrôle dans le formulaire dans laquelle j'ai essayé d'adapter votre réponse. Mais toujours ça ne fonctionne pas. J'ai fait ceci : =NbCar(Compte([Destination])>0)
    Si tu utilises une zone de texte dans ton formulaire, mets ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteDom("*";"commandes";"len([destination])>0")
    A+

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Problème résolu.
    Merci infiniment

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. limiter le nombre d'enregistrements dans une table
    Par Vincent_59 dans le forum Modélisation
    Réponses: 8
    Dernier message: 09/07/2007, 11h01
  2. Réponses: 2
    Dernier message: 18/04/2007, 18h37
  3. [SQL] Problème avec nombre d'enregistrements dans une table
    Par zana74 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2006, 14h28
  4. Problème avec nombre d'enregistrements dans une table
    Par zana74 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/08/2006, 14h21
  5. Nombre d'enregistrement dans une table MySQL
    Par tom06440 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 21/10/2005, 20h07

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