begin process at 2012 02 15 08:34:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Inserer des données dans une table Access


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Inserer des données dans une table Access

mercredi 9 juillet 2008 à 10:37:45 | Inserer des données dans une table Access

h_adil

Bonjour,
Je suis dans un stade un peux avancer de mon programme,
Un synthèse de ce que j'ai fais ce que maintenant :
données de base : Base de données ACCESS, fichiers excel
Objectif : à partir de la base access, je veux recuperer des données qui sont dans des feuilles dans le fichier
excel. ensuite inserer ces données dans une seule table acces (chaque collonne Excel correspond à une colonne dans une table access.

Même principe pour l'importation.  (je ne peux pas utiliser la fonction import d'acces directement pars que le nombre de colonne dans les feuilles excel
est egal ou inferieur au nombre de colonnes de la base access, de plus des fois j'ai problème de nomination des entetes dans les feuilles excel)
avant j'harmonisé le fichier excel manuellement rajout des nouvelles colonnes, corrigé les nom des entetes..., puis j'importe c'est plus facile à importer
mais c'est difficile à harmoniser.

Problème : Le problème que j'ai actuellement est comment je peux inseret les données que j'ai recupéré dans ma table?

alors mon code jusqu'a maintenant :

'------------------------------------------------------------------
compte le nombre de fichier excel dans mon dossier puis stocker lur noms dans un tableau
Dim objFso
Dim strDesktop, strPath, strFile
Dim imax, i, j, k, bpermute  'liste
Dim Tableau()
Set objFso = CreateObject("Scripting.FileSystemObject")
CheminSource = "P:\doc a\\dossier"

Set strPath = objFso.getfolder("P:\doc a\\dossier")

   Dim dbs As DAO.Database
   Dim qdf As DAO.QueryDef
   Dim strSQL As String

   Set dbs = CurrentDb
   strSQL = "SELECT Count(*) As nb From BDX_EXP_DETAIL"
   Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)
   MsgBox nb


imax = 0
For Each strFile In objFso.getfolder(strPath).Files
    imax = imax + 1
    ReDim Preserve Tableau(imax)
    Tableau(imax) = strFile.Name
Next
'----------------------------------------------------------------------------------------
se connexter à chaque fichier puis recuperer les données dans chaque feuille

    Dim i, j, k As Long
   
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim xlBook As Excel.Workbook

   
    Dim spx_exp(), bdx_rec, spx_rec, n_serie, control_1, control_2 As Variant
    Dim bdx_exp_Tranche_Colis(10000) As Variant
    Dim bdx_exp_Code_Région(10000) As Variant
    Dim bdx_exp_N_Commande(10000) As Variant
    Dim bdx_exp_Qté_Validé(10000) As Variant
    Dim bdx_exp_Date_sortie_de_stock(10000) As Variant
    Dim bdx_exp_Code_Destinataire_Expédition(10000) As Variant
    Dim bdx_exp_Code_article(10000) As Variant
    Dim cells()
    ReDim cells(1 To 10000, 1 To 10)
    Set xlApp = CreateObject("Excel.Application")

 for k=1 to imax
    Set xlBook = xlApp.Workbooks.Open("P:\doc a\dossier\" & Tableau(imax))

 Fichier = Tableau(imax)
   
    Set Cn = New ADODB.Connection
    Set oCat = New ADOX.Catalog
   
    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
   
    Set oCat.ActiveConnection = Cn
     i = 1
    For Each Feuille In oCat.Tables
        Nb_feuil(i) = Resultat & Feuille.Name & vbCrLf
        i = i + 1
    Next
         
   
         
    Set Feuille = Nothing
    Set oCat = Nothing
    Cn.Close
    Set Cn = Nothing
 
 for j=1 to i
     Set xlSheet = xlBook.Sheets(Nb_feuil(i))
        
        i = 2
        Do While xlSheet.cells(i, 1) <> ""
        bdx_exp_Tranche_Colis(i) = xlSheet.cells(i, 1)
        bdx_exp_Code_Région(i) = xlSheet.cells(i, 2)
        bdx_exp_N_Commande(i) = xlSheet.cells(i, 3)
        bdx_exp_Qté_Validé(i) = xlSheet.cells(i, 4)
        bdx_exp_Date_sortie_de_stock(i) = xlSheet.cells(i, 5)
        bdx_exp_Code_Destinataire_Expédition(i) = xlSheet.cells(i, 6)
        bdx_exp_Code_article(i) = xlSheet.cells(i, 7)
       
        i = i + 1
        Loop

 next j
 next k

Un problème = des solutions
programation .....



Cette discussion est classée dans : set, excel, exp, xlsheet, bdx


Répondre à ce message

Sujets en rapport avec ce message

connextion VBA Acces excel [ par h_adil ] Bonjour,j'ai une application acces où je centralise toutes les données que j'ai dans un fichier excel (plusieurs onglet).je veux automatiser l'importa Problème pour exporter une table ACCESS vers EXCEL [ par PAULOM ] Bonjour à tous, J'ai un petit problème concernant l'exportation d'une table ACCESS vers EXCEL. Je veux exporter la table "T31_Cumul_Nvx_clients_pa Ajout élément tableau excel avec VB [ par cloe ] Hello, J'ai un big problème je voudrais pouvoir ajouter des éléments dans un tableau excel à partir de VB.Car j'ai essayer avec :Dim xlapp As excel.A Rapatrier données excel sous oracle [ par pompommamok ] Bonjour,Voila je dois rapatrier des données sous oracle(tables déjà crées) à partir d'excel(données mises à jour tous les jours).On m'a parlé d'ODBC s fermeture d'excel [ par erich ] J'ai cet appli sur un boutonSet app_exc = GetObject(, "Excel.Application") 'Test pour savoir si Excel tourneIf Err Then Err.Clear Set app_exc = Excel et processus... [ par boujou ] Me revoilà avec Excel, bon j'ai pu voir plusieurs messages parlant de mon problème mais je n'ai aucune réponse correct me concernant. En gros, voici m URGENT!!! Macros EXCEL [ par FrenchTouch ] J'ai déjà demandé de l'aide mais j'ai avancé depuis : je sais d'où vient mon erreur.Mon code est le suivant :Dim E As excel.ApplicationDim WB1 As exce AU SECOURS, JE NE M'EN SORTS PAS!!!!! [ par cybergoustaf ] voila:ma config: Pentium III 700 Mgz, 256Mo, WinNT4 SP4, VB6 Sp5, Excel 97Depuis un programme VB je génère un fichier excel composé de 3 feuilles (cha HELP : Fermer completement l'appli excel [ par cyrolman ] Tout d'abord bonjour à tous!!!!A l'aide, je suis en train de devenir chèvre.....Dans mon prog, j'importe le contenu d'un fichier excel dans une table. VB et Excel [ par cyrolman ] Salut à tous....Voilà mon pb : je veux copier une liste de 10000 personnes située dans un fichier Excel, dans une table access.Mon traitement fonction


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales