VB6 et feuilles de données

Résolu
rudy -  
 djohar -
Bonjour à tous et toutes,

Je voudrais, dans une feuille VB, afficher les données d'une table sous forme de feuille de données, avec la possibilité de modifier ou d'ajouter des enregistrements.
Ceci concerne évidemment des "très petites tables" contenant quelques enregistrement de paramètres.
Je sais le faire avec MSFlexGrid, mais dans ce cas je ne peux pas modifier les données.

Quelqu'un peut-il m'aider??

Merci et bonne journée,

rudy

14 réponses

  1. sabri
     
    Il faut mettre un control (dbgrid ou datagrid) selon le cas dao ou ado et le connecter a ta base et tu auras tes donnees
    1
    1. rudy
       
      Salut Sabri,

      EURÊKA ! J’ai trouvé !

      Voici comment j’ai fait :

      J’ai ouvert tout d’abord une nouvelle form en ayant auparavant ajouté dans mes composants le " Microsoft Data Bound Grid Control 5.0 (SP3)."
      Dans la feuille, j’ai placé un Combo, un bouton de commande, une DBGrid et un contrôle MSRDC.
      Dans les propriétés de la DBGrid, sous l’onglet " Général " toutes les options de la frame de gauche sont à sélectionner.
      Le combo sert à récupérer le nom des tables sur lesquelles je veux travailler : dans mon cas toutes celles commençant par « REF ». Ceci se fait lors de l’ouverture de la form. Voici le code :

      Private Sub Form_Load()
      sql = "Select table_name from sysibm.tables where table_schema = 'mabase' and table_name like 'REF%' order by table_name"
      Cmd.CommandText = sql
      Cmd.CommandType = adCmdText
      Set Rst = Cmd.Execute
      Do While Not Rst.EOF
      Combo1.AddItem Rst!table_name
      Rst.MoveNext
      Loop
      End Sub

      Un click sur le bouton de commande permet alors d’afficher sous forme « feuille de données (type Excel) toutes les données de la table sélectionnée :

      Private Sub Command1_Click()
      If Combo1.Text = "" Then
      MsgBox "Veuillez sélectionner une table!", vbCritical, "Anomalie"
      Exit Sub
      Else
      MSRDC1.sql = "Select * from mabase" & Combo1.Text
      sql = "Select colname from syscat.columns where tabname = '" & Combo1.Text & "' and keyseq >=1 order by keyseq"
      Cmd.CommandText = sql
      Cmd.CommandType = adCmdText
      Set Rst = Cmd.Execute
      Do While Not Rst.EOF
      If key1 = 0 Then
      MSRDC1.sql = MSRDC1.sql & " order by " & Rst!colname
      key1 = 1
      Else
      MSRDC1.sql = MSRDC1.sql & " , " & Rst!colname
      End If
      Rst.MoveNext
      Loop
      MSRDC1.Refresh
      End If
      End Sub

      A partir de là, il est alors possible de créer un nouvel enregistrement, d’en modifier un autre ou encore de supprimer un enregistrement gênant.
      Les propriétés de MSRDC sont les suivantes :

      Appearane : 1 rd3Dbevel BOFaction : 0 rdMoveFirst CursorDriver : 1 rdUseODBC
      EOFAction : 0 rdMoveLast LockType : 3 rd ConcurRowVer Prompt : 3 rdDriverCompleteRequired
      ReadOnly : False ResultSetType : 1 rdOpenKeySet Visible : False

      Voilà, j'espère que ceci aidera nos nombreux collègues.

      Un grand merci à toi ainsi qu'à Marlène qui avez essayé de m'aider.

      rudy
      0
      1. rudy > rudy
         
        Un grand merci à tous et toutes...

        rudy
        0
  2. marlene
     
    si g bien compri tu veux pouvoir ajouter,modifier,ou suprimer un champs d'une table grace à vb ?
    0
    1. rudy
       
      Bonjour Marlène,

      D'abord merci de me répondre.

      Je veux en effet pouvoir ajouter, modifier ou supprimer un ENREGISTREMENT.

      Le but de l'affichage sous forme d'une feuille de données est que pour les quelques enregistrements qui seront introduits dans ces fichiers il ne vaut vraiment pas la peine de créer des feuilles normales avec tout le code nécessaire.

      A+
      0
  3. marlene
     
    je ne comprend pas qu'est ce qu'une feuille de données sous VB ?
    moi je ne peut te donner que le code avec des requetes mais dans une feuille normale de vb
    0
  4. rudy
     
    En fait, c'est que la responsable du projet a décidé de tout mettre en oeuvre pour afficher ces quelques données sous la forme d'un tableur d'Excel.

    Mais je crois que l'énergie dépensée pour ce caprice sera plus importante que de travailler normalement.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. marlene
     
    tu peut tjs faire des état plutot que de te servir d'exel, ça fait pareil je pense
    0
  7. rudy
     
    Tu veux dire un DataReport, çà je ne l'ai jamais utilisé...
    0
  8. marlene
     
    oui c'es ca il faut d'abord que tu créer un data environnnement et que tu t'en sevent pour le data report
    0
  9. rudy
     
    En fait je travaille sur une DB DB2 Server à laquelle j'accède par une connexion ADODB.

    Est-ce cela que tu appelles data environnement?

    Et si oui, tu fais quoi? Tu crées ton ordre sql et tu rappatries les données dans ton report? C'est comme une feuille...

    Merci en tous cas de m'aider.
    0
  10. marlene
     
    sous vb, je crois que c'est dans projet, ya creer un data environnemen, la tu vois normalement il y a connexion, il faut que tu choisisse la table ou alors que tu tape une requete je crois que c'est ça mais je ne suis pas sur du tout
    ensuite tu créer ton data report et dans les propriété, data quelque chose, je ne sais plus c lequel tu va pouvoir mettre le nom de ton data environnement
    0
    1. rudy
       
      OK marlene je vais essayer.

      Merci beaucoup.
      0
  11. Omar nasibu
     
    Je cherche un document complet de vb6.0, si y a une personne qui a ça qu'il envoie par mon mail qui est "omar_nasibu@yahoo.fr". Merci et bonne compréhension.
    0
  12. Etudiant
     
    bonjours
    je cherche comment je peut crée une extension.exe contenant une contrôle ADODC et DATA GRID dans VB 6.0
    0
  13. midou26
     
    je ne sais pas comment remplir un contrôle datagrid à partir d'une requête sql
    merci de m'aider!!
    c'est très urgent!!!
    0
  14. djohar
     
    salut a tout le monde . je suis un nouveau membre de ce forum . au fait j ai un base donnes acces je l ai connecter sur vb avec dataenvironnement mai je ne sais pas comment modifier un champ . merci de vouloir m aider
    0