Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation
Partagez

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!
Contenus similaires

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...!

Contrairement à mon habitude, je te propose une solution complète pour résoudre ton problème.

  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.  
  8. Set db = OpenDatabase("chemin\fichier_access.mdb")
  9. Set rs = db.OpenRecordset("SELECT * FROM grosstable")
  10.  
  11. row = 0
  12. Do While Not rs.EOF
  13. If row = 0 Then
  14. Set ws = Sheets.Add(, Sheets(Sheets.Count))
  15. End If
  16. For col = 0 To 1
  17. ws.Cells(row + 1, col + 1).Value = rs.Fields(col).Value
  18. Next
  19. rs.MoveNext
  20. row = row + 1
  21. If row >= 1000 Then row = 0
  22. Loop
  23. Set ws = Nothing
  24. rs.Close
  25. db.Close
  26. Set rs = Nothing
  27. Set db = Nothing
  28. 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.
Posez votre question