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

VB 6 et antérieur Discussion :

VB -> Acess, ajout d'information dans la database


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut VB -> Acess, ajout d'information dans la database
    Bonjour

    J'ai commencé un projet sous VB 6 // Acess.

    C'est donc un petit programme developpé sous VB, qui se connecte a une DB Acess via ADO.

    Pour aller chercher des info, j'ai pas trop de probleme, une simple requête suffit.

    Par contre, j'aimerai permettre a l'utilisateur, d'ajouter lui même des éléments dans ma base de donnée ( j'ai crée une Form afin de remplir une fiche ( nom de l'artiste, nom de l'album....) )

    Mais comment faire pour justement, ajouter ces données dans ma DB ??

    merci

    alec -

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonjour et bienvenue,

    Citation Envoyé par alec--
    Pour aller chercher des info, j'ai pas trop de probleme, une simple requête suffit...

    ...Mais comment faire pour justement, ajouter ces données dans ma DB ??
    c'est pareil, une simple requête suffit, et une petite recherche aussi...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    j'ai trovué cette reposne de Sovo :

    'tu mets ce code pour le bouton enre_click

    dataemp.Recordset.AddNew
    dataemp.Recordset!User = "Sovo" 'User est un champ de ta table
    .... 'tu fait de meme pour les autres champs
    dataemp.Recordset.Update
    Mais je ne comprends pas plusieurs choses :

    - Qu'appel t-il " dataemp" ?

    - moi je veux que ce soit un utilisateur externe au dev du programme qui ajoute des données dans ma base de donnée, donc mettre une information aprés le " = " me parait étrange

    - comment lui indiquer d'utiliser une autre table ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Commence par nous montrer ton code de connexion, ta façon de construire ton recordset, celle de l'exploiter en lecture... on t'aiguillera en fonction de ta façon de faire

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    La connexion a la BD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Form_Load()
    Set cx = New ADODB.Connection
    cx.Provider = "microsoft.jet.oledb.4.0"
    cx.ConnectionString = "E:\Visual Basic\ptiv2\db.mdb"
    cx.Open
    Set rcrecherche = New ADODB.Recordset
     
    End Sub
    les declaration de variables dans l'option explicite ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Option Explicit
    Dim cx As ADODB.Connection
    Dim rcrecherche As ADODB.Recordset
    Dim choixauteur As String
    Facon de lire la BD via uen requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    rcrecherche.Open "select num_mangas  from mangas where  titre_mangas = " & " '" & BT_recherche.Text & "'", cx, adOpenDynamic, adLockOptimistic
    choixauteur = (rcrecherche!num_mangas)
    rcrecherche.Close
    rcrecherche.Open "select titre_mangas from mangas where  num_mangas  = " & " " & choixauteur & "", cx, adOpenDynamic, adLockOptimistic
    Form6.L_titre.Caption = rcrecherche!titre_mangas
    rcrecherche.Close

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    un petit up

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    j'ai trouvé cette reposne de Sovo
    A la place de dataemp tu met le nom de ton Recordset
    dataemp devient rcrecherche.Recordset.AddNew
    mais pour sa il ne faut pas avoir fermé par rcrecherche.Close
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    Oui, je veux bien, mais de cette maniere, je vois mal omment on lui fait comprendre que " ce qui est marqué dans cette boite de texte ci, doit aller dans le champ de cette table la "



    Personne n'a un exemple simple de requete qui ajoute une donnée ?

  9. #9
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    rcrecherche.Recordset.AddNew 'preparation a l'ajout d'un enregistrement
    rcrecherche.Recordset!titre_mangas = TextBoxtitre_mangas.Text 'rempli le champs
    rcrecherche.Recordset!choixauteur = TextBoxchoixauteur.Text 'rempli le champs
    rcrecherche.Recordset.Update 'enregistrement
    Là s'est bon ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    j'essaye ce dasn quelques instants, et j'edit pour dire quoi.

    En totu cas un grand merci a vous tous.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    au lancement : Error : objet required :/

    Solution ?

    ( edit j'ai mis ce code dans le bouton " valider l'ajout " )

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    attention si rcrecherche.Close a ete inviqué,normal
    il faut refaire dans la procedure d'enregistrement (Command1_Click ??):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command1_Click()
    rcrecherche.Open mangas, cx, adOpenDynamic, adLockOptimistic
    If Not rcrecherche.EOF Then
     rcrecherche.Recordset.AddNew 'preparation a l'ajout d'un enregistrement
     rcrecherche.Recordset!titre_mangas = TextBoxtitre_mangas.Text 'rempli le champs
     rcrecherche.Recordset!choixauteur = TextBoxchoixauteur.Text 'rempli le champs
     rcrecherche.Recordset.Update 'enregistrement
     DoEvents
     rcrecherche.Close
     Else
     'erreur
    End If
    End Sub
    Peut être une erreur de syntaxe
    si erreur essayer sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command1_Click()
    rcrecherche.Open mangas, cx, adOpenDynamic, adLockOptimistic
    If Not rcrecherche.EOF Then
     rcrecherche.AddNew 'preparation a l'ajout d'un enregistrement
     rcrecherche!titre_mangas = TextBoxtitre_mangas.Text 'rempli le champs
     rcrecherche!choixauteur = TextBoxchoixauteur.Text 'rempli le champs
     rcrecherche.Update 'enregistrement
     DoEvents
     rcrecherche.Close
     Else
     'erreur
    End If
    End Sub
    Autrement dit, enlever l' .Recordset
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    Meme en réouvrant le recordset, j'ai toujours l'erreur de l'objet required et le Debug pointe l'erreur sur cette phrase

    rcrecherche.Open mangas, cx, adOpenDynamic, adLockOptimistic

  14. #14
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    j'ai réedité, relis les dernieres lignes
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    Malheureusement, meme sans le .recordset de l'addnew,du update et des 2 autres requetes il y a l'erreur de l'objet required

    le debug print pointe toujours : rcrecherche.Open mangas, cx, adOpenDynamic, adLockOptimistic

  16. #16
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    rcrecherche.Open "mangas", cx, adOpenDynamic, adLockOptimistic
    j'ai oublié les apostrophes
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    On s'en approche, mais une autre erreur intervient : Object variable or With Block variable not set

    il pointe encore en debug, sur la meme phrase

  18. #18
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Voila comment je procede pour ma part pour l'ouverture de la base et de la table voulue, mais j'utilise "Microsoft.Jet.OLEDB.3.51", peut être y a t il une difference ?
    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
    Option Explicit
    'varibles pour manipulation de la base de données
    Public CheminDataBase As New ADODB.Connection
    Public TablES1 As New ADODB.Recordset
    Public CheminNomDelabase As String
    Public NomDeLaTable As String
    Public AcsetBase  As Boolean
     
    Public Sub TestBaseSourceExiste()
    AcsetBase = False: CheminNomDelabase = "C:\Program Files\Visionneuse\Vision.mdb"
    CheminDataBase.CursorLocation = adUseClient: CheminDataBase.Mode = adModeReadWrite
    On Error Resume Next
    CheminDataBase.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source= " & CheminNomDelabase & ";"
    If Err.Number = 0 Then
     NomDeLaTable = "Configue"
     On Error Resume Next
     TablES1.Open NomDeLaTable, CheminDataBase, adOpenStatic, adLockPessimistic
     If Err.Number = 0 Then
      TablES1.Close: DoEvents: AcsetBase = True
      Else
      On Error GoTo 0
      'erreur
     End If
     Else
     On Error GoTo 0
     'erreur
    End If
    End Sub
    Je suis desolé de ne pas pouvoir plus t'aider, mais un forumeur plus compétant va sûrement te depanner
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 17
    Points
    17
    Par défaut
    merci bien

    pour la connexion ca va, je n'ai pas de soucis

    Je cherche juste a ajouter une malheureuse donnée a la base de donnée :'( :'( :'( :'(

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Re,

    c'est quand même pas si dur de faire un ajout ! =)

    Je te propose une façon de faire simplifiée, sans gestion d'erreur, juste pour un ajout, le problème doit venir d'ailleurs dans ton cas...

    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
    ' après ajout de la référence Jet
    
    Dim db as DAO.Database
    Dim rst as DAO.RecordSet
    
    Set db = OpenDatabase("chemin_base")
    Set rst = db.OpenRecordSet("nom_table")
    
    rst.Addnew
    rst!champ1=mavaleur
    ...
    rst.Update
    
    rst.Close
    db.Close
    Et c'est tout !

    Je te passe les options d'ouverture de la base, du recordset, la gestion de la connexion etc.

Discussions similaires

  1. Réponses: 11
    Dernier message: 23/08/2007, 13h12
  2. Creation d'un formulaire permettant d'ajouter des information dans une autre fenêtre
    Par @rno0059 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/06/2007, 07h47
  3. ajouter des informations dans la base de données
    Par gentil dans le forum Hibernate
    Réponses: 7
    Dernier message: 12/04/2007, 11h15
  4. Ajout d'information dans snmp
    Par Dragon13 dans le forum Administration système
    Réponses: 1
    Dernier message: 21/03/2007, 17h49
  5. Réponses: 1
    Dernier message: 16/01/2007, 15h39

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