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 :

numéro qui s'incrémente sur un état


Sujet :

IHM

  1. #21
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    bonjour, voila se que j'ai essayer de faire, mais malheureusement sans succes, si quelqu'un voit l'erreur (aucune erreur indiquée par access, mais aucun numéro affiché dans mon champ indépendant de mon etat [numbv] ) :

    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
    Private Sub Entête_coordonnées_client_Format(Cancel As Integer, FormatCount As Integer)
     
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select * from parametre")
     
      Me.NumBV = 0
     
      Me.NumBV = DLookup("numbvimp", "bv", "codecli= [CodeCli]  and codetech= [CodeTech]  and date= [DateProchVisit] ")
      If Me.NumBV = 0 Then
        NumBV = rs("Max(numBVimp)")
        DoCmd.RunSQL "Insert into BV values (me.CodeCli,me.numbv ,me.CodeTech,me.DateProchVisit_par_Mois)" 'exécute la requète
        DoCmd.RunSQL "Insert into Parametre values (max(numbv)+1)"   'exécute la requète
      End If
     
    End Sub

  2. #22
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    Voila, j'ai modifié mon code, maintenant il me met une erreur sur le ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numbv= rs("max(numbvimp)")
    cette erreur apparait seulement si aucun numéro n'est trouvé, si un numéro est trouvé, il va me mettre le même numéro sur toutes les pages de l'état au lieu d'en mettre un différent pour chaque page


    voila tout le code utilisé :

    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
    Private Sub Entête_coordonnées_client_Format(Cancel As Integer, FormatCount As Integer)
     
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select * from parametre")
      Me.NumBV = 0
      ' Me.Page = 1         Ces 2 lignes sont utilisés
      ' SetCount Me        pour faire autre chose !!!!
     
      Me.NumBV = Nz(DLookup("numbvimp", "bv", "codecli= [CodeCli]  and codetech= [CodeTech]  and datebv= [DateProchVisit]"), 0)
      If Me.NumBV = 0 Then
        NumBV = rs("Max(numBVimp)")
        DoCmd.RunSQL "Insert into BV values (me.CodeCli,me.numbv ,me.CodeTech,me.DateProchVisit_par_Mois)" 'exécute la requète
        DoCmd.RunSQL "Insert into Parametre values (max(numbv)+1)"   'exécute la requète
      End If
     
    End Sub

  3. #23
    Invité
    Invité(e)
    Par défaut
    Bonjour

    C'est parce que tu n'as pas max(numbvimp) dans ta requête, dans celle-ci tu prends tous les champs tel que sans faire de calcul ou autre.

    Il faut que tu modifies ta requête SQL en conséquence.

    Starec

  4. #24
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    Donc dans se cas plus besoin de record set, je selectionne seulement le max(numbvimp) puis je l'affecte a numbv ?

  5. #25
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    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
    Private Sub Entête_coordonnées_client_Format(Cancel As Integer, FormatCount As Integer)
     
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select max(numbvimp) from parametre")
      Me.NumBV = 0
      ' Me.Page = 1         Ces 2 lignes sont utilisés
      ' SetCount Me        pour faire autre chose !!!!
     
      Me.NumBV = Nz(DLookup("numbvimp", "bv", "codecli= [CodeCli]  and codetech= [CodeTech]  and datebv= [DateProchVisit]"), 0)
      If Me.NumBV = 0 Then
        NumBV = rs("numBVimp")
        DoCmd.RunSQL "Insert into BV values (me.CodeCli,me.numbv ,me.CodeTech,me.DateProchVisit_par_Mois)" 'exécute la requète
        DoCmd.RunSQL "Insert into Parametre values (max(numbv)+1)"   'exécute la requète
      End If
     
    End Sub

    Voila le changement, mais l'erreur se trouve maintenant au niveau de :
    => erreur d'execution '3265' : Element non trouvé dans cette collection

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Numéro de facture qui s'incrémente sans être numéroAuto
    Par joseedaccess dans le forum VBA Access
    Réponses: 15
    Dernier message: 05/09/2017, 11h26
  2. Réponses: 6
    Dernier message: 18/06/2013, 09h42
  3. [AC-2007] Afficher le Numéro de Semaine sur un état est-ce possible ?
    Par Debutant10 dans le forum IHM
    Réponses: 1
    Dernier message: 30/01/2012, 03h45
  4. Réponses: 0
    Dernier message: 10/01/2012, 22h27
  5. un numéro qui s'incrémente dans une requette
    Par consuling dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/03/2009, 15h04

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