Les Snippets

Connexion

Connexion à un fichier excel comme base de données

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 08/06/2009 13:25:13 et initié par PCPT [Liste]
Date de mise à jour : 08/06/2009 13:41:07
Vue : 13444
Catégorie(s) : Base de données, Fichier / Disque, Class
Langages dispo pour ce code :
- VB6, VBA



Langage : VB6 , VBA
Date ajout : 08/06/2009
Posté par PCPT [Liste]
DateMAJ : 08/06/2009
'   COPIEZ LE CODE  CI-DESSOUS DANS UN MODULE DE CLASS, VOUS AVEZ ACCES AUX OBJETS DB ET  RS
Option Explicit
'   msado25.tlb (Microsoft ActiveX Data Objects 2.5  Library)
'   msadox.dll (Microsoft ADO Ext. 2.7  for DLL and  Security)
'
Public DB As New ADODB.Connection
Public RS As New Recordset
    
'    CONNEXION
Public Function DBConnect(ByVal sXlsPath As String, ByVal bUseFirstRowAsHeader As  Boolean) As  Boolean
    Me.DBClose
    With DB
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & sXlsPath & ";Extended Properties=""Excel 8.0;HDR=" IIf(bUseFirstRowAsHeader, "Yes""No") & ";IMEX=1;"""
        On Error GoTo Err_Handler
        .Open
        DBConnect = True
        Exit Function
    End With
Err_Handler:
    Debug.Print "[DBConnect] " & Err.Number & " :  " & Err.Description
End Function
'   FERMETURE  DB
Public Sub DBClose()
    Me.DB.Cancel
    If Me.DBConnected Then Me.DB.Close
End Sub
'   BASE CONNECTéE  ?
Public Function DBConnected() As Boolean
    DBConnected = Not (Me.DB.State = adStateClosed)
End Function
'    REQUÊTE
Public Function RSExecute(ByVal sSql As String) As Boolean
    If Me.DBConnected Then
        Call RSClose
        Me.RS.CursorLocation = adUseClient
        On Local Error GoTo Err_Handler
        Me.RS.Open sSql, Me.DB, adOpenDynamic, adLockOptimistic,  -1
        RSExecute = True
    End If
    Exit Function
Err_Handler:
    Debug.Print "[RSExecute] " & Err.Number & " :  " & Err.Description
End Function
'   FERMETURE  RS
Private Sub RSClose()
    Me.RS.Cancel
    If Not (Me.RS.State = adStateClosed) Then  Me.RS.Close
End Sub
'   DESTRUCTION  CLASS
Private Sub Class_Terminate()
    Call RSClose:   Set Me.RS = Nothing
    Me.DBClose:     Set Me.DB = Nothing
End Sub



'exemple d'utilisation : Feuill1 contient une première ligne avec le nom des champs     Dim xls As New Class1     xls.DBConnect "c:\test.xls"True           'select sur 1ère colonne     xls.RSExecute "SELECT [NOM] FROM [Feuill1$];"          'affiche le 1e enregistrement     MsgBox xls.RS.Fields(0).Value     Set xls = Nothing
'exemple d'utilisation : Feuill2 contient directement les valeurs (pas de nom de champ)     Dim xls As New Class1     xls.DBConnect "c:\test.xls"False          'select sur 1ère colonne     xls.RSExecute "SELECT [F1] FROM [Feuill2$];"          'affiche le 1e enregistrement     MsgBox xls.RS.Fields(0).Value     Set xls = Nothing
Remarque :
NB : utilisable en VB6 et VBA, bien qu'il y ait peut-être peu d'intérêts à passer par ADO depuis excel

Snippets en rapport avec : Fichier, Database, Excel, Base données, Xls



Codes sources en rapport avec : Fichier, Database, Excel, Base données, Xls

{Delphi} EXPORTATION ACCESS VERS EXCEL
Demo : Comment exporter des données d'une table Access vers Excel. Exemple avec une base de donné...

{C# / C#.NET} GESTIONNAIRE DES TODO DISSEMINES UN PEU PARTOUT DANS VOS CODES...
En ce moment, j'avais besoin d'un petit soft qui me permette de gérer la quantité interminable de TO...

{Visual Basic, VB6, VB.NET, VB 2005} OUVRIR TOUS LES FICHIERS EXCEL D'UN DOSSIER ET DE SES SOUS-DOSSIERS
Petite macro permettant de choisir un dossier puis de parcourir le dossiers et ses sous-dossiers afi...

{Visual Basic, VB6, VB.NET, VB 2005} EXPORTER LE CONTENU D'UN DATAGRIDVIEW VERS EXCEL OU N IMPORTE QUELLE AUTRE FICHIER TABULÉ
Ce bout de code est la pour reprendre, simplifier, commenter et MODERNISER une de mes vielle sources...

{Visual Basic, VB6, VB.NET, VB 2005} LISTER FICHIERS D'UN DOSSIER
ce p'tit code permet de lister les fichiers d'un dossier choisi en plaçant leur noms, leur type et l...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR EXCEL EN MASSE, AMÉLIORATIONS
mabrouklepoux avait proposé un comparateur de fichiers Excel. http://www.vbfrance.com/code.aspx?ID=3...

{Visual Basic, VB6, VB.NET, VB 2005} [VBA-EXCEL] MODIFICATEUR DE FICHIER EXCEL
Bonjour, Voici un petit programme en VBA permettant de trouver tous les fichiers excel à l'endroi...

{Visual Basic, VB6, VB.NET, VB 2005} VBSCRIPT PERMETTANT DE PASSER UN FICHIER EXCEL EN CSV
J'ai eu un peu de mal à trouver les informations pour faire tout ca donc et je me suis dit que ca po...

{Delphi} SAUVEGARDER UN FICHIER XLS SANS PASSER PAR OLE
Ce code n'est pas de moi mais je pense qu'il peut interresser plus d'un donc je le met ici pour que ...

{Visual Basic, VB6, VB.NET, VB 2005} LISTE DES FICHIERS ET SOUS RÉPERTOIRES POUR VERSER DANS EXCEL
A partir d'un répertoire, descent toute l'arborescence et liste les fichiers et sous répertoires tro...