Urgent: Base de Donnée

Résolu
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006 - 14 juin 2006 à 16:56
erefdatacomputing Messages postés 165 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 24 avril 2018 - 15 juin 2006 à 16:20
Bonjour les amis,

J'ai un petit souci:
Quelles sont les différentes méthodes pour afficher les données extraites de ma base de donnée dans un tableau Type excel? C'est assez urgent SVP
Merci d'avance pour vos réponses

8 réponses

erefdatacomputing Messages postés 165 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 24 avril 2018
14 juin 2006 à 23:32
je sais qu'avec ACCESS tu peux importer une table de ta Base de Données dans une DataGrid, en passant par un ADODC.

1°) tu poses un ADODC et une DataGrid sur une Form

2°) dans les propriétés du ADODC tu cliques sur 'Personnalisé'
      'Utiliser une chaîne de connexion'  ... 'Créer' ....
      'Selectionner ou Taper un nom de base de données'  ...
      tu indique le chemin et le nom de la Base de données ACCESS
      qui t'intéresse .... 'Tester la Connexion'   .... 
      'Test de Connexion réussi' ... 'Ok' ... 'Ok' ... selectionne l'onglet 
      'RecourdSource' ... 'Type de Commande'  ....  '2 - adCmdTable'
      ... 'Nom de procédure stockée ou de Table' ... 'Ok' .

3°) dans les propriétés de la DataGrid tu cliques sur 'DataSource' ...
      tu selectionnes 'ADODC1'.

4°) fais un click Droit sur la DataGrid et cherche dans le menu qui
      s'ouvre la ligne 'Extraire les Champs'..... cliques dessus, et tu 
       réponds 'Oui' à la question qui t'est posée.

5°) lance l'application et normalement, toute ta table est présente dans
      la DataGrid.

Voilà !!!   Je ne sais pas si ça peut t'aider ?  Mais c'est bon à savoir !!
Non ??
 
à plus et bonne prog !! 

Je comprends vite mais il faut m'expliquer longtemps et tout en détails !!!
3
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
14 juin 2006 à 17:19
Heu, qu'est ce que tu entends par Méthodes ?
Parce que pour présenter tes données dans Excel, il y a un truc très simple : Tu ouvres ta table ou ta requête et par le magique copier/coller, hop, tu as un tableau Excel hein :)

Ou tu as 2 possibilités :
- A partir d'ACCESS:
Tu crées un formulaire et tu crées une macro. L'exécution de la macro transférant ce que tu veux dans un tableau Excel.

- A partir d'EXCEL  :
Menu Données\Données externes\Importer les données et tu suis les menus

Tu peux aussi le faire toi même en code VBA, que ce soit à partir d'ACCESS ou d'EXCEL, plutôt que d'utiliser les différents assistants ... Mais pour avoir une réponse pertinente, il va falloir beaucoup plus de précision dans ta question ^^

Molenn
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
14 juin 2006 à 17:31
Et avec ADO c'est pas possible? On peut créer une datagrid non?
Je plane à mille mètre.......
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
14 juin 2006 à 17:39
Sans doute oui ...
Si tu veux absolument une méthode avec ADO, précise le ^^
Personnellement, je suis pour le truc tout simple, le moins compliqué, le moins d'effort possible donc :)

Première question : ta base de données, c'est quoi ? ACCESS, SQL Server, autre chose ?

Deuxième question : Comment extrais tu les données ? Requête SQL, ...

Troisième question : Besoin d'extraire ça dans Excel ?

Parce qu'en fonction des réponses, on peut même faire encore plus simple !
Données ACCESS = Formulaire ACCESS qui présente les données sous forme de tableau dans un datagrid. Avec les assistants, 2 mn chrono en main.

Après, si tu détailles un peu plus ce que tu as et ce que tu veux obtenir, ça sera plus facile d'avoir des infos.

Molenn
0

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

Posez votre question
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
15 juin 2006 à 10:33
Salut Molenn et 713763 erefdatacomputing ,

Molenn:C'est exactement ce que je veux. Ma base de données est du Access et je veux exploiter celle-ci en l'affichant dans une datagrid.Voudrais-tu bien m'expliquer en détail le protocole à suivre STP
Merci beaucoup

=713763 erefdatacomputing : Je pense que tu a répondu à ma question merci beaucoup. Je souhaite savoir est-ce-qu'il est possible de modifier les propriétés de ma Datagrid:lorsque j'affiche ma datagrid elle occupe tout le formulaire. J'aimerais qu'elle représente seulement le tiers de mon formulaire, comment puis-je faire
Merci beaucoup.
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
15 juin 2006 à 11:20
Pour répondre à ta question, tu veux juste afficher les données de ta/tes table(s) dans un DataGrid ? C'est juste une question d'affichage ?

Il y a 3 choses à faire pour que ça soit très simple, rapide, et totatlement intuitif (à peine besoin de connaitre ACCESS, et rien à coder :
- Créer les tables bien entendu
- Déclarer les relations entre tes tables dans l'interfacte graphique Relations (si tu as plus d'une table ^^)
- Aller dans le menu Formulaires, et créer un formulaire à l'aide de l'assistant.
1ère page de l'assistant : Choisir les champs que tu veux faire apparaître dans ton datagrid. Suivant
2ème page : Cocher Feuille de données.
Et c'est tout (bon, tu as quelques autres options si tu veux, mais à toi de voir si tu utilises ou non).
Quand une table est bien crée et les relations bien définies, créer un formulaire simple est vraiment facile. Ici, 30 secondes parce que mon PC rame :)

Par contre, à voir parce que, quand tu dis que tu veux exploiter le datagrid, ce n'est pas forcément la façon la plus simple.

