A voir également:
- Requete access et vba
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Acer quick access - Forum Logiciels
- Access runtime ✓ - Forum Access
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
20 réponses
Utilisateur anonyme
21 févr. 2006 à 14:45
21 févr. 2006 à 14:45
Bonjour,
On ne traduit pas du sql en vba, pas possible.
Si tu veux parler d'exécuter une requête sans avoir à l'enregistrer en tant que telle, tu dois utiliser un recordset.
Exemple :
On ne traduit pas du sql en vba, pas possible.
Si tu veux parler d'exécuter une requête sans avoir à l'enregistrer en tant que telle, tu dois utiliser un recordset.
Exemple :
sub DAOOpenRecordset () Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field Dim sSQL As String ' Ouverture de la base de données Set db = currentDb sSQL = "SELECT Right((Left([Port description],75)),1) AS Unit, Right((Right([Port description],20)),2) AS Port, rg18.[MAC forwarding address] FROM rg18 LEFT JOIN Gimi ON rg18.[MAC forwarding address] = Gimi.Valeur WHERE (((Gimi.Valeur) Is Null));" ' Ouverture du recordset Set rst = db.OpenRecordset (sSQL, dbOpenForwardOnly, dbReadOnly) ' Fermeture du Recordset rst.Close End Sub
Utilisateur anonyme
22 févr. 2006 à 16:54
22 févr. 2006 à 16:54
Tu veux qu'un formulaire affiche le résultat de ta requête.
Tu crées ta requête par la voie "classique" : tu vas dans l'onglet "requêtes", nouvelle requete, tu choisis les tables dont tu as besoin et les champ dont tu as besoin.
Une requête classique.
Tu enregistre cette requête, par exemple, r_resultat.
Ensuite tu vas dans formulaire, nouveau, soit tu fais ton formulaire avec l'assistant, soit tu le fais "à la main".
Si c'est avec l'assistant, celui-ci te donne le choix de la source de ton formulaire, soit tables, soit requêtes ; tu choisis "requête", et là tu choisis r_resultat créée juste auparavant.
Si tu ne veux pas de l'assistant, tu crées ton formulaire en mode création, dans les propriétés du formulaire (affichage, propriétés), sur la ligne source, du choisis r_resultat.
Tu enregistres ton formulaire, par exemple f_resultat.
En ouvrant ton formulaire en mode normal, celui-ci doit maitenant t'afficher le résultat de ta requête.
Ensuite, si tu veux ouvrir ce formulaire depuis un autre formulaire, avec un bouton par exemple, tu mets sur le code de ce bouton :
docmd.openform "f_resultat"
Je ne peux pas plus détailler...
Tu crées ta requête par la voie "classique" : tu vas dans l'onglet "requêtes", nouvelle requete, tu choisis les tables dont tu as besoin et les champ dont tu as besoin.
Une requête classique.
Tu enregistre cette requête, par exemple, r_resultat.
Ensuite tu vas dans formulaire, nouveau, soit tu fais ton formulaire avec l'assistant, soit tu le fais "à la main".
Si c'est avec l'assistant, celui-ci te donne le choix de la source de ton formulaire, soit tables, soit requêtes ; tu choisis "requête", et là tu choisis r_resultat créée juste auparavant.
Si tu ne veux pas de l'assistant, tu crées ton formulaire en mode création, dans les propriétés du formulaire (affichage, propriétés), sur la ligne source, du choisis r_resultat.
Tu enregistres ton formulaire, par exemple f_resultat.
En ouvrant ton formulaire en mode normal, celui-ci doit maitenant t'afficher le résultat de ta requête.
Ensuite, si tu veux ouvrir ce formulaire depuis un autre formulaire, avec un bouton par exemple, tu mets sur le code de ce bouton :
docmd.openform "f_resultat"
Je ne peux pas plus détailler...
mes tables s'appellent rg01/rg02....etc
g pas compris pour la moulinette tu peux m'en dire plus merci!!!
g pas compris pour la moulinette tu peux m'en dire plus merci!!!
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 11:55
23 févr. 2006 à 11:55
salut! je prend le train en marche du debut avec HDU c'est touffou pourtant il ezst bon je recponnais son pseudo.à l'isntant ou es-tu rendu? quel est le plus clairement ton besoin? et ton pb?:
met le besoin avant le pb
met le besoin avant le pb
amelie
>
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
23 févr. 2006 à 12:05
23 févr. 2006 à 12:05
mon besoin est :
Je veux lancer une appliq ou autre commune a toutes mes tables sans avoir a modifié mes requete sql (c a d le FroM XXX)
En faite g realiser 4 requete sql et pour les appliquer a chaque tables je dois obligatoirement modifier le "from" pour indiquer la table
pbl a la fin ca va m'en faire 80 requete voir plus car j'ai 22 tables
en faite je veux que c requete s'applique a chauque fois pur toutes les tables sans les modif
alors est ce que faut faire un module ou une macro moi je ny connait rien en programmation
merci les gars ;)
Je veux lancer une appliq ou autre commune a toutes mes tables sans avoir a modifié mes requete sql (c a d le FroM XXX)
En faite g realiser 4 requete sql et pour les appliquer a chaque tables je dois obligatoirement modifier le "from" pour indiquer la table
pbl a la fin ca va m'en faire 80 requete voir plus car j'ai 22 tables
en faite je veux que c requete s'applique a chauque fois pur toutes les tables sans les modif
alors est ce que faut faire un module ou une macro moi je ny connait rien en programmation
merci les gars ;)
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
>
amelie
23 févr. 2006 à 12:11
23 févr. 2006 à 12:11
c bizare est-ce que tes 4 requette ont les meme besoin?
je veux dire le select par exemple soit la table client. le select va traiter les donné des client!! si tu veux utiliser cette meme requette pour la table Repas le select sera le meme?
est-ce que tu peux faire un copie coller de 2? et tu travail dans quel domaine?
moi je crois qu'il faut faire un module.
comme ça tu auras des variable qui comme le nom l'indique varierons en fonction du besoin.
je veux dire le select par exemple soit la table client. le select va traiter les donné des client!! si tu veux utiliser cette meme requette pour la table Repas le select sera le meme?
est-ce que tu peux faire un copie coller de 2? et tu travail dans quel domaine?
moi je crois qu'il faut faire un module.
comme ça tu auras des variable qui comme le nom l'indique varierons en fonction du besoin.
moi aussi je pense qu'il faut faire un module mais qui dis module dis programme et qui dit programme dis ""
en faite les 4 requetes font toujours faire les meme actions sur les tables !!!
car en faite g 20 tables qui ont les memes champs mais pas les meme données et une commune ou j'etablie mes liens de correspondance et mes liens de non correspondance!!!
tu comprend un peu mieu le truc??
en faite les 4 requetes font toujours faire les meme actions sur les tables !!!
car en faite g 20 tables qui ont les memes champs mais pas les meme données et une commune ou j'etablie mes liens de correspondance et mes liens de non correspondance!!!
tu comprend un peu mieu le truc??
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
>
amelie
23 févr. 2006 à 12:34
23 févr. 2006 à 12:34
mais le module va remplacer les 4 requete sauf que tu vas definr les variables avant et les variable vt changer le resultat final au fur et à mesure.par contre 20 table avec les meme chanmps c'est spécial.
est-ce que tu peux donner un exmple de ce que tu aimeirai avoir ds l'execution d'une requete?
mais tu ne va pas t'échaper au code t'es biens dans du vba? mme si c que des requettre du devra bien faire un docmd.run sql pour les exécuter? si tu trouve compliquer.je t'enverais dans un forum spécial access là tu trouvera mieux la solution.le pb c pas ce que tu vceux optenir mais ta question est clair alors on ne peut pas te donner un bout de code alors qu'on ne connait pas la finalité! tu vois!
moi je t'ai bien compris je crois mais. envoie un peu un exemple!
est-ce que tu peux donner un exmple de ce que tu aimeirai avoir ds l'execution d'une requete?
mais tu ne va pas t'échaper au code t'es biens dans du vba? mme si c que des requettre du devra bien faire un docmd.run sql pour les exécuter? si tu trouve compliquer.je t'enverais dans un forum spécial access là tu trouvera mieux la solution.le pb c pas ce que tu vceux optenir mais ta question est clair alors on ne peut pas te donner un bout de code alors qu'on ne connait pas la finalité! tu vois!
moi je t'ai bien compris je crois mais. envoie un peu un exemple!
Utilisateur anonyme
21 févr. 2006 à 15:14
21 févr. 2006 à 15:14
Tu dois le mettre à l'endroit ou *il faut*, c'est-à-dire dans le code propre à l'évènement qui doit déclencher cette requête.
Exemple :
si tu veux exécuter cette requête lors du clic sur un bouton sur un formulaire, et bien tu mets ce code sur l'évènement clic() du même bouton.
Au fait, c'est quoi le but de la maneuvre ?
Exemple :
si tu veux exécuter cette requête lors du clic sur un bouton sur un formulaire, et bien tu mets ce code sur l'évènement clic() du même bouton.
Au fait, c'est quoi le but de la maneuvre ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
22 févr. 2006 à 15:29
22 févr. 2006 à 15:29
Re,
Ce que tu appelles sous forme de tableau, c'est qu'il te donne le résultat de la requête, c'est cela ?
Pour l'avoir sous forme de formulaire, il fallait pas t'embrouiller la vie comme cela depuis le départ ;-)
Tu te crées un formulaire avec comme source cette requête.
Au clic sur le bouton, au lieu d'exécuter cette requête, tu fais ouvrir le formulaire.
Exemple :
tu crées un formulaire nommé f_resultat avec comme source de données la requête.
Au clic sur le bouton de ton formulaire "principal", tu mets :
docmd.openform "f_resultat"
Et c'est tout...
Ce que tu appelles sous forme de tableau, c'est qu'il te donne le résultat de la requête, c'est cela ?
Pour l'avoir sous forme de formulaire, il fallait pas t'embrouiller la vie comme cela depuis le départ ;-)
Tu te crées un formulaire avec comme source cette requête.
Au clic sur le bouton, au lieu d'exécuter cette requête, tu fais ouvrir le formulaire.
Exemple :
tu crées un formulaire nommé f_resultat avec comme source de données la requête.
Au clic sur le bouton de ton formulaire "principal", tu mets :
docmd.openform "f_resultat"
Et c'est tout...
Tu as été tres clair !!!
merci énormement!!
Sinon est il possible au lieu de créér un requete specifique de créer une macro qui va faire toujours la meme actions mais sur des tables differentes mais ayant exactement la meme structure!!
Car sinon je vais etre obligée de realiser a chaque fois une requete specifique pour chaque table c a d changer a chaque fois l'instruction FROM
tu a quelques indications?????
MERCI
merci énormement!!
Sinon est il possible au lieu de créér un requete specifique de créer une macro qui va faire toujours la meme actions mais sur des tables differentes mais ayant exactement la meme structure!!
Car sinon je vais etre obligée de realiser a chaque fois une requete specifique pour chaque table c a d changer a chaque fois l'instruction FROM
tu a quelques indications?????
MERCI
je n'ai vraiment pas ete tres clair au dessus desolé je me reprend!!
J'ai crée des requêtes qui agissent sur mes tables !!
Maintenant en fait je souhaiterais que les actions qu'elles realisent sur mes tables bien précise car instruction FROM elle le fasse sur n'importe quelle table que j'importe!!
en gros pas besoin de modif des requêtes a chaque fois est ce possible et si oui comment et avec qoui module ou macro????
Merci
J'ai crée des requêtes qui agissent sur mes tables !!
Maintenant en fait je souhaiterais que les actions qu'elles realisent sur mes tables bien précise car instruction FROM elle le fasse sur n'importe quelle table que j'importe!!
en gros pas besoin de modif des requêtes a chaque fois est ce possible et si oui comment et avec qoui module ou macro????
Merci
Utilisateur anonyme
23 févr. 2006 à 11:24
23 févr. 2006 à 11:24
Tu peux le faire en vba.
Ca sera quelquechose comme :
sql="SELECT truc, bidule from "& le_nom_de_la_table & " where truc=machin ;"
Ca sera quelquechose comme :
sql="SELECT truc, bidule from "& le_nom_de_la_table & " where truc=machin ;"
ok pour le vba mais je dois precise automatiquement quelle table je souhaite modifier??
Car je voudrait savoir si c possible de realiser les meme modif sur toutes les tables importées sans changer quoi que ce soit !!
merci en tout cas de ton aide hdu ;)
Car je voudrait savoir si c possible de realiser les meme modif sur toutes les tables importées sans changer quoi que ce soit !!
merci en tout cas de ton aide hdu ;)
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 11:41
23 févr. 2006 à 11:41
salut! ton pb est resolue? la discution est longue mais au dernier msg avec l'ami HDU je vois pas de conclusion?
si non à quel niveau es-tu rendu?
si non à quel niveau es-tu rendu?
Utilisateur anonyme
23 févr. 2006 à 11:35
23 févr. 2006 à 11:35
Il faudra forcément que tu indiques à access sur quelles tables tu veut que tes requêtes interviennent.
Avec un peu de bol, si tes tables s'appelent table1, table2, table3..., avec une moulinette c'est simple, si c'est tableun, tabledeux, tabletrois, ça sera plus long...
Avec un peu de bol, si tes tables s'appelent table1, table2, table3..., avec une moulinette c'est simple, si c'est tableun, tabledeux, tabletrois, ça sera plus long...
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 13:33
23 févr. 2006 à 13:33
là tu essaye dc deja de creer ton module en attendant laise ton message sur: www.e-rus.net c spécifiquement access et la gestion des bd .pendant ce temps je vois ce que je peux faire
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 14:41
23 févr. 2006 à 14:41
oui tu peux enchener les 4 requetes elle s'excuteron par ordre d'enchainement .
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 14:50
23 févr. 2006 à 14:50
amelie tu devras offrir un bonbon a tchu! et seb!
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
23 févr. 2006 à 15:12
23 févr. 2006 à 15:12
bon on va changer de sujet.
le meins est vieux mais sans solution jusqu'a lors.
j'ai donc du supprimer et je recommence.
voila donc ce qui se passa:
j'ai 26 étudiant s qui se nomme (a....z)
j'ai 4 matieres: M1,M2,M3,M4 qui sont notées sur 5 chacune. j'ai une note qui est la somme des "M".donc sur 20.
chaque étudiant peut etre evalué plusieur fois dans la journée.
à la fin d'une journée on pourra dc avoir 2 eval dc 2 note M1,2 M2,....2M4 et 2 notes sur 20.
à la fin du mois on veux pourvoir recapituler. on à donc un giganteste tablezu
style:
Serge Lebeau Mois de Janvier
M1 M2 M3 M4 Total Commentaire
4 4 4 5 17 eleve plein d'avenir
4 4 5 5 18 eleve plein d'avenir
4 4 4 5 17 eleve plein d'avenir
j'ai des vielle tables valable dans ma base ou j'ai deja les noms des eleves.
je peux en creer une nouvelle . il y auras donc dans la table plusieur fois serge lebeau puisqu'il sera evalué plusieur fois dans le mois.
je ne sais pas comment materialiser l'affaire.
je compte bien sur vous pour m'aider: J-J - 5 h
le meins est vieux mais sans solution jusqu'a lors.
j'ai donc du supprimer et je recommence.
voila donc ce qui se passa:
j'ai 26 étudiant s qui se nomme (a....z)
j'ai 4 matieres: M1,M2,M3,M4 qui sont notées sur 5 chacune. j'ai une note qui est la somme des "M".donc sur 20.
chaque étudiant peut etre evalué plusieur fois dans la journée.
à la fin d'une journée on pourra dc avoir 2 eval dc 2 note M1,2 M2,....2M4 et 2 notes sur 20.
à la fin du mois on veux pourvoir recapituler. on à donc un giganteste tablezu
style:
Serge Lebeau Mois de Janvier
M1 M2 M3 M4 Total Commentaire
4 4 4 5 17 eleve plein d'avenir
4 4 5 5 18 eleve plein d'avenir
4 4 4 5 17 eleve plein d'avenir
j'ai des vielle tables valable dans ma base ou j'ai deja les noms des eleves.
je peux en creer une nouvelle . il y auras donc dans la table plusieur fois serge lebeau puisqu'il sera evalué plusieur fois dans le mois.
je ne sais pas comment materialiser l'affaire.
je compte bien sur vous pour m'aider: J-J - 5 h
le but c reussir a separer un champ en plusieur grace au indique presente dans le champs
Pourquoi vouloir le faire absolument en vba ???
Si dans le requêteur d'access tu mets tes tables et tes champs qui vont bien, et tu mets à la place de ton champ portdescription
Autre chose :
ton Right((Right([Port description],20)),2) sert à quoi ???? Il revient à un right(portdescription,2)
Si dans le requêteur d'access tu mets tes tables et tes champs qui vont bien, et tu mets à la place de ton champ portdescription
unit: droite(gauche(portdescription;75);1).
Autre chose :
ton Right((Right([Port description],20)),2) sert à quoi ???? Il revient à un right(portdescription,2)
Utilisateur anonyme
21 févr. 2006 à 15:59
21 févr. 2006 à 15:59
Mais y'a pas de mal ma brave dame ;-))
et aussi desolé comment on crée un bouton avec un formulaire???
21 févr. 2006 à 15:10