OVH Cloud OVH Cloud

SQL => VBA

8 réponses
Avatar
PatCatNats
Bonjour,

J'essai de faire d'une requête Mise à jour SQL :

UPDATE T_Cine SET T_Cine.Type = Forms!F_Conditionnement!LmType WHERE
(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme
nt));

du code pour mettre en VBA :

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = Forms!F_Conditionnement!LmType "
& _
"WHERE
(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme
nt));"
End Sub


Mais celà ne marche pas :o((((

Quelqu'un aurait une idée ???

Merci

Patrice

8 réponses

Avatar
Gafish
Bonjour,

"PatCatNats" a écrit dans le message de
news:cm6ev0$d06$
Bonjour,

J'essai de faire d'une requête Mise à jour SQL :

UPDATE T_Cine SET T_Cine.Type = Forms!F_Conditionnement!LmType WHERE

(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));

du code pour mettre en VBA :

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = Forms!F_Conditionnement!LmType
"

& _
"WHERE

(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));"
End Sub



A mon avis il faut que tu mettes sous cette forme
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = " &
Forms!F_Conditionnement!LmType & "
avec même des ' si le type n'est pas numérique :
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = ' " &
Forms!F_Conditionnement!LmType & ' "
idem avec ton titreConditionnement.


Arnaud

Avatar
3stone
Salut,

"PatCatNats"

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = Forms!F_Conditionnement!LmType "
& _
"WHERE
(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme
nt));"



CurrentDb.Execute strSQL


End Sub





Non ?


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome

Avatar
PatCatNats
Merci Arnaud,

J'ai fait comme tu m'as dit, mais :o(((

Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.Type" = " ' &
Forms!F_Conditionnement!LmType & ' " & _
"WHERE (((T_Cine.TitreConditionnement)= " &
Forms!F_Conditionnement!LmTitreConditionnement & "));"

Et pas de signalement au débogage...
Et si je met des ' dans le WHERE, il me met la ligne en commentaire
(vert)...



"Gafish" a écrit dans le message de
news:
Bonjour,

"PatCatNats" a écrit dans le message de
news:cm6ev0$d06$
Bonjour,

J'essai de faire d'une requête Mise à jour SQL :

UPDATE T_Cine SET T_Cine.Type = Forms!F_Conditionnement!LmType WHERE



(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));

du code pour mettre en VBA :

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] Forms!F_Conditionnement!LmType
"

& _
"WHERE



(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));"
End Sub



A mon avis il faut que tu mettes sous cette forme
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = " &
Forms!F_Conditionnement!LmType & "
avec même des ' si le type n'est pas numérique :
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = ' " &
Forms!F_Conditionnement!LmType & ' "
idem avec ton titreConditionnement.


Arnaud





Avatar
Evaro
Bonjour,

"PatCatNats" a écrit dans le message de news:
cm6j5t$ldh$
Merci Arnaud,

J'ai fait comme tu m'as dit, mais :o(((

Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.Type" = " ' &
Forms!F_Conditionnement!LmType & ' " & _
"WHERE (((T_Cine.TitreConditionnement)= " &
Forms!F_Conditionnement!LmTitreConditionnement & "));"




StrSql = "UPDATE T_Cine SET T_Cine.Type = '" &
Forms!F_Conditionnement!LmType & _
"' WHERE (((T_Cine.TitreConditionnement)= '" &
Forms!F_Conditionnement!LmTitreConditionnement & "'));"

en supposant que T_Cine.Type et T_Cine.TitreConditionnement) soient de type
caractère.
@+
Etienne

Avatar
PatCatNats
Bonjour,

Merci Etienne, mais celà ne fonctionne pas non plus (T_Cine.Type et
T_Cine.TitreConditionnement sont de type
caractère et je suis en Access 2003).
Comme c la première fois que j'utilise les requête directement en VBA sans
faire appel à DoCmd.OpenQuery, je me demande si il ne faut pas une ligne de
commande spécifique pour exécuter cette requête, ou si elle s'execute d'elle
même avec le code inséré ????

Patrice



"Evaro" a écrit dans le message de
news:
Bonjour,

"PatCatNats" a écrit dans le message de news:
cm6j5t$ldh$
Merci Arnaud,

J'ai fait comme tu m'as dit, mais :o(((

Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.Type" = " ' &
Forms!F_Conditionnement!LmType & ' " & _
"WHERE (((T_Cine.TitreConditionnement)= " &
Forms!F_Conditionnement!LmTitreConditionnement & "));"




StrSql = "UPDATE T_Cine SET T_Cine.Type = '" &
Forms!F_Conditionnement!LmType & _
"' WHERE (((T_Cine.TitreConditionnement)= '" &
Forms!F_Conditionnement!LmTitreConditionnement & "'));"

en supposant que T_Cine.Type et T_Cine.TitreConditionnement) soient de
type

caractère.
@+
Etienne




Avatar
Gafish
Rebonjour,

Non elle ne s'execute pas d'elle même, là tu ne fais que mettre des
caractères dans une variable string.
Regarde la réponse de 3stone.

Arnaud

"PatCatNats" a écrit dans le message de
news:cm7ahe$c9p$

Bonjour,

Merci Etienne, mais celà ne fonctionne pas non plus (T_Cine.Type et
T_Cine.TitreConditionnement sont de type
caractère et je suis en Access 2003).
Comme c la première fois que j'utilise les requête directement en VBA sans
faire appel à DoCmd.OpenQuery, je me demande si il ne faut pas une ligne
de

commande spécifique pour exécuter cette requête, ou si elle s'execute
d'elle

même avec le code inséré ????

Patrice



"Evaro" a écrit dans le message de
news:
Bonjour,

"PatCatNats" a écrit dans le message de news:
cm6j5t$ldh$
Merci Arnaud,

J'ai fait comme tu m'as dit, mais :o(((

Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.Type" = " ' &
Forms!F_Conditionnement!LmType & ' " & _
"WHERE (((T_Cine.TitreConditionnement)= " &
Forms!F_Conditionnement!LmTitreConditionnement & "));"




StrSql = "UPDATE T_Cine SET T_Cine.Type = '" &
Forms!F_Conditionnement!LmType & _
"' WHERE (((T_Cine.TitreConditionnement)= '" &
Forms!F_Conditionnement!LmTitreConditionnement & "'));"

en supposant que T_Cine.Type et T_Cine.TitreConditionnement) soient de
type

caractère.
@+
Etienne








Avatar
PatCatNats
Bonsoir,
çà fonctionne :o)))

Merci à tous.

Patrice

"PatCatNats" a écrit dans le message de
news:cm6ev0$d06$
Bonjour,

J'essai de faire d'une requête Mise à jour SQL :

UPDATE T_Cine SET T_Cine.Type = Forms!F_Conditionnement!LmType WHERE

(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));

du code pour mettre en VBA :

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = Forms!F_Conditionnement!LmType
"

& _
"WHERE

(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!LmTitreConditionneme

nt));"
End Sub


Mais celà ne marche pas :o((((

Quelqu'un aurait une idée ???

Merci

Patrice




Avatar
deschampjp
il faut faire
dim q as querydef,db as database
set db=currentdb
set qÛ.querydefs("marequete")
dim x as string
x="
UPDATE T_Cine SET T_Cine.Type = '" & forms!... & ' where
forms...=' & forms!... & "'"
q.sql=x
q.close
et la , la requete est modifiee dynamiquement si elle
existe
sinon DoCmd.RunSQL x
-----Message d'origine-----
Bonjour,

J'essai de faire d'une requête Mise à jour SQL :

UPDATE T_Cine SET T_Cine.Type = Forms!F_Conditionnement!
LmType WHERE

(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!
LmTitreConditionneme

nt));

du code pour mettre en VBA :

Private Sub BtnModifType_Click()
Dim StrSql As String
StrSql = "UPDATE T_Cine SET T_Cine.[Type] = Forms!
F_Conditionnement!LmType "

& _
"WHERE
(((T_Cine.TitreConditionnement)=Forms!F_Conditionnement!
LmTitreConditionneme

nt));"
End Sub


Mais celà ne marche pas :o((((

Quelqu'un aurait une idée ???

Merci

Patrice


.