Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1485 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Ouvrir une base de données par le code ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Ouvrir une base de données par le code ?

n°747243
prog1001
Posté le 01-06-2004 à 13:16:03  profilanswer
 

Salut a tous !
 
Je ne sais pas comment faire pour ouvrir une base de données sous VBA(Excel) par le code  :( (pas de control genre Data, DataGrid...) et la traiter pour afficher ce que veut dans excel. :??:  :??:  
 
C'est ce qui a en bleu qui m'interresse le plus.
 
Merci de me répondre si vous savez ça m'aiderai vraiment.

mood
Publicité
Posté le 01-06-2004 à 13:16:03  profilanswer
 

n°747279
jagstang
Pa Capona ಠ_ಠ
Posté le 01-06-2004 à 13:40:05  profilanswer
 

Une base de donnée oui, mais laquelle ? (Oracle, Sql Server, ...)
 
p.s. : les informations en rouge sont le plus importante

n°747345
gilou
Modérateur
Modzilla
Posté le 01-06-2004 à 14:09:20  profilanswer
 

[:rofl]
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°747387
drasche
Posté le 01-06-2004 à 14:39:44  profilanswer
 

ajoute ADO dans tes propriétés de projet et tu auras fait un grand pas en avant. (j'espère que tu connais ADO)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°747906
prog1001
Posté le 01-06-2004 à 19:54:30  profilanswer
 

JagStang a écrit :

Une base de donnée oui, mais laquelle ? (Oracle, Sql Server, ...)
 
p.s. : les informations en rouge sont le plus importante


 
pour la base de donnée, elle sont en oracle...
 
et je te prierai de ne pas te foutre de ma geule !, svp !  :kaola:  :D  
 

drasche a écrit :

ajoute ADO dans tes propriétés de projet et tu auras fait un grand pas en avant. (j'espère que tu connais ADO)


 
Non je ne sais pas ce que c'est que ADO (peut-etre qqchose en rapport avec la réference Microsoft Active X Data Object mais je sais pas) j'ai cependant trouvé un exemple tout à l'heure d'excel qui parlé d'ADO(C:\Program Files\Microsoft Office\Office\Samples\SAMPLES.XLS), je le met ça peut aider qqu'un :
 

Code :
  1. Sub RetrieveAccessData()
  2. '' NOTE: Pour pouvoir utiliser cette sous-routine, la
  3. ''       bibliothèque suivante doit être référencée :
  4. '''
  5. '''         Microsoft ActiveX Data Objects 2.0 Library
  6.    
  7.    Dim conn As ADODB.Connection
  8.    Dim rst As ADODB.Recordset
  9.    Dim Nsql As String, Njoin As String, Ncriteria As String
  10.    Dim NewBook As Workbook
  11.    Dim i As Integer
  12.    ' Création de l'objet Connexion
  13.     Set conn = New ADODB.Connection
  14.     With conn
  15.         ' Définition du fournisseur OleDB pour la connexion
  16.         .Provider = "Microsoft.JET.OLEDB.4.0"
  17.         ' Ouverture d'une connexion vers Comptoir.mdb
  18.         .Open Application.Path & "\samples\Comptoir.mdb"
  19.     End With
  20.  
  21.     Nsql = "SELECT DISTINCTROW Catégories.[Code catégorie], Produits.[Nom du produit], Produits.[Quantité par unité], Produits.[Prix unitaire] "
  22.     Njoin = "FROM Catégories INNER JOIN Produits ON Catégories.[Code catégorie] = Produits.[Code catégorie] "
  23.     Ncriteria = "WHERE ((([Produits].Indisponible)=No) AND (([Produits].[Unités en stock])>20));"
  24.    
  25.     ' Création d'un nouvel objet Recordset (jeu d'enregistrement)
  26.     Set rst = New ADODB.Recordset
  27.     With rst
  28.         ' Connexion du jeu d'engistrement à la connexion ouverte précédemment
  29.         .ActiveConnection = conn
  30.         ' Récupération de tous les enregistrements retournés par la requête
  31.         .Open Nsql & Njoin & Ncriteria, conn, adOpenDynamic, adLockBatchOptimistic
  32.     End With
  33.     ' Ajout d'une nouvelle feuille de calcul à ce classeur
  34.     Set NewBook = Workbooks.Add
  35.     ' Récupération des noms de champs, et stockage de ces noms dans la feuille de calcul
  36.     For i = 0 To rst.Fields.Count - 1
  37.         NewBook.Sheets(1).Range("a1" ).Offset(0, i).Value = rst.Fields(i).Name
  38.     Next i
  39.     ' Copie du jeu d'enregistrement vers la nouvelle feuille de calcul
  40.     NewBook.Sheets(1).Range("a2" ).CopyFromRecordset rst
  41.     ' Fermeture du jeu d'enregistrements
  42.     Set rst = Nothing
  43.     ' Fermeture de la connexion
  44.     conn.Close
  45. End Sub


 
Merci drasche, ton "ADO" confirme mon exemple.
 :jap:


Message édité par prog1001 le 01-06-2004 à 19:55:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Ouvrir une base de données par le code ?

 

Sujets relatifs
[ ocaml ] - problème pour charger un fichier de donnéesun même code sur toutes les pages
Recup. de données avec un formulaire puis traitement avec PerlProgramme pour faire du C++ (code + design)
Je cherche le code de __FUNCTION__VBA pour les nuls
Recherche info sur les lecteurs de code barreSources Access/VBA ?
[JSP] Passer des données UTF-8 par formulaire[ASP] ouvrir Word et non IE
Plus de sujets relatifs à : [VBA] Ouvrir une base de données par le code ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR