{Access} afficher requête ajout champ table

Fermé
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 - 16 déc. 2009 à 08:57
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 - 17 déc. 2009 à 10:00
Bonjour,

J'ai paramétré un formulaire pour effectuer l'exécution d'une requête ajout lorsque je clique sur un bouton de ce formulaire. Lors de son exécution, cette requête ajout ne s'affiche pas.

Comment faire pour qu'elle s'affiche ?? C'est-à-dire pour voir les champs qui sont ajoutés ??

Merci à tous

SliverPopop

19 réponses

blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 09:43
Salut,

une requête n'a pas vocation a être affichée, elle s'exécute.

Imagine si tu as une mise à jour de 3 champs pour 30000 lignes, comment vas-tu gérer l'affichage des mises à jour ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 09:51
Certes, mais dans mon cas, lors de son exécution, elle n'ajoute qu'un seul champ. Je pensais pouvoir l'afficher et la modifier par requête de sélection ensuite, mais impossible de modifier les champs concernés.
Comment faire s'il vous plait ??
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 10:03
Je pensais pouvoir l'afficher et la modifier par requête de sélection ensuite, mais impossible de modifier les champs concernés.
Pas compris :-(

Tu as un bouton qui fait quoi : il génère une requête, il lance une requête déjà créée ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 10:11
il lance une requête déjà créée qui se lance avec un DoCmd.OpenQuery.
Lors de l'ajout des champs dans ma table, je voulais les afficher avec une requête de sélection ( et normalement on peut modifier les champs affichés dans la requête de sélection et ça midifie dans la table en même temps non ?).

Merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 10:19
Lors de l'ajout des champs dans ma table, je voulais les afficher avec une requête de sélection
Une requête de mise à jour n'est pas une requête de sélection...

Donc, il te faut trouver un autre moyen.
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 10:21
Je fais une requête ajout, qui ajoute des valeurs dans des champs, et je voudrais simplement pouvoir afficher les champs ajoutés. Via une requête de sélection, je parviens à afficher ces champs, mais il n'est pas possible de les mdifier, je souhaiterai que ce soit le cas. Saurais tu comment faire ??

J'espère que tu m'as compris.....^^
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 10:36
Je fais une requête ajout, qui ajoute des valeurs dans des champs
C'est antinomique...

Une requête ajout doit ajouter des lignes...
Une requête mise à jour doit mettre à jour des valeurs de champ.

De quel type est ta requête : INSERT ou UPDATE ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 10:39
Bein arrête c'est pas antinomique, ma requête ajout ajoute des champs. C'est donc une requête INSERT. Moi je veux pouvoir, via une autre requête, les modifier.
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 11:34
Ben si !

qui ajoute des valeurs dans des champs
ma requête ajout ajoute des champs
Il y a une différence entre mettre à jour des valeurs dans une ligne existante et ajouter une nouvelle ligne (voire modifier la structure de la table pour ajouter de nouvelles colonnes)

Quand tu fais INSERT, d'où prends-tu tes données ? Peux-tu coller le SQL ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 13:10
Bien sur, voici le code SQL de ma requête :

code:
INSERT INTO Spec_test ( Test_id, Test_type, Instruction, Waited_value, File_name, Record_field, Description )
SELECT [MaxDeTest_id]+1 AS Test_id, Formulaires!Formulaire1!test_type AS test_type, Formulaires!Formulaire1!instruction AS instruction, Formulaires!Formulaire1!waited_value AS waited_value, Formulaires!Formulaire1!file_name AS file_name, Formulaires!Formulaire1!record_file AS record_file, Formulaires!Formulaire1!description AS description
FROM spec_test_req, [Max];

Fin du code

Les champs soulignés correspondent à des champs sur mon formulaire (zone de texte pour être précis). Ils sont remplis grâce à une autre requête qui fonctionne.

Dis moi si tu comprends ou si tu veux plus d'info.

Merci encore de ton aide.

SliverPopop

0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 13:44
Ca va pas être trop possible...

Y'a quand même un truc qui m'échappe : pourquoi veux-tu modifier les données à la volée avant la MAJ, tu ne peux pas le faire dans le formulaire ?

Sinon, y'a le VBA pur, où il t'affiche champ par champ la valeur actuelle, et que tu modifies avant de lancer la mise à jour...

La finalité, c'est quoi au juste ? Parce qu'on peut-être traiter le problème autrement...
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 13:48
Et bien en faite je souhaite pouvoir copié les champs de mon formulaire dans une requête et lui attribuer une nouvelle valeur (Test_id dans le code SQL), cependant je souhaite aussi pouvoir modifier les champs test_type, instruction, waited_value, etc... Je pensais pouvoir le modifier via une requête de sélection, mais je ne sais pas comment faire, si tu as une autre solution, tes conseils sont les bienvenus^^.

SliverPopop
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 14:26
Si le formulaire est basé sur une table, pourquoi ne vas-tu pas directement chercher les valeurs à cet endroit ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 14:47
Pas basé sur une table, une requête s'exécute lorsque j'utilise une liste déroulante et me remplis les champs en question...^^ C'est complexe...lol
mais je pense que j'ai trouvé une solution, je peux modifier les champs de mon formulaire, et cela les modifie directement dans les champs de ma requête quand je clique sur le bouton, donc à présent, il faut pouvoir modifier le champ test_id, qui n'est pas modifiable sur le formulaire... Grande question..

SliverPopop
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 14:50
Si le champ est indépendant, alors il doit pouvoir être modifié...
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 15:11
Oui mais comme de sa valeur dépend une requête qui s'exécute quand je clique dessus, je ne peux pas le modifier. J'ai donc penser mettre une zone de texte squr le formulaire qui se rechargerai à chaque clic sur un bouton ou une zone, et qui serait '[MaxDeTest_id]+1' dans mon code SQL. Le problème est que je mets cela dans la rubrique contenu, et cette rubrique des propiété n'existe que sur les zônes de liste, je ne peux pas mettre une zône de texte par exemple. Car je dois pouvoir modofier le nombre générer automatiquement si jamais j'en ai envie.

0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 15:19
Dans ta zone de texte, tu récupères le nom de la zone qui affiche 'maxdetest_id' et tu le mets en 'source contrôle' avec la syntaxe suivante :

=[MaxDeTest_id].value+1

0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
16 déc. 2009 à 15:24
Non, cela ne fonctionne pas, obligé de le mettre dans la zone contenu si je veux avoir quelque chose de vraisemblable. Sinon il m'écrit ' # Nom ? '. Aurais tu une autre solution ??
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
16 déc. 2009 à 15:48
Ton maxdetestid est affiché dans quoi : zone de texte, zone de liste ? Quel est le nom de ce contrôle ?
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
17 déc. 2009 à 08:23
Salut,

Dédolé pour hier soir je suis parti tôt (des ptites courses à faire pour Noyyyël ^^).
Donc mon maxdetestid est fait tiré d'une requête qui séléctionne simplement le numéro le plus grand de test_id dans une table.
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
17 déc. 2009 à 09:21
et donc, peux-tu répondre à mes deux questions ? :-)
0
sliverpopop Messages postés 924 Date d'inscription dimanche 1 mars 2009 Statut Membre Dernière intervention 6 janvier 2010 77
17 déc. 2009 à 09:24
Il n'est affiché dans rien du tout. Seulement dans ma requête.
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
17 déc. 2009 à 10:00
et bien, tu fais une zone masquée qui contiendra cette valeur, comme ça tu pourras la récupérer et en faire ce que tu veux, comme les autres champs de ton formulaire...
0