Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2011, 10h03   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 6
Points : 2
Points : 2
Par défaut Requête de sauvegarde dans un formulaire.

Bonjour,

Voila mon petit souci, je travaille en ce moment a la conception d'une base de données sous Access 2010. Cette table etant destiné a des personnes non initiés au bdd je doit rendre les actions les plus clair possible (par des formulaires).

Jusque la tous va bien. Ce que j'aimerai savoir, c'est : Est ce qu'il est possible de copier l'enregistrement courant d'une table (ouverte dans un formulaire) dans une autre table, afin de creer un historique de modification.

Actuellement j'ai fait une requete :

Code sql :
1
2
3
4
INSERT INTO Table1 ( ID, Annee, Date_creation, ... )
SELECT Table2.ID,Table2.Annee, Table2.Date_creation, ....
FROM Table2
WHERE (((Table2.ID)=[IDc]));

Pas de souci au niveau des clé primaire vu que je ne gere pas la clé de la table 2. Dans l'état actuelle, il me demande l'ID ([IDc])de la ligne a exporté quand j’exécute la requête hors du formulaire.

J'aimerai si possible integrer cette requete dans le bouton de validation du formulaire en récupérant un champs du formulaire pour [IDc].

Je suppose qu'il va peut etre falloir migrer vers du code VBA mais je n'en ai aucune notion.

Si vous pouvez m'éclairer

Merci d'avance
Kaljo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 12h29   #2
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour,
pour recuperer la syntaxe exacte du controle idc, utilise Le generateur d'expression (la petite baguette magique)
cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 14h39   #3
Invité de passage
 
Inscription : juillet 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 6
Points : 2
Points : 2
EDIT : Merci reedy, cela a bien fonctionné après quelques essais. Je me suis compliqué la vie avec du VBA... Tant pis, ca ne sera pas perdu. Il ne me reste plus qu'a trouver comment désactiver les message d'alertes durant cette macro sans passer par le VBA dans la mesure du possible

EDIT2 : Dans le generateur de macro, apres avoir selectionner "Afficher toutes les actions" puis dans "Commandes Systèmes" il y a "Avertissement", qui permet de desactiver les messages d'alertes

Bon c'est remoi

J'ai un peu avancé depuis ce matin, et je suis arrivé a la conclusion qu'il fallait bien passer par un bouton VBA.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Form_Click()
Dim qdf As DAO.QueryDef
Dim rcs As DAO.Recordset
 
'référence à la requête
Set qdf = CurrentDb.QueryDefs("SauvegardePDI")
'code qui utilise qdf
qdf.Parameters("Ligne_PDIc") = Forms![Formulaire_princ].Form![PDI_Produit_Modification].Form![PDI_Produit_modification_r2]![Ligne_PDI].Value
 
  'libération de la référence
Set qdf = Nothing
 
End Sub
Mais lorsque je clique sur le bouton, rien ne se passe, faut il ajouter un execute de la macro (sachant que c'est une requete parametrable?). De même, j'ai un petit soucis quand a la poursuite de la macro bouton.

L'enregistrement de l'enregistrement courant se fait comment en VBA? Car avant je le faisait via le générateur de macro mais je ne connais pas le code derrière...




EDIT : J'avais pas saisie ce que tu me disais et d'un coup un eclair de lucidité (Se réveiller a 15h... Mieux vaut tard que jamais) du coup je change en execute je verrais bien
Kaljo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h05.


 
 
 
 
Partenaires

Hébergement Web