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

VBA Access Discussion :

probleme selection max dans recordset


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Par défaut probleme selection max dans recordset
    Bonjour, je voudrais récupérer la valeur maximal d'un champ en fonction d'un code client, j'ai donc utiliser un recordset mais cela ne fonctionne pas, voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim rs as Recordset
    Set rs= currentDb.openRecordSet("select max(numenrprod) from technique where codecli = 'forms![parc/cli]![ccli]")
    J'ai essayé de faire un msgbox pour voir se que sa renvoyé, et puis erreur sur le msgbox, donc voila, si quelqu'un a une idée !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Par défaut
    Bonjours,

    quel code mets tu dans ta message box?
    il faut pas mettre le recordset directement, mais le champs du recordset
    essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox rs.fields(0).value

  3. #3
    Membre chevronné
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Par défaut
    Merci mais malheureusement sa ne marche pas, sa me dit :

    erreur d'éxecution '94' : Utilisation incorrect de Null

    Mais mon souci n'est pas vraiment pour le msgbox, c'est juste que je veux récupérer le max, lui ajouter 1 et le stocker dans une variable !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wnumenr = rs("numenrprod")+1
    J'ai essayé sa, mais sa marche pas

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 153
    Par défaut
    S'il te met "Incorrecte utilisation de Null", c'est que ta requete n'a renvoyé aucun résultat.

    Essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim rs as Recordset
    Set rs= currentDb.openRecordSet("select max(numenrprod) from technique where codecli = 'forms![parc/cli]![ccli]")
    If rs.EOF = false then
        msgbox rs(0) +1
    else
        msgbox "Pas de résultat renvoyée par la requête"
    end if
    Si il t'affiche le message d'erreur, alors soit ta table ne contient aucun "numenrprod" associé à "forms![parc/cli]![ccli]", soit il y a une erreur dans la requête (auquel cas regarde le contenu de "forms![parc/cli]![ccli]")

  5. #5
    Membre chevronné
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Par défaut
    Il me mets le meme message d'erreur, ma table contient bien des "numenrprod" et la zone que je prends dans mon formulaire (ccli) elle renvoie que des codecli valide !

    J'ai fais un msgbox de forms![parc/cli]![ccli] et il me renvoie bien la bonne valeur et il y a des enregistrements pour se client la, donc max numenrprod devrait etre 3 !

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 153
    Par défaut
    Si tu met simplement ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim rs as Recordset
    Set rs= currentDb.openRecordSet("select max(numenrprod) from technique where codecli = 'forms![parc/cli]![ccli]")
    If rs.EOF = false then
        msgbox rs(0)
    else
        msgbox "Pas de résultat renvoyée par la requête"
    end if
    (donc sans faire le "+1") ca fonctionne?

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

Discussions similaires

  1. select max dans un insert
    Par *alexandre* dans le forum Requêtes
    Réponses: 5
    Dernier message: 14/04/2012, 18h20
  2. Probleme de code dans recordset
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 23/11/2011, 21h25
  3. Récupérer le résultat d'un "select max" dans un champ d'un formulaire
    Par ndukuliki dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 15/02/2010, 18h38
  4. Plusieurs Select Max() dans une seule table
    Par lindag dans le forum Designer
    Réponses: 6
    Dernier message: 08/10/2009, 13h51
  5. erreur suite à un select MAX() dans sqlserver 2005
    Par thor76160 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/03/2009, 10h17

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