Tuto VB/Access

MrSlave Messages postés 2657 Statut Membre -  
Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois réaliser une base de temps avec le couple VB6 / Access.

Je recherche donc des tutos car je n'ai jamais utilisé ni l'un, ni l'autre.

Merci.
--
MrSlave, l'esclave de ces demoiselles !

284 réponses

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 9
  • 10
  • 11
  • 15
Résumé de la discussion

La problématique porte sur la recherche de tutoriels pour réaliser une base de temps avec VB6 et Access, destinée à un débutant.
Plusieurs interventions indiquent l’existence de ressources gratuites en français couvrant Access et Visual Basic 6.
Ces ressources proposent des cours séparés dédiés à Access et à VB6, facilitant l’initiation.
Des échanges complémentaires évoquent des conseils pratiques et des exemples d’application, sans fournir de solution unique.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. MrSlave Messages postés 2657 Statut Membre 147
     
    Salut Polux. :)

    (plus de 615 posts quand même).

    Comment ça va bien ?
    Prêt pour un we de 3 jours ?

    Dis, est ce que tu t'es déjà servi d'ArrayList ?

    J'ai éssayé de faire comme indiqué ici : https://plasserre.developpez.com/cours/vb-net/
    J'ai donc mis : Imports System.Collections en haut de mon module et Dim L As New ArrayList() en tant que variable globale.

    Mais je ne peux pas m'en servir. :S

    La définition de la variable ne passe pas.

    P'tet une petite idée ? :)
    1
  2. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Tu cherches quoi au juste comme info ?? Quelles sont les points qui posent problèmes ?? On peut peut être te filer des tuyaux ...

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Comme je l'ai dit précédement, je n'ai jamais utilisé ni le vb, ni Access.

      Je commence à comprendre l'ajout de méthodes sur les différents élément d'un form (bouton ...). Parce qu'après tout c'est de l'objet. :)

      Donc pour commencer, j'aimerais pouvoir me co à une base et récupérer des données.
      C'est la partie relation entre vb et access qui me pose des problèmes.
      0
  4. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181
     
    Google copain !!

    Ahaha, je dis ça juste pour t'embêter.
    Access... Bienvenue au Club MrSlave.
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Raaaaaaaa foutu moteur de recherche suisse. xD
      0
      1. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181 > MrSlave Messages postés 2657 Statut Membre
         
        Rooooooh râle pas xD
        0
  5. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Elle est taquine Rikki ....

    Voilà un module pour se connecter à une base Access. Il faut ajouter la référence Microsoft ActiveX Data Objects x.x Library ...

    https://www.cjoint.com/?gfnGBoir2Q

    Reviens me voir si tu as un blème.

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Je t'aime. :)

      Je reviendrais, t'inquiètes pas.
      0
      1. Polux31 Messages postés 7219 Statut Membre 1 204 > MrSlave Messages postés 2657 Statut Membre
         
        n'hésite surtout pas.

        Bon courage

        ;o)
        0
      2. MrSlave Messages postés 2657 Statut Membre 147 > Polux31 Messages postés 7219 Statut Membre
         
        Une p'tite question. :)

        Si je met mon script de connexion à la base dans la fonction form_load() pour que la connexion s'effectue dès qu'on charge la page, où est ce que je dois mettre le chemin vers ma base ?
        0
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Fait un module uniquement pour les échanges avec la base, donne lui le nom de ModBdd. Dans le module tu as une variable constante:
    Private Const BDD = "c:\maBase.mdb"

    Tu remplaces "c:\maBase.mdb" par le chemin et le nom de ta base.

    Ensuite dans le Form_Load, rien ne t'empêche de faire :
    Sub Form_Load()
       ModBdd.ConnectBdd
    End Sub


    Evites de mettre du code dans les modules des formulaires. Fait un module par formulaire ainsi qu'un module pour le traitement des données.

    J'ai pas d'exemple ici sous la main, mais je vais tacher de te faire passer un petit truc demain pour te montrer comment faire.

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Je teste ça tout de suite.

      Merci. ;)
      0
  7. MrSlave Messages postés 2657 Statut Membre 147
     
    Bien alors je ne voudrais pas trop partir dans de mauvaises directions, alors je vais faire un petit point.

    J'ai mon module ModBdd qui contient :

    Public Const PathBase As String = "C:\Documents and Settings\RBEN\Mes documents\base_temps.mdb"

    Public Sub ConnectBdd()

    Set cnx = New ADODB.Connection

    cnx.CursorLocation = adUseServer
    'Définition du pilote de connexion
    cnx.Provider = "Microsoft.Jet.OLEDB.4.0"

    'Définition de la chaîne de connexion
    cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PathBase & ";Persist Security Info=False;"
    cnx.ConnectionString = cnx.ConnectionString

    'Ouverture de la base de données
    cnx.Open

    End Sub

    Et pour me connecter à la base dès le lancement de ma page, j'ai mis :

    Private Sub Form_Load()

    ModBdd.ConnectBdd

    End Sub

    Pour finir, un petit combobox : (mais il ne fonctionne pas).

    Private Sub Combo1_Change()

    Dim verb As ADODB.Recordset
    Set verb = New ADODB.Recordset

    verb.Open "SELECT Verbe FROM test"

    combobox1.AddItem verb

    End Sub

    Est ce que je pourrais avoir un petit coup de main pour le combo, siouplait ?

    Merci.
    0
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    pas mal .... mais c'est pas ça ... dommage ...

    Alors il faut pas remplir la combo sur l'évènement Change() de la combo !!! mais par exemple sur le Form_Load ...

    Private Sub Form_Load() 
    Dim verb As ADODB.Recordset
    Set verb = New ADODB.Recordset
    
    ModBdd.ConnectBdd 
    verb.Open "SELECT Verbe FROM test" 
    While Not verb.EOF
      combobox1.AddItem verb.Fields(0)
      verb.MoveNext
    Wend 
    
    End Sub 
    


    J'ai fait ça de tête, je peux pas tester ici

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Je vais éssayer.

      Mais alors, le Change() de la combo prendra en compte la valeur qu'on va sélectionner ?
      0
    2. MrSlave Messages postés 2657 Statut Membre 147
       
      J'ai une erreur d'éxécution '3709'.
      Impossible d'utiliser cette connexion pour effectuer cette opération.
      Elle est fermée ou non valide dans le contexte.

      Ps : j'ai fini ma journée. Je ne vais plus tarder à rentrer donc pour ce soir, ça va quasiment être bon.

      Merci encore pour ton aide.
      0
      1. Polux31 Messages postés 7219 Statut Membre 1 204 > MrSlave Messages postés 2657 Statut Membre
         
        ok, a demain ... bonne soirée
        0
  9. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Si tu as copié tout le module que je t'ai fait passer, tu peux aussi faire comme ça

    Private Sub Form_Load() 
    Dim verb As ADODB.Recordset
    Dim query As String
    Dim Vrai As Boolean
    
    query = "SELECT Verbe FROM test"
    Set verb = New ADODB.Recordset
    
    ModBdd.ConnectBdd 
    
    vrai = ModBdd.OpenRecordset(query, verb) 
    vrai = ModBdd.RSLirePremier(verb)
      While Vrai = true
        combobox1.AddItem verb.Fields(0)
        vrai = ModBdd.RSLireSuivant(verb)
      Wend 
    
    End Sub 
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Après modifs, ça marche impec. Merci. :)

      Bon je continue et j'enfile mon premier café de la matinée.
      0
  10. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Salut,

    De rien. Je vais enfiler mon 2ème kawa ... j'ai pas les yeux en face des trous ce matin ... vivement l'apéro

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Salut.

      Dis moi, y aurait-il une méthode pour bloquer le contenu de la combobox ?
      Ex, je choisis toto, je clique sur un bouton, et la valeur de la combobox ne pourra plus être changée.
      0
  11. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Je ne sais pas, mais tu peux utiliser une variable globale dans un module. Quand tu cliques sur le bouton tu affectes à la variable la valeur de la combobox, et dans le form_load après avoir rempli la combobox tu rajoutes ça:

    ComboBox1.Text = mavariable

    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Impec, avec ça et le combo.enabled ça fait exactement ce que je veux.

      Merci à toi (pis à Rikk aussi). ^^
      0
      1. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181 > MrSlave Messages postés 2657 Statut Membre
         
        J'trouverai bien une façon dont tu pourras me revaloir ça >:)
        Allez, je déconne.
        0
  12. Polux31 Messages postés 7219 Statut Membre 1 204
     
    De rien, t'as plus k'à payer l'apéro .. j'aime les kaouètes ...

    ;o)
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Vu l'aide que tu m'apporte, je peux même en payer plusieurs des apéros. ^^

      Euh ... quelle est la différence entre datagrid et flexgrid ?
      Apparement la flexgrid ne prend pas en compte les valeurs entrée par l'utilisateur mais il peut les prendre en compte avec un ajout dans le code.

      Et quel est le mieux, si je veux en faire un avec une seule ligne mais qui rajoute une ligne dès que je met quelque chose dans la ligne précédente ? (pas très clair ça).

      Ex : au début, il y a une ligne.
      Si je met quelque chose dans la 1ere ligne, ça me rajoute une 2eme ligne.
      ...
      0
  13. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Je n'utilise le datagrid et le flexgrid qu'en statique, pour affichage. Et en fait j'utilise le Flexigrid pour ça, pour ne pas autoriser la saisie.

    Mais effectivement tu peux l'utiliser en ajoutant un peu de code pour pouvoir faire des saisies. Je ne l'ai jamais fait, mais tu peux trouver des exemples sur : https://vb.developpez.com/faq/?page=Controles et sur https://codes-sources.commentcamarche.net/

    Pour ajouter une ligne, le flexgrid est plus facilement manipulable. Dans l'évènement Click() du flexgrid tu peux faire:

    MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1

    Cette propriété n'existe pas dans le datagrid.

    ;o)

    PS: si l'eau est assez fraîche, pas de glaçon dans le pastaga .. :o))
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Je sais que je suis chiant, mais comment fait on pour écrire dans un datagrid ?
      Y a t-il des options à cocher ?
      0
  14. Polux31 Messages postés 7219 Statut Membre 1 204
     
    oula, c'est chiant à faire ... il faut un contrôle ADODC (composant -> Microsoft ADO Date Controls x.x) qu'il faut configurer (clique droit -> propriétés ...). Tu peux le mettre invisible. Ensuite il faut lier le datagrid au controle ADODC avec la propriété DataSource et affecter la table ou la requête Access à la propriété DataMember ...

    Pas top à faire.

    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Oula.
      Je pensais qu'il était plus simple d'utiliser un datagrid pour faire un tableau dans lequel on puisse écrire mais en fait non.

      J'me tate. ^^
      0
  15. Polux31 Messages postés 7219 Statut Membre 1 204
     
    non pas si simple ...
    0
  16. MrSlave Messages postés 2657 Statut Membre 147
     
    Ou alors je fais un champs de texte qui récupère ce que j'écris et qui l'ajoute soit à un datagrid, soit à un flexgrid.
    0
  17. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Mais alors à quoi te sers le datagrid ou le flexgrid ?
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Ba il ne me servirais plus qu'à afficher ce que j'ai inscris dans le champ de texte. Mais je trouve ça moche.

      Il me faut un tableau ou je puisse entrer plusieurs lignes. Alors je cherche la meilleure des solution (ou du moins celle que j'arriverais à mettre en place). ^^
      0
  18. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Je ne comprends pas bien. Tu peux très bien te faire un tableau uniquement avec des champs texte, sans devoir passer par un datagrid ou un flexgrid ... quel en est l'intérêt ? c'est ça que je ne pige pas bien ...

    mais bon je te l'ai dit, j'ai pas les yeux en face de trous et mon neurone est en grève depuis ce matin ... :-s
    0
    1. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181
       
      C'est normal, c'est vendredi ;)

      *Suit la conversation depuis le début, si si, rien d'autre à faire*
      0
      1. Polux31 Messages postés 7219 Statut Membre 1 204 > Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention  
         
        et même pas un kawa ... pffffffff tout fout le camp ... j'vous l'dit mouai

        (bônjour lâ chuisse)

        ;o)
        0
      2. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181 > Polux31 Messages postés 7219 Statut Membre
         
        J'aime pas le café, mais j'vous en sers si vous voulez :)))

        'Jour le freuch :p
        0
      3. Polux31 Messages postés 7219 Statut Membre 1 204 > Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention  
         
        veux bien un T si tu préfères.
        0
      4. Rikkunter Messages postés 7856 Date d'inscription   Statut Membre Dernière intervention   181 > Polux31 Messages postés 7219 Statut Membre
         
        Deal ;)
        Et un café pour MrSlave, privé d'alcool (par moi-même, et puis c'est mauvais quand tu codes :p)
        0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 9
  • 10
  • 11
  • 15