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 :

Génération de plusieurs enregistrements a partir du 1er et du dernier


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut Génération de plusieurs enregistrements a partir du 1er et du dernier
    Bonjour a tous,

    J'ai fait un formulaire a partir duquel je souhaiterais générer une liste de plusieurs enregistrements (numéros de cheques) en connaissant le numéro du 1er et du dernier. Tout ca par une simple incrémentation.

    Voici un apercu du formulaire

    On rentre le numéro du 1er cheque, le numéro du dernier, le nombre de cheques (même si ca n'est pas tres utile) et le but c'est de créer dans la table tbl_Cheques les numéros de tous les cheques liés au numero de compte (account number). Dans la table des cheques, c'est le numéro du cheque qui est la clé primaire ici par exemple: 800850.

    Le probleme c'est que je ne sais pas du tout faire par code VBA.

    Y a-t-il quelqu'un pour m'orienter?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Et bien, ici

    ou

    http://vb.developpez.com/cours/

    Sinon dis nous au fur et à mesure ce qui te gène et on pourra t'aider
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Ok merci pour ta réponse...

    Sur le bouton sauvegarde, j'ai placé le code suivant.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub cmd_SaveOrder_Click()
    On Error GoTo Err_cmd_SaveOrder_Click
     
     
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
     
     
        ' ************************
         Dim j As Integer
         j = Me.NumberOfCheques.value
     
     
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("tbl_Cheques")
     
    With rst
    For i = 1 To j
        rst.AddNew
        rst.Fields("AccountNumber").Value = Me.AccountNumber
        rst.Fields("ChequeSerialNumber").Value = Me.Number1stCheque.Value + i - 1
        rst.Fields("OrderDate").Value = Me.OrderDate
        rst.Update
    Next i
     
    End With
     
    rst.Close
    Set rst = Nothing
    Set dbs = Nothing
     
        ' ************************
     
    Exit_cmd_SaveOrder_Click:
        Exit Sub
     
    Err_cmd_SaveOrder_Click:
        MsgBox Err.Description
        Resume Exit_cmd_SaveOrder_Click
     
    End Sub

    J'obtiens une erreur: la clé primaire ne peut pas recevoir une valeur Null.
    Alors que dans mes tables j'affecte bien une valeur au numéro de compte (AccountNumber) et au numéro du cheque (ChequeSerialNumber).

    Je ne vois donc pas ou est-ce que ca coince dans le code...
    Quelqu'un peut-il me guider?


    Merci d'avance!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Quel champs est ta clé primaire?
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  5. #5
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Dans la table chèques, la clé primaire est le champ ChequeSerialNumber.


    Le formulaire est basé sur une requête construite sur plusieurs tables.

    Le champ AccountNumber est aussi une clé primaire mais d'une autre table.

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Je bloque toujours sur ce "petit" probleme.

    Voici les relations entre mes tables et une capture de la requete sur laquelle le formulaire est construit.

    Dans mon formulaire les trois textbox Number of 1st Cheque, Number of last Cheque, NumberOfCheques sont indépendants et servent a générer le bon nombre de numéros de cheques du 1er au dernier.

  7. #7
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Dans mes deux tables, si j'enleve le caractere clé primaire de ces deux champs, j'arrive a générer tous les enregistrements...

    Mais forcément les enregistrements ne sont plus liés entre eux, et j'aurais du mal a travailler sur les tables sans identifiant unique...

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Je continue de chercher un peu partout sur le site, forum, faq... mais je ne trouve pas grand chose en rapport avec mon probleme.

    Des que je remets la clé primaire sur ces deux champs, plus rien n'est ajouté dans aucune table...

    Quelqu'un aurait-il une idée?

    Merci d'avance pour votre aide!

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    tu ne devrais pas dans ton formulaire y mettre en source de données des données provenant de la table tbl_chèque vu que tu vas construire tes enregistrements en fonction de la saisie.
    mets-y juste en source de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT tbl_Clients.ClientRadical, tbl_Clients.client, tbl_Accounts.AccountNumber FROM tbl_Clients INNER JOIN tbl_Accounts ON tbl_Clients.ClientRadical=tbl_Accounts.ClientRadical;
    parce que j'ai testé ton code chez moi et ça marche sans problème. ça me créé bien 100 enregistrements dans la table tbl_cheques alors que j'ai les clés primaires et étrangères

  10. #10
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup de m'avoir répondu et d'avoir pris le temps de tester mon code!

    Je reteste et je mettrai le probleme en résolu.

  11. #11
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Yes ça marche impec.
    Merci beaucoup!

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

Discussions similaires

  1. Trier les enregistrements à partir de 1er mot
    Par FedEtRic dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/07/2009, 18h36
  2. Création de plusieurs enregistrements à partir d’un champ mémo
    Par nayhau dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/08/2008, 12h44
  3. Réponses: 8
    Dernier message: 27/07/2006, 09h09
  4. SQL et Access : ajouter plusieurs enregistrements
    Par Bernard M dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/04/2004, 21h39
  5. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

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