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
A voir également:

14 réponses

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

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

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

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

Merci beaucoup.
0
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
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
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
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
bonjour,

https://www.developpez.com/

;o)

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