Je travaille en vba Excel mais pour autant, on m'a conseillé de poser ma
question sur le groupe Access.
J'aimerais créer une table temporaire en sql via le code vba.
quelle est la synthaxe.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
on va essayer de ne pas te balader de forum en forum, mais pourquoi veux-tu créer une table temporaire sous access alors que tu travailles sous excel ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Bonjour à tous,
Je travaille en vba Excel mais pour autant, on m'a conseillé de poser ma question sur le groupe Access. J'aimerais créer une table temporaire en sql via le code vba. quelle est la synthaxe.
Merci d'avance.
Bonjour.
on va essayer de ne pas te balader de forum en forum, mais pourquoi veux-tu
créer une table temporaire sous access alors que tu travailles sous excel ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" <youssefberkane@discussions.microsoft.com> a écrit dans le
message de news: 93B338D0-EB5A-4AEB-B3EA-10B97C946C25@microsoft.com...
Bonjour à tous,
Je travaille en vba Excel mais pour autant, on m'a conseillé de poser ma
question sur le groupe Access.
J'aimerais créer une table temporaire en sql via le code vba.
quelle est la synthaxe.
on va essayer de ne pas te balader de forum en forum, mais pourquoi veux-tu créer une table temporaire sous access alors que tu travailles sous excel ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Bonjour à tous,
Je travaille en vba Excel mais pour autant, on m'a conseillé de poser ma question sur le groupe Access. J'aimerais créer une table temporaire en sql via le code vba. quelle est la synthaxe.
Merci d'avance.
youssef.berkane
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de la méthode. J'ai élaboré un fichier Excel qui importe un tableau sur une feuille appelée "Population" et qui extrait de ce tableau X lignes ( X pouvant aller jusqu'à 2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée "Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de 65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes peut excéder 65536 J'ai donc décidé de passer par Access. J'ai une base de données Access dans laquelle existe une table nommée "Population". Ses enregistrements sont numérotés automatiquement dans le champ "Numéro". Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à 2000, et ce de manière aléatoire.
Quel est la meilleure solution?
Merci.
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de la
méthode.
J'ai élaboré un fichier Excel qui importe un tableau sur une feuille appelée
"Population" et qui extrait de ce tableau X lignes ( X pouvant aller jusqu'à
2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée
"Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite
compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de
65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes peut
excéder 65536 J'ai donc décidé de passer par Access.
J'ai une base de données Access dans laquelle existe une table nommée
"Population". Ses enregistrements sont numérotés automatiquement dans le
champ "Numéro".
Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à
2000, et ce de manière aléatoire.
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de la méthode. J'ai élaboré un fichier Excel qui importe un tableau sur une feuille appelée "Population" et qui extrait de ce tableau X lignes ( X pouvant aller jusqu'à 2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée "Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de 65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes peut excéder 65536 J'ai donc décidé de passer par Access. J'ai une base de données Access dans laquelle existe une table nommée "Population". Ses enregistrements sont numérotés automatiquement dans le champ "Numéro". Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à 2000, et ce de manière aléatoire.
Quel est la meilleure solution?
Merci.
Raymond [mvp]
si tu tiens à l'aléatoire, il est donc préférable de générer un nombre aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba avec Rnd , et d'additionner dans une table temporaire par requête ou vba l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne suis pas certain du plus performant sur 2000 enregistrements à sélectionner sur , supposons 500.000.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de la méthode. J'ai élaboré un fichier Excel qui importe un tableau sur une feuille appelée "Population" et qui extrait de ce tableau X lignes ( X pouvant aller jusqu'à 2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée "Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de 65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes peut excéder 65536 J'ai donc décidé de passer par Access. J'ai une base de données Access dans laquelle existe une table nommée "Population". Ses enregistrements sont numérotés automatiquement dans le champ "Numéro". Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à 2000, et ce de manière aléatoire.
Quel est la meilleure solution?
Merci.
si tu tiens à l'aléatoire, il est donc préférable de générer un nombre
aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba
avec Rnd , et d'additionner dans une table temporaire par requête ou vba
l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou
le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne
suis pas certain du plus performant sur 2000 enregistrements à sélectionner
sur , supposons 500.000.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" <youssefberkane@discussions.microsoft.com> a écrit dans le
message de news: 1B9FD9E9-F6C7-4396-B782-D1ADE9984270@microsoft.com...
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de
la
méthode.
J'ai élaboré un fichier Excel qui importe un tableau sur une feuille
appelée
"Population" et qui extrait de ce tableau X lignes ( X pouvant aller
jusqu'à
2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée
"Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite
compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de
65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes
peut
excéder 65536 J'ai donc décidé de passer par Access.
J'ai une base de données Access dans laquelle existe une table nommée
"Population". Ses enregistrements sont numérotés automatiquement dans le
champ "Numéro".
Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à
2000, et ce de manière aléatoire.
si tu tiens à l'aléatoire, il est donc préférable de générer un nombre aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba avec Rnd , et d'additionner dans une table temporaire par requête ou vba l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne suis pas certain du plus performant sur 2000 enregistrements à sélectionner sur , supposons 500.000.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Bon, je te mets dans le contexte pour ne pas t'influencer dans le choix de la méthode. J'ai élaboré un fichier Excel qui importe un tableau sur une feuille appelée "Population" et qui extrait de ce tableau X lignes ( X pouvant aller jusqu'à 2000 ) pour les réunir dans un nouveau tableau sur une feuille appelée "Echantillon". En résumé, c'est un outil d'échantillonnage. Mais j'ai vite compris à mes dépends que la feuille Excel ne pouvait pas contenir plus de 65536 lignes. Or Je travaille sur des tableaux dont le nombre de lignes peut excéder 65536 J'ai donc décidé de passer par Access. J'ai une base de données Access dans laquelle existe une table nommée "Population". Ses enregistrements sont numérotés automatiquement dans le champ "Numéro". Je souhaite importer sur excel X enregistrements, X pouvant aller jusqu'à 2000, et ce de manière aléatoire.
Quel est la meilleure solution?
Merci.
youssef.berkane
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre?
Comment créer la table temporaire?
Comment la remplir?
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?
3stone
Salut,
"Raymond [mvp]" | si tu tiens à l'aléatoire, il est donc préférable de générer un nombre | aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba | avec Rnd , et d'additionner dans une table temporaire par requête ou vba | l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou | le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne | suis pas certain du plus performant sur 2000 enregistrements à sélectionner | sur , supposons 500.000.
Pour ce qui est de la sélection alléatoire, il peu utiliser ceci: http://www.mvps.org/accessfr/queries/qry0011.htm
"Raymond [mvp]"
| si tu tiens à l'aléatoire, il est donc préférable de générer un nombre
| aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba
| avec Rnd , et d'additionner dans une table temporaire par requête ou vba
| l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou
| le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne
| suis pas certain du plus performant sur 2000 enregistrements à sélectionner
| sur , supposons 500.000.
Pour ce qui est de la sélection alléatoire, il peu utiliser ceci:
http://www.mvps.org/accessfr/queries/qry0011.htm
"Raymond [mvp]" | si tu tiens à l'aléatoire, il est donc préférable de générer un nombre | aléatoire entre 1 et le nombre maximum d'enregistrement de la table, par vba | avec Rnd , et d'additionner dans une table temporaire par requête ou vba | l'enregistrement qui porte ce numéro. selon que tu connais mieux le sql ou | le vba tu peux choisir l'un ou l'autre. mais faudra faire les deux car je ne | suis pas certain du plus performant sur 2000 enregistrements à sélectionner | sur , supposons 500.000.
Pour ce qui est de la sélection alléatoire, il peu utiliser ceci: http://www.mvps.org/accessfr/queries/qry0011.htm
Private Sub Commande0_Click() Randomize Nombre 10 End Sub
Public Function Nombre(Optional occurs As Integer = 1) As String DoCmd.SetWarnings False On Error Resume Next Dim I As Long If occurs = 0 Then occurs = 1 For I = 1 To occurs Nombre = Int(((CurrentDb.TableDefs("table21").RecordCount - 1) * Rnd) + 1) DoCmd.RunSQL "INSERT INTO table11 SELECT table21.* FROM table21 WHERE table21.Numéro=" & Nombre & ";" Next I DoCmd.SetWarnings True End Function
je n'ai testé qu'un seul passage sur 20 enregistrements, ce qui veut dire qu'il faut affiner le code. Nombre 10 est le nombre d'enregistrement à ajouter dans la table remporaire. je n'ai pas testé le random à 100% -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?
tu peux procéder comme ceci:
Private Sub Commande0_Click()
Randomize
Nombre 10
End Sub
Public Function Nombre(Optional occurs As Integer = 1) As String
DoCmd.SetWarnings False
On Error Resume Next
Dim I As Long
If occurs = 0 Then occurs = 1
For I = 1 To occurs
Nombre = Int(((CurrentDb.TableDefs("table21").RecordCount - 1) *
Rnd) + 1)
DoCmd.RunSQL "INSERT INTO table11 SELECT table21.* FROM table21
WHERE table21.Numéro=" & Nombre & ";"
Next I
DoCmd.SetWarnings True
End Function
je n'ai testé qu'un seul passage sur 20 enregistrements, ce qui veut dire
qu'il faut affiner le code.
Nombre 10 est le nombre d'enregistrement à ajouter dans la table remporaire.
je n'ai pas testé le random à 100%
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" <youssefberkane@discussions.microsoft.com> a écrit dans le
message de news: 593AE6BC-9E6A-46AC-9313-F8D3D89872B8@microsoft.com...
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre?
Comment créer la table temporaire?
Comment la remplir?
Private Sub Commande0_Click() Randomize Nombre 10 End Sub
Public Function Nombre(Optional occurs As Integer = 1) As String DoCmd.SetWarnings False On Error Resume Next Dim I As Long If occurs = 0 Then occurs = 1 For I = 1 To occurs Nombre = Int(((CurrentDb.TableDefs("table21").RecordCount - 1) * Rnd) + 1) DoCmd.RunSQL "INSERT INTO table11 SELECT table21.* FROM table21 WHERE table21.Numéro=" & Nombre & ";" Next I DoCmd.SetWarnings True End Function
je n'ai testé qu'un seul passage sur 20 enregistrements, ce qui veut dire qu'il faut affiner le code. Nombre 10 est le nombre d'enregistrement à ajouter dans la table remporaire. je n'ai pas testé le random à 100% -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"youssef.berkane" a écrit dans le message de news:
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?
Raymond [mvp]
Bonjour Pierre.
les cheveux ne poussent pas trop en dedans ce matin ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" a écrit dans le message de news:
Bonjour Pierre.
les cheveux ne poussent pas trop en dedans ce matin ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" <spam@spam> a écrit dans le message de news:
upI14kB7EHA.2568@TK2MSFTNGP10.phx.gbl...
les cheveux ne poussent pas trop en dedans ce matin ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" a écrit dans le message de news:
Philippe T [MS]
Bonjour,
Comme quoi ma réponse dans microsoft.public.fr.officexp était la bonne !!! Je te l'avais dit Youssef qu'il y avait des cracks dans ce NewsGroup !!! :-)
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"youssef.berkane" wrote in message news:
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?
Bonjour,
Comme quoi ma réponse dans microsoft.public.fr.officexp était la bonne !!!
Je te l'avais dit Youssef qu'il y avait des cracks dans ce NewsGroup !!! :-)
Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france
"youssef.berkane" <youssefberkane@discussions.microsoft.com> wrote in
message news:593AE6BC-9E6A-46AC-9313-F8D3D89872B8@microsoft.com...
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre?
Comment créer la table temporaire?
Comment la remplir?
Comme quoi ma réponse dans microsoft.public.fr.officexp était la bonne !!! Je te l'avais dit Youssef qu'il y avait des cracks dans ce NewsGroup !!! :-)
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"youssef.berkane" wrote in message news:
Merci pour ton aide
Ta démarche est intéressante mais comment s'y prendre? Comment créer la table temporaire? Comment la remplir?