|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
Bonjour à tous,
Je ne suis pas expert Access et je fais appel à vos lumières ^^ Je vous explique, je dois réaliser plusieurs opérations sur une table contenant des données : 1 - je dois mettre la table DEVERSEMENT à blanc 2 - j'exécute une requête ajout nommée AJOUT1 qui déverse des données provenant de la table DONNEES dans la table DEVERSEMENT 3 - j'exécute une requête ajout nommée AJOUT2 qui déverse des données provenant de la table DONNEES dans la table DEVERSEMENT 4 - j'exécute une requête mise à jour nommée MàJ1 qui met à jour certains champs vierges de la table DONNEES 5 - j'exécute une requête mise à jour nommée MàJ2 qui met à jour certains champs vierges dans une autre colonne de la table DONNEES 6 - j'exporte la table DEVERSEMENT au format .csv J'ai commencé à créer une macro qui exécute toutes ces requêtes une après l'autre mais je cale sur l'export au format .csv, et en plus ça me fait 5 requêtes pour pas grand chose !!! Donc ma question, comment faire, dans le module des créations des macros, pour "simplifier" tout ça ?? J'ai édité mes requêtes au format SQL en espérant les intégrer dans une commande quelconque, mais le module des macros dans ACCESS ne me facilite pas la vie !!! Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Jean-Marie BAGNISMoulticien Inscription : janvier 2013 Messages : 1 005 ![]() |
nicolas54 bonsoir,
plutôt qu'une requete utilise une fonction ! Dans un module crée ta fonction un peu comme ci dessous Code :
le setwarnings sert à désactiver le message de confirmation de mise à jour... Je te laisse regarder çà ! Tiens moi informé si tu as un problème JimboLion |
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Jean-Marie BAGNISMoulticien Inscription : janvier 2013 Messages : 1 005 ![]() |
le dernier setwarnings est à remettre à true ! (mais tu avais corrigé je pense)
bon courage |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Thierry PallierRegisseur Inscription : octobre 2006 Messages : 137 ![]() |
Bonsoir tous les 2.
Dans un premier temps, tu peux faire les ajouts dans une seule requete,puisque c'est dans la meme table. Dans un deuxième temps ,tu peux faire aussi les mises à jour dans une seule requete ,puisque ce ne sont pas les memes colonnes.Ont peux meme faire une maj de plusieurs tables dans une meme requete . Pour le csv, je ne sais pas. A+ |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Jean-Marie BAGNISMoulticien Inscription : janvier 2013 Messages : 1 005 ![]() |
il y a une fonction transfertext de mémoire sous access pour l'exportation te permettant de spécifier le format ! Tu peux même personnaliser l'export (séparateur,....) en passant le filtre dans la commande docmd.transferttext !
cherche de ce côté là ! et reviens vers nous si nécessaire pour le reste il est vrai que tu pourrais profiter d'une seule requête pour tout mettre à jour ! JimboLion |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Technicien maintenance Inscription : août 2011 Messages : 467 ![]() |
Si cela ne ralenti pas le traitement, le fait de faire plusieurs requetes permet un débogage plus simple en cas de probs.
|
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
Ok, merci pour vos réponses, je vais tenter comme ça.
Mais il n'a y pas possibilité de copier le SQL d'une requête et de le coller (si ça marche ?? ) dans une macro ou quelquechose de ce style afin d'éviter d'avoir, sous ACCESS, "50" requêtes qui apparaissent ?? ![]() Voilà ce que ça donne pour le moment : Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Thierry PallierRegisseur Inscription : octobre 2006 Messages : 137 ![]() |
Bonjour le forum.
Comme dit chrtophe ,celà ne facilitera pas le débogage . Pour les requetes actions (update ,delete ou "insertion") ,c'est simple: Code :
A+ |
||
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
Bonjour,
Ce que j'appelle macro (étant simple utilisateur ACCESS ^^), c'est ce que l'on voit sur Access sur la gauche : TABLE / REQUETE / FORMULAIRE / ETAT / MACRO Sinon, j'ai réussi à bâtir ma requête VBA (c'est bien du VBA non ?) : Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
Tiens, tant que j'y suis, j'exporte donc automatiquement d'Access vers un format .csv différentes données dont des codes postaux.
Hélas, ces codes postaux peuvent commencer par "0" et ce "0" est purement et simplement supprimer lorsque j'ouvre mon fichier .csv !!! Avez-vous une idées pour éviter cette anomalie ??
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Thierry PallierRegisseur Inscription : octobre 2006 Messages : 137 ![]() |
Bonjour Nicolas_54.
Essaye de passer ton champ code postal au format texte .Il y a un assistant pour faire un masque de saisie international ou français. A+ |
|
|
10
|
|
|
#12 | |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
Citation:
Mon problème ne vient pas d'Access car dans ma table, le champs est bien au format texte, mais comme il contient des valeurs numériques, lorsque je l'exporte (via une requête VBA) au format .csv, je retrouve ce champs au format numérique et le "0" est supprimé automatiquement !! Et dans l'assistant d'export sous Access, je ne parviens pas à lui indiquer que le champs code postal doit être au format texte et non numérique (Cf. ci-dessous)... Si quelqu'un connaît une astuce ou un caractère pouvant remplacer le "0" et étant reconnu par les application comme un caractère numérique ??? |
|
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
J'ai trouvé la solution
![]() Mais je suis confronté à un nouveau problème ![]() ![]() Il faut que le contenu de ma celulle contienne ="08300" pour que dans mon fichier .csv je ne retrouve que 08300. Donc ça c'est cool ! Mais le soucis vient de ma requête dans Access car ma formule correspondrait à ça : Code postal (CPD): "="" & [3 TRESORERIES]![CP] & """ Mais ça me fait trop de " dans la formule et il ne me la prend pas Une (nouvelle) idée ^^ Merci pour votre patience ! |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
merci google (comme quoi je ferai mieux de mieux chercher avant de vous solliciter !!).
Je donne la réponse si ça peut servir à quelqu'un !! Il faut rajouter un " Code postal (CPD): "=""" & [3 TRESORERIES]![CP] & """" |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Jean-Marie BAGNISMoulticien Inscription : janvier 2013 Messages : 1 005 ![]() |
De mémoire il me semble que le format t'affiche uniquement la première colonne et que des colonnes sont cachées à droite permettant de spécifier le type pour chaque champ !
Essaye d'écarter les colonnes en cliquant juste à l'extrémité droite de la colonne contenant le nom du champ ! @++ |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : octobre 2012 Messages : 19 ![]() |
On ne peut rien rajouter de plus... La seule possibilité que l'on a c'est de modifier le texte présent dans la première colonne !!
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com