OVH Cloud OVH Cloud

Insert into

2 réponses
Avatar
PatCatNats
Bonjour,

J'ai essayer de faire une requête ajout un peu spéciale en mettant dans
Insert Into le chemin d'un contrôle de formulaire mais access (2003) n'a pas
aimé :o(((

L'idée :

J'ai un formulaire avec des contôles liste modifiable :
LmVal1 (Liste : "Numéro";"Auteur";"Titre")
LmVal2 (Liste : "Numéro";"Auteur";"Titre")
LmVal3 (Liste : "Numéro";"Auteur";"Titre")

Je veux ajouter chaque enregistrement à une table portant le nom de la
valeur de chaque LmValeurX

En d'autres termes :

INSERT INTO T_Son_Album ( [Forms]![F_Son_Album]![LmVal1] )
SELECT
IIf([Forms]![F_Son_Album]![LmVal1]="Numéro",[Num],IIf([Forms]![F_Son_Album]!
[LmVal1]="Auteur",[Auteur],IIf([Forms]![F_Son_Album]![LmVal1]="Titre",[Titre
],""))) AS Valeur1
FROM Requête1;

Quequ'1 a une piste ?

Patrice

2 réponses

Avatar
Ilan
Bonjour PatCatNats,
il est peut-etre plus facile de creer en VBA un SQL different de ta requete
selon la valeur de tes listes modifiables.
La mise a jour d'une des liste jutifie le changement du SQL de la requete

quelque chose du genre :
Dim QuerieSQL as string
Dim MaRequete as QueryDef
QuerieSQL="INSERT INTO T_Son_Album (" & lmVal1.Value & ") SELECT "
Select Case LmVal1.Value
Case is "Numéro"
QuerieSQL=QuerieSQL & "[Num] AS Valeur1 FROM Requête1;"
Case is "Titre"
QuerieSQL=QuerieSQL & "[Titre] AS Valeur1 FROM Requête1;"
Case is "Auteur"
QuerieSQL=QuerieSQL & "[Auteur] AS Valeur1 FROM Requête1;"
End select
set Marequete=Currentdb.Querydefs("nomdelarequete")
MaRequete.SQL=QuerieSQL



Bonjour,

J'ai essayer de faire une requête ajout un peu spéciale en mettant dans
Insert Into le chemin d'un contrôle de formulaire mais access (2003) n'a pas
aimé :o(((

L'idée :

J'ai un formulaire avec des contôles liste modifiable :
LmVal1 (Liste : "Numéro";"Auteur";"Titre")
LmVal2 (Liste : "Numéro";"Auteur";"Titre")
LmVal3 (Liste : "Numéro";"Auteur";"Titre")

Je veux ajouter chaque enregistrement à une table portant le nom de la
valeur de chaque LmValeurX

En d'autres termes :

INSERT INTO T_Son_Album ( [Forms]![F_Son_Album]![LmVal1] )
SELECT
IIf([Forms]![F_Son_Album]![LmVal1]="Numéro",[Num],IIf([Forms]![F_Son_Album]!
[LmVal1]="Auteur",[Auteur],IIf([Forms]![F_Son_Album]![LmVal1]="Titre",[Titre
],""))) AS Valeur1
FROM Requête1;

Quequ'1 a une piste ?

Patrice





Avatar
PatCatNats
Bonjour et merci Ilan,

J'vais me pencher dessus (en essayant de pas tomber ;o)))
La piste est super bonne

Patrice


"Ilan" a écrit dans le message de
news:
Bonjour PatCatNats,
il est peut-etre plus facile de creer en VBA un SQL different de ta
requete

selon la valeur de tes listes modifiables.
La mise a jour d'une des liste jutifie le changement du SQL de la requete

quelque chose du genre :
Dim QuerieSQL as string
Dim MaRequete as QueryDef
QuerieSQL="INSERT INTO T_Son_Album (" & lmVal1.Value & ") SELECT "
Select Case LmVal1.Value
Case is "Numéro"
QuerieSQL=QuerieSQL & "[Num] AS Valeur1 FROM Requête1;"
Case is "Titre"
QuerieSQL=QuerieSQL & "[Titre] AS Valeur1 FROM Requête1;"
Case is "Auteur"
QuerieSQL=QuerieSQL & "[Auteur] AS Valeur1 FROM Requête1;"
End select
set Marequete=Currentdb.Querydefs("nomdelarequete")
MaRequete.SQL=QuerieSQL



Bonjour,

J'ai essayer de faire une requête ajout un peu spéciale en mettant dans
Insert Into le chemin d'un contrôle de formulaire mais access (2003) n'a
pas


aimé :o(((

L'idée :

J'ai un formulaire avec des contôles liste modifiable :
LmVal1 (Liste : "Numéro";"Auteur";"Titre")
LmVal2 (Liste : "Numéro";"Auteur";"Titre")
LmVal3 (Liste : "Numéro";"Auteur";"Titre")

Je veux ajouter chaque enregistrement à une table portant le nom de la
valeur de chaque LmValeurX

En d'autres termes :

INSERT INTO T_Son_Album ( [Forms]![F_Son_Album]![LmVal1] )
SELECT

IIf([Forms]![F_Son_Album]![LmVal1]="Numéro",[Num],IIf([Forms]![F_Son_Album]!



[LmVal1]="Auteur",[Auteur],IIf([Forms]![F_Son_Album]![LmVal1]="Titre",[Titre


],""))) AS Valeur1
FROM Requête1;

Quequ'1 a une piste ?

Patrice