VB6 et feuilles de données

Résolu/Fermé
rudy - 27 janv. 2005 à 08:46
 djohar - 4 juin 2008 à 10:44
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
A voir également:

14 réponses

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
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
Un grand merci à tous et toutes...

rudy
0
si g bien compri tu veux pouvoir ajouter,modifier,ou suprimer un champs d'une table grace à vb ?
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tu peut tjs faire des état plutot que de te servir d'exel, ça fait pareil je pense
0
Tu veux dire un DataReport, çà je ne l'ai jamais utilisé...
0
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
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
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
OK marlene je vais essayer.

Merci beaucoup.
0
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
bonjours
je cherche comment je peut crée une extension.exe contenant une contrôle ADODC et DATA GRID dans VB 6.0
0
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
29 févr. 2008 à 16:58
bonjour,

https://www.developpez.com/

;o)

polux
0
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