VB et BDD

Jérôme -  
 Jérôme -
Bonjour,
Je commence tout juste avec VB, et je veux créer un programme de gestion de billetterie.
J'ai créé 3 bases de données (simples): 1 pour les acheteurs, 1 pour le type de billets et 1 pour la réservation.
Dans une feuille, je veux faire saisir le nom de l'acheteur (je fais apparaître une base), le type du billet (je fais apparaître la 2ème base) et j'enregistre le tout dans la base de réservation.
J'ai créé 2 DBCombo pour que l'on n'ait plus qu'à choisir dans la liste des acheteurs de la base, et de la liste des billets.
Mais quand je choisis et que je veux enregistrer, la 3ème base n'a rien enregistré, et dans les 2 autres bases, les acheteurs et les billets sélectionnés sont effacés ??!
Merci pour vos lumières...

11 réponses

  1. maily Messages postés 7560 Statut Contributeur 453
     
    Bonjour

    Alors, comme ça, je sais pas...
    tu utilise quel SGBD?
    Ensuite, peux tu nous copier coller ton code en cliquant d'abord sur Code, comme ça, se sera très lisible pour tout le monde.

    Bon courage

    Maily   :-))))
    0
  2. Jérôme
     
    Ca va sans doute pas donner grand chose, c'est surtout du visuel ;-)

    Private Sub Retour_Click()
    Data_Résa.Recordset.AddNew
    DBCombo1.Text = ""
    DBCombo2.Text = ""
    Text_Date.Text = ""
    Text_Nb.Text = ""
    Combo1.Text = ""
    Text_Comm.Text = ""
    Menu.Enabled = True
    Unload Me
    End Sub
    0
  3. maily Messages postés 7560 Statut Contributeur 453
     
    Tu utilise access?
    Ensuite, c'est bien gentil, mais ce bout de code ne m'aide pas trop...
    Le code intéressant c'est au moment ou tu récupère les données saisies par l'utilisateur!
    Parce que le moment ou tu remets tout à zéro n'est pas très parlant

    Maily   :-))))
    0
  4. Jérôme
     
    Oui j'utilise Access (que je connais pas trop non plus) mais je m'en sors, je crois.
    Le bout de code est celui utilisé pour ajouter des nouveaux types de billets par exemple: que des cases textes, et la commande Data_Résa.Recordset.AddNew permet d'enregistrer tout automatiquement.
    Mon problème est peut-être là: je pensais que cette commande suffirait à récupérer les valeurs dans les différentes cases et les stocker dans la base de réservation. Ca ne semble pas être le cas, puisque cette commande semble faire un "couper/coller" de ce qui est saisi et non un copier/coller...les valeurs choisies disparaissent donc, mais n'apparaissent pas dans la base de résa.

    Merci pour les conseils à venir :-)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maily Messages postés 7560 Statut Contributeur 453
     
    voui, le problème vient de là!!
    Il faut que tu récupères toi même les valeurs de tes textbox et que tu crée une requête en SQL et l'appliquer à ta base!!

    comme ça:

    'write the query to enter the complete barre code in the database
            query = "insert into FinalNumbers (FinalBarreCode) values('" & barreCode & "')"
            'execute the query
            CurrentDb.Execute (query)
    
    


    Voila!!
    Bon courage

    Maily   :-))))
    0
  7. Jérôme
     
    Merci beaucoup pour ton aide, mais je vois pas à quoi correspond

    query = "insert into FinalNumbers (FinalBarreCode) values('" & barreCode & "')"

    et CurrentDb.Execute (query) m'indique qu'il manque un objet...
    0
  8. maily Messages postés 7560 Statut Contributeur 453
     
    ok alors reprenons...
    pour insérer des valeurs dans une table de access, il faut faire une requete sql
    mon
    query = "insert into FinalNumbers (FinalBarreCode) values('" & barreCode & "')" 


    correspond à la chaine caractère de ma requete...
    je demande d'insérer dans ma table FinalNumbers(FinalBarreCode) ayant pour valeurs
    values( et la tu mets ta valeur correspondante)

    Puis pour
    CurrentDb.Execute (query)
    il faut que tu te connectes à ta base de données avant de pouvoir écrire ça...

    c'est plus clair? Sinon, n'hésite pas!

    Maily   :-))))
    0
  9. Jérôme
     
    Je commence avec le VB, et je comprends pas vraiment ta ligne query = ...

    J'ai bien peur de devoir abandonner ce projet :-/
    Je pense qu'un bouquin pour commencer avec le VB serait pas mal. Eventuellement, je pourrai t'envoyer mon prog ?
    0
    1. maily Messages postés 7560 Statut Contributeur 453
       
      question, tu commences la programmation aussi?

      Maily   :-))))
      0
  10. thomas7257
     
    pour information je doute que se soit le plus simpla gérer.
    Utilise plutôt la réf DAO ou ADO de VB.
    Toute l'aide est disponible sur msdn ou www.vbfrance.com dans la rubrique base de donnée.

    il faut que tu fasses:

    rs.addnew
    rs.fileds("Champs1")=valeur1
    rs.fileds("Champs2")=valeur2
    .
    .
    .
    rs.fileds("ChampsX")=valeurX
    rs.update

    si tu ne fais pas rs.update, l'enregistrement ne sera pas pris en compte dans la base de donnée.

    Si tu veux un exempl détaillé sur l'utilisation des bases de données relationnelles avec VB va voir sous vbfrance à la rubrique ADO/base de données.

    tom
    0
  11. maily Messages postés 7560 Statut Contributeur 453
     
    voui, pas de probleme
    Pour mon mail, j'aime pas trop le donner sur le forum, tu me donnes le tien, je t'enverrais le mien comme ça

    Maily   :-))))
    0
  12. Jérôme
     
    Je ne commence pas tout à fait la prog. J'ai fait du C et de l'Assembleur pendant 2 ans en BTS (1997/1999) et j'avais envie de tenter un peu de VB, qui est plus intéressant pour mes besoins et plus facile peut-être, car on voit vraiment ce qu'on fait.
    Je vais tâcher de suivre le conseil de thomas7257, l'ADO semble accessible (après avoir zieuté rapidos).
    Merci en tout cas,
    Jérôme
    0