FORUM Tom's Hardware » Programmation » Autre » Access couper une table de taille très importante en plusieurs tables
 

Access couper une table de taille très importante en plusieurs tables

Matériel : fabio-parra, Tatul Réseaux : be-bop Remarques et Suggestions : Gambit et 155 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Access couper une table de taille très importante en plusieurs tables
 
Plus d'informations

Bonjour!
 
Je travaille sur une base de données avec une table gigantesque que je compte exporter vers Excel... Le hic? elle est si grosse que je ne peux l'exporter dans son intégralité.
La solution sur laquelle je planche mais n'aboutis pas: Prendre ma table et la couper en plusieurs tables (en gros faire une requête création mais appelée en boucle sous SQL). Le truc c'est que je veux couper ma table selon un critère (plusieurs noms dans la table). Je veux que chaque table nouvellement créée porte le nom dudit critère... Le hic, c'est que je ne sais pas s'il est possible de faire en sorte qu'une requête admette des arguments...
 
Si vous pouviez m'éclairer un tantinet...?
 
Merci!

zeb
Profil : Modérateur libre
Plus d'informations

Trop grosse pour Excel ou pour Access ?
Combien de lignes ?
Combien de colonnes ?

Plus d'informations

Il y a plus de 510 000 enregistrements, et 8 colonnes.  
Donc c'est trop gros pour un spreadsheet d'excel!

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Question (peut etre bete): Y'a pas moyen que tu fasses des tris de tes enregistrement avant export, plutot que tout traiter dans excel ?


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
Plus d'informations

C'est ce que je comptais faire: La majorité de mon prog sous Access en cochant des références manquantes pour avoir des bibli d'Excel (désolée si cela fait charabia, mais je ne sais pas utiliser le langage info proprement).
Les tris sont déjà fait, mais j'ai besoin de sectionner ma grosse table en plusieurs tables. Il est vrai que je peux faire un recordset et lire les enregistrements un à un, mais ça prend énormément de temps...!

zeb
Profil : Modérateur libre
Plus d'informations

Contrairement à mon habitude, je te propose une solution complète pour résoudre ton problème.
http://titemimie.canalblog.com/schtroumpf_farceur.gif

Code :
  1. Option Explicit
  2. Sub CadeauDuSchtroumphFarceur()
  3.   Dim db As DAO.Database
  4.   Dim rs As DAO.Recordset
  5.   Dim row, col As Integer
  6.   Dim ws As Worksheet
  7.   Set db = OpenDatabase("chemin\fichier_access.mdb" )
  8.   Set rs = db.OpenRecordset("SELECT * FROM grosstable" )
  9.   row = 0
  10.   Do While Not rs.EOF
  11.     If row = 0 Then
  12.       Set ws = Sheets.Add(, Sheets(Sheets.Count))
  13.     End If
  14.     For col = 0 To 1
  15.       ws.Cells(row + 1, col + 1).Value = rs.Fields(col).Value
  16.     Next
  17.     rs.MoveNext
  18.     row = row + 1
  19.     If row >= 1000 Then row = 0
  20.   Loop
  21.   Set ws = Nothing
  22.   rs.Close
  23.   db.Close
  24.   Set rs = Nothing
  25.   Set db = Nothing
  26. End Sub


 
En contre partie, je te demande :
- de copier tout ça dans un module VBA dans Excel.
- de cocher Microsoft DAO X.Y Object Library dans le menu Outils/Références de l'éditeur VBA dans Excel.
- de tenter de comprendre tout le code en t'aidant de l'aide de VBA.
- de l'adapter à ton besoin particulier
- de poster ici, soit les questions qui resteraient en suspend, soit un ptit mot pour nous dire que tu as tout compris ;) et que maintenant, toi  aussi, tu aideras les autres en VBA sur PPC.

Profil : Pointeur
Plus d'informations

bha voila tu viens de trouver ton nouvel avatar  [:ddr555]


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
zeb
Profil : Modérateur libre
Plus d'informations

:lol:


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » Access couper une table de taille très importante en plusieurs tables
 

Annonces Google
Publicité