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

Access Discussion :

Sauvegarde / Lecture de base de donnée


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Sauvegarde / Lecture de base de donnée
    Bonjour à tous,

    je suis nouveau sur le forum, débutant en VBA (quelques notions cependant). J'utilise Visual Basic 2005 Express Edition.

    Cela fait maintenant 1 semaine que je cherche désespérément comment créer et mettre à jour une base de donnée en fouillant dans les tutoriaux, etc... Mais je n'ai rien trouvé (peut etre que je ne comprends pas tout dans les tutoriaux ).


    En fait, je souhaiterais afficher une base de donnée dans un formulaire VB (créé avec visual basic 2005 express edition, toujours) - Jusque là, j'arrive à faire...
    Ensuite, plus compliqué, et c'est là ou je pige plus grand chose, je voudrais pouvoir ajouter et enregistrer des valeurs dans cette base de donnée, à l'aide d'un formulaire VB.


    Plus précisément :
    - l'utilisateur rentre des valeurs dans des textbox d'un formulaire VB, il valide le tout. (ça aussi, je sais comment faire).

    - dans un autre formulaire ou est affichée la base de donnée (vide pour le moment), est ajoutée une ligne avec les informations rentrées par l'utilisateur.

    - une fois le programme fermé, les données sont stockées dans une base de donnée annexe (Acces, ou SQL, j'ai du mal avec ça... )


    Si quelqu'un peut me donner des conseil, ou m'indiquer un site ou je puisse trouver mon bonheur, ou même (et ce serait le top), un exemple à télécharger pour que je comprenne bien comment tout cela fonctionne !

    MERCI !!

  2. #2
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    J'utilise ado
    je vais te donner du script en vrac
    un ezone de liste qu'on selectionne permet de supprimer
    des zones de textes et un bouton avec un insert into....
    e,n espérénat t'aider ..
    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
    Private Sub Commande189_Click()
    Dim code As String
    Dim tot As Double
    Dim totalchassis As Integer
    totalchassis = Me!lign_qte * Me!lign_format.Column(3)
    code = forme1(Me!lign_collection, 2) & forme1(Me!lign_format, 2) & forme1(Me!lign_theme, 3)
    tot = Me!lign_qte * Me!lign_pu
        CurrentProject.Connection.Execute "insert into detailcommandes(codecde_dcde,codetableau_dcde,collection_dcde,theme_dcde,format_dcde,qte_dcde,pu_dcde,devise_dcde,tot_dcde,totchassis_dcde,dcpte_dcde) values ('" & _
        Me!code_Commande & "','" & code & "','" & Me!lign_collection & "','" & Me!lign_theme & "','" & Me!lign_format & "','" & Me!lign_qte & "','" & Me!lign_pu & "','" & Me!lign_monnaie & "','" & tot & "','" & totalchassis & "')"
    '......
    Me.liste_lignecommande.Requery
    Me.lign_collection = False
    Me.lign_theme = False
    Me.lign_format = False
     
    Me!lign_pu = "0"
    Me!lign_qte = "1"
    End Sub
    Private Sub Commande192_Click()
    'suppression d'une ligne de commande
        CurrentProject.Connection.Execute "delete from detailcommandes where ref_dcde=" & liste_lignecommande.Column(0)
    'tble_Détails_cde
    Me.liste_lignecommande.Requery
     
    End Sub
    tins moi au courant c'est un ancien script qui marche

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Heu, EE il a dit qu'il était débutant.....
    En fait, je souhaiterais afficher une base de donnée dans un formulaire VB (créé avec visual basic 2005 express edition, toujours)
    En fait il veut utiliser une base Access pour stocker ses enregistrements à partir d'une application en VB.
    Je pense que la FAQ VB répond à ceci:
    http://vb.developpez.com/faq/?rechercher=access

    [EDIT]
    Regarde également, il y a de nombreux exemples sur l'accés aux données à partir de VB:
    http://jacma.developpez.com/premierspasdatabase/

    En espérant avoir compris

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Oui, merci EE, mais c'est vrai que j'ai du mal à comprendre ton code
    ça ne fait pas lontemps que j'utilise le langage VB

    je regarde la faq, FreeAccess

  5. #5
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    glups' je suuis sur un autre dev et je suis le forum en meme temps alords dans l'engouement ....!!!!!! pardon
    j'utilise simplement 2 fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CurrentProject.Connection.Execute "insert into latable (champs1,champ2,champ3) values ( zonedetexte1,zonedetexte2,zonedetexte3)"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CurrentProject.Connection.Execute "delete from latable where la condition "
    donc tu crees 1 formulaire
    tu crees des zone de texte avec les noms zonedetexte1,zonedetexte2, ..

    Tu crees un bouton dans les evenement (onglet)
    à "sur clic " tu choisis [Procédure événementielle]
    et dans la partie vba tu integressimplement le code
    ca te donne genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub monbouton_Click()
    CurrentProject.Connection.Execute "insert into latable (champs1,champ2,champ3) values ( zonedetexte1,zonedetexte2,zonedetexte3
    end sub
    voila ca parait simple .. j'ai galéré pendant des mois et c'est grace à ce forum que j'ai avancé alors je suis à ta dispo comme on l'a été pour moi

    bon courage

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci EE !
    J'ai fais ce que tu m'as dit, mais j'ai juste rajouté un datagridview et associé une base de donnée, et mon code donne ça :

    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
    Public Class Form1
        Dim CurrentProject
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO : cette ligne de code charge les données dans la table 'Bd1DataSet.Table1'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.Table1TableAdapter.Fill(Me.Bd1DataSet.Table1)
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            CurrentProject.Connection.Execute("insert into table1 (champ1,champ2) values ( zonedetexte1,zonedetexte2)")
        End Sub
     
        Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
     
        End Sub
    End Class
    Comme tu as pu le remarqué, j'ai rajouté un "Dim CurrentProject" au début, sinon, il ne reconnait pas ce nom...

    Petit problème, quand j'exécute le programme et que je clique sur le bouton après avoir rentré du texte dans les champs de formulaire, il me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable objet ou variable d'un bloc With non définie.


    je pense qu'il faut que je change les noms "champ1 et champ2" non ? mais je ne sais pas par quoi

  7. #7
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Est-ce moi qui comprends plus rien, ou alors j'ai comme l'impression qu'il y a une grosse méprise entre EE et Goold

    EE donne du code VBA (propre à Access)

    Tandis que Goold lui utilise du code VB (Visual Basic), puisque je pense sans trop me tromper qu'il "fait" son application avec ce langage.

    Et la c'est pas gagner, car même si il y a des similitudes dans les codes, on ne l'utilise pas de la même façon

    Maintenant, ceci dit, peut-être que je suis resté trop longtemp au soleil cet après-midi
    Dans ce cas, ne pas tenir compte de ma remarque

  8. #8
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par FreeAccess
    Tandis que Goold lui utilise du code VB (Visual Basic), puisque je pense sans trop me tromper qu'il "fait" son application avec ce langage.
    C'est vrai, mais je ne savais même pas qu'on pouvais programmer en VB sous Access !

  9. #9
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    C'est vrai, mais je ne savais même pas qu'on pouvais programmer en VB sous Access !
    Non sous Access on utilise V.B.A.,
    Ici le A signifie Application, c'est à dire que ce langage (code) n'est applicable que pour un programme particulier. On trouve la même chose avec Word, Excel.......etc

    Tandis que VB (Visual Basic) est un "vraie" langage de programmation qui permet de faire pratiquement n'importe quoi et sort à la fin une application compilée (avec extension EXE).

    C'est pourquoi, je t'ai redirigé vers les tutoriaux VB, qui montre comment accéder à une base de données (normalement avec un objet DataGrid).

    Bonne continuation

  10. #10
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ok merci, je vais aller chercher dans la faq que tu m'as conseillé.

    Edit : heu.. j'ai du mal à tout comprendre...

  11. #11
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Edit : heu.. j'ai du mal à tout comprendre...
    Et oui, je sais, mais on est tous passer par là et d'ailleur on continue souvent à pas tout comprendre

    Cela dit, regarde surtout le fichier d'aide de ce lien:
    http://jacma.developpez.com/premierspasdatabase/

    C'est un fichier PDF, qui explique pas à pas comment faire un formulaire pour accéder à une base de données ACCESS...

    Bonne cogitation et bon courage....et si tu ne comprends pas tout, pose les bonnes questions sur le Forum VB (Visual Basic)

  12. #12
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Super, merci, le fichier pdf a l'air bien expliqué ! En plus, le titre correspond tout à fait à ce que je veux faire !
    je teste ce ça demain, je reviendrais donner des nouvelles

  13. #13
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    hello , bon je vois que tout roule ... mon idée n'ets qu'une idée de principe l'important c'est un process et non un langage.. bon en VB je suis un mauvais... je peux plus vous aider sur ce post
    ciao et bon courage

  14. #14
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    mon idée n'ets qu'une idée de principe l'important c'est un process et non un langage..
    Faut-il encore que le processus expliqué (surtout à un débutant) corresponde à son (ses) besoin(s) et qu'il soit transposable dans un autre "langage"
    Surtout en VB, ou on ne gére pas de la même façon une base de donnée
    Cela dit, je pense qu'avec toutes les liens qu'il a, Goold à maintenant de quoi s'occuper pour de longs jours.
    Bonne journée.

  15. #15
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    tu as certainement raison Freeaccess
    bonne journée
    et bon courage à Goold

Discussions similaires

  1. Sauvegarde d'une base de données fractionnée
    Par Alexandr dans le forum Access
    Réponses: 2
    Dernier message: 19/09/2006, 20h35
  2. [C#] Probléme de lecture de base de données
    Par nutball dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/09/2006, 16h48
  3. Réponses: 3
    Dernier message: 06/06/2006, 08h06
  4. sauvegarde d'une base de données
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/05/2006, 16h41
  5. sauvegarde de la base de données
    Par cleaver dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 08/05/2006, 23h58

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