Molenn
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
15 juin 2006 à 11:36
Alors dis moi qu'est-ce-que je dois faire si je veux l'exploiter par la suite.
0
erefdatacomputing Messages postés 165 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 24 avril 2018
15 juin 2006 à 16:20
avant de répondre à ta question, voilà un petit lexique que devrait t'aider pour plus tard si tu utilises des Bases de Données
ACCESS avec VB


D'abord il faut, dans les références de ton Projet, cocher la case 'Microsoft DAO 3.6 Object Library'.
Puis tout en haut de ta page de code il faut écrire:


Option Explicit
' variables communes à toutes les commandes
Dim DB As Database
Dim ra As Recordset


puis sous Form_Load:


Private Sub Form_Load()
'déclaration de la BDD et des Tables'
Set DB = OpenDatabase("C:\.....inscrire içi le chemin directeur et le nom de la Base ACCESS .....mdb")
Set ra = DB.OpenRecordset("....inscrire içi le nom de la Table qui se trouve dans la Base ACCESS....", dbOpenDynaset)
...
...
...
End Sub


Voiçi les principales instructions pour naviguer dans la Table, et l'utiliser:
(içi 'ra' est le nom raccourci utilisé pour désigner la Table, donc toutes ces instructions y feront référence)


ra.MoveNext                     aller à l'enregistrement suivant
ra.MovePrevious             aller à l'enregistrement précédent
ra.MoveFirst                      aller au premier enregistrement
ra.MoveLast                      aller au dernier enregistrement
ra.AddNew                        ouvrir la table en mode 'ajout'
ra.Edit                                 ouvrir la table en mode 'modification'    
                                     de l'enregistrement sur lequel est le pointeur
ra.Update                           ordonner à la table de valider l'ajout ou
                                      la modification (voir exemple plus loin).
ra.Delete                             ordonner à la table de supprimer
                                      l'enregistrement sur lequel est le pointeur 
ra.AbsolutePosition        donne ou indique la position du pointeur
                                     (de l'enregistrement en cours)
ra.RecordCount               donne le nombre d'enregistrements
                                      présents dans la Table


.... et bien d'autres encore .......




Exemples:


     1°) ajout d'enregistrement   (supposons que dans une Table appelée (Agenda) il y ait 2 Champs par enregistrement, 'Nom' et 'Prénom',  et déja 2 personnes d'inscrites (MARTIN Paul et DURAND Louis)  


     ra.AddNew
     ra!Nom="DUPONT"
     ra!Prénom="Eric"
     ra.Update


    on vient de créer un 3ème enregistrement (une 3ème personne)


     2°) on c'est trompé, et on veut modifier le 3ème enregistrement de la Table   (içi DUPONT   Eric)
     

   on peut faire:

     ra.AbsolutePosition=3
     ra.Edit
     ra!Prénom="Frédéric"   (au lieu d'Eric)
     ra.Update


   on aurait pu écrire aussi


    ra.MoveFirst
    ra.MoveNext
    ra.MoveNext
    ra.Edit
    ra!Prénom="Frédéric"   (au lieu d'Eric)
    ra.Update


    ou bien encore (à condition qu'il n'y est qu'un 'DUPONT'  dans la table, sinon on risque de modifier le mauvais !!! )  


    ra.MoveFirst
    ra.FindFirst "Nom= 'DUPONT'"
    ra.Edit
    ra!Prénom="Frédéric"   (au lieu d'Eric)
    ra.Update 


pour le reste je te laisse nager un peu (meilleure méthode pour apprendre !!! )


Pour répondre à ta question:
 
      (en supposant que l'on est toujours dans mon exemple avec DUPONT Eric, et que tu veuilles
       dans la DataGrid, qu'une seule colonne, celle des 'Nom' ,  alors, tu reprends mon explication
       dont tu as accepté la réponse (au passage Merçi !!!)  et tu modifies le 2°) en suivant les instructions çi-dessous  )


      dans les propriétés du ADODC tu cliques sur 'Personnalisé'
      'Utiliser une chaîne de connexion'  ... 'Créer' ....
      'Selectionner ou Taper un nom de base de données'  ...
      tu indique le chemin et le nom de la Base de données ACCESS
      qui t'intéresse .... 'Tester la Connexion'   .... 
      'Test de Connexion réussi' ... 'Ok' ... 'Ok' ... selectionne l'onglet
      'RecourdSource' ... 'Type de Commande'  ....  '1 - adCmdText'
      ... 'Texte de la Commande (SQL)' ...  tu écris ....
           SELECT Nom FROM Agenda 
       puis cliques sur 'Ok'


Tu finis en faisant les 3°), 4°), et 5°) sans rien changer.
et dans ta DataGrid, tu n'auras que la colonne 'Nom'




Pour avoir plusieurs Champs (donc Colonnes) dans la DataGrid, tu les rajoutes dans l'instruction SELECT,
séparés par des virgules   Ex:         SELECT Nom,Prénom FROM Agenda 
Regarde l'aide sur l'instruction SELECT, car tu peux aussi demander le tri, et/ou des conditions de selection,
et ce aussi bien via un ADODC qu'une déclaration 'manuelle' comme je te lai montré au début de cette page
(Set ra = DB.OpenRecordset("....inscrire içi le nom de la Table qui se trouve dans la Base ACCESS....", dbOpenDynaset)




Ex:
          Set ra= DB.OpenRecordset( _
                               "SELECT Nom " & _
                               "FROM Agenda order by Nom ", _
                               dbOpenDynaset)    


ceci ouvre ra en tant que Table appelée Agenda , en prenant uniquement le Champ 'Nom', et triée de manière alphabétique par Nom.


Voilà !!!  à plus !!!             

Je comprends vite mais il faut m'expliquer longtemps et tout en détails !!!
0
Rejoignez-nous