Bonjour à tous,
J'ai un petit problème pour modifier un enregistrement dans
une base de donnée Access XP.
Je montre comment le code est fait....
##########
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "\Recettes.mdb")
Set rs = db.OpenRecordset("ingredients", dbOpenTable)
'
' Un peu plus loin dans le prog....
'
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" &
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
'
' Et lorsque je clique sur Sauvegarder..
'
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
########
Le programme plante ici à la ligne rs.edit en me disant que j'ai une erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé
plusieurs types d'ouverture mais je tombe toujours sur la même erreur ? Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses goutes
depuis 3-4 hrs!!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bismark Prods
tu peux déjà aller voir dans ton disque dur si le fichier n'est pas en lecture seule ?
"Francois Soucy" a écrit dans le message de news:y25Oa.19989$
Bonjour à tous, J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP. Je montre comment le code est fait.... ########## Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) ' ' Un peu plus loin dans le prog.... ' Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) ' ' Et lorsque je clique sur Sauvegarder.. ' rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
######## Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
goutes
depuis 3-4 hrs!!!
Merci Francois
tu peux déjà aller voir dans ton disque dur si le fichier n'est pas en
lecture seule ?
"Francois Soucy" <merlin867@altern.org> a écrit dans le message de
news:y25Oa.19989$Il3.572578@wagner.videotron.net...
Bonjour à tous,
J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP.
Je montre comment le code est fait....
##########
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "Recettes.mdb")
Set rs = db.OpenRecordset("ingredients", dbOpenTable)
'
' Un peu plus loin dans le prog....
'
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
'
' Et lorsque je clique sur Sauvegarder..
'
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
########
Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé
plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
tu peux déjà aller voir dans ton disque dur si le fichier n'est pas en lecture seule ?
"Francois Soucy" a écrit dans le message de news:y25Oa.19989$
Bonjour à tous, J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP. Je montre comment le code est fait.... ########## Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) ' ' Un peu plus loin dans le prog.... ' Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) ' ' Et lorsque je clique sur Sauvegarder.. ' rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
######## Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
goutes
depuis 3-4 hrs!!!
Merci Francois
Alain Cotterot
Salut
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète soit "Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy a écrit dans le message : y25Oa.19989$
Bonjour à tous, J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP. Je montre comment le code est fait.... ########## Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) ' ' Un peu plus loin dans le prog.... ' Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) ' ' Et lorsque je clique sur Sauvegarder.. ' rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
######## Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
goutes
depuis 3-4 hrs!!!
Merci Francois
Salut
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète soit
"Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy <merlin867@altern.org> a écrit dans le message :
y25Oa.19989$Il3.572578@wagner.videotron.net...
Bonjour à tous,
J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP.
Je montre comment le code est fait....
##########
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "Recettes.mdb")
Set rs = db.OpenRecordset("ingredients", dbOpenTable)
'
' Un peu plus loin dans le prog....
'
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
'
' Et lorsque je clique sur Sauvegarder..
'
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
########
Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé
plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète soit "Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy a écrit dans le message : y25Oa.19989$
Bonjour à tous, J'ai un petit problème pour modifier un enregistrement
dans
une base de donnée Access XP. Je montre comment le code est fait.... ########## Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) ' ' Un peu plus loin dans le prog.... ' Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'"
&
"And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) ' ' Et lorsque je clique sur Sauvegarder.. ' rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
######## Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
3027 (La base de données ou l'objet est en lecture seule. J'ai essayé plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
goutes
depuis 3-4 hrs!!!
Merci Francois
Francois Soucy
Bonjour,
Je suis reparti du début et j'ai trouvé quelque chose. Cela arrange pas mon problème, mais peut être que qqun saura plus m'éclairer avec cela. Lors que j'ouvre mon "Recordset (rs)" de la manière suivant je peux faire un .edit sur le champ: '#### Méthode qui fonctionne ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update '############################
Mais si j'ouvre mon recordset de la manière suivant (cela doit être fait dans la prog...) alors là je ne peux plus edit un champ dans la table. J'obtient toujours la même erreur 3027 comme quoi que ma base de données est read-only '#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update '############################
Est-ce que ca peut éclairer qqun? Parce que je doit vraiment utiliser une méthode comportant un select sur deux table (donc pas de dbOpenTable)
Merci Francois
ps: Les droit d'access sont tous OK et j'ai bel et bien des clefs primaires
"Alain Cotterot" wrote in message news:pIUOa.87195$
Salut
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète
soit
"Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy a écrit dans le message : y25Oa.19989$ > Bonjour à tous, > J'ai un petit problème pour modifier un enregistrement dans > une base de donnée Access XP. > Je montre comment le code est fait.... > ########## > Set ws = DBEngine.Workspaces(0) > Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") > Set rs = db.OpenRecordset("ingredients", dbOpenTable) > ' > ' Un peu plus loin dans le prog.... > ' > Set rs = db.OpenRecordset("Select * from Ingredients, Classes where > Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) &
"'"
& > "And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) > ' > ' Et lorsque je clique sur Sauvegarder.. > ' > rs.Edit > rs("IngDesc") = TxtIngDesc.Text > rs.Update > > ######## > Le programme plante ici à la ligne rs.edit en me disant que j'ai une erreur > 3027 (La base de données ou l'objet est en lecture seule. J'ai essayé > plusieurs types d'ouverture mais je tombe toujours sur la même erreur ? Vous > savez où je dois chercher mon erreur ?? Elle me fait suer à grosses goutes > depuis 3-4 hrs!!! > > Merci > Francois > >
Bonjour,
Je suis reparti du début et j'ai trouvé quelque chose. Cela arrange pas mon
problème, mais peut être que qqun saura plus m'éclairer avec cela.
Lors que j'ouvre mon "Recordset (rs)" de la manière suivant je peux faire un
.edit sur le champ:
'#### Méthode qui fonctionne #####
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "recettes.mdb")
Set rs = db.OpenRecordset("ingredients", dbOpenTable)
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
'############################
Mais si j'ouvre mon recordset de la manière suivant (cela doit être fait
dans la prog...) alors là je ne peux plus edit un champ dans la table.
J'obtient toujours la même erreur 3027 comme quoi que ma base de données est
read-only
'#### Méthode qui NE fonctionne PAS #####
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "recettes.mdb")
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" &
" Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
'############################
Est-ce que ca peut éclairer qqun? Parce que je doit vraiment utiliser une
méthode comportant un select sur deux table (donc pas de dbOpenTable)
Merci
Francois
ps: Les droit d'access sont tous OK et j'ai bel et bien des clefs primaires
"Alain Cotterot" <cotterot@videotron.ca> wrote in message
news:pIUOa.87195$Il3.2536378@wagner.videotron.net...
Salut
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète
soit
"Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy <merlin867@altern.org> a écrit dans le message :
y25Oa.19989$Il3.572578@wagner.videotron.net...
> Bonjour à tous,
> J'ai un petit problème pour modifier un enregistrement
dans
> une base de donnée Access XP.
> Je montre comment le code est fait....
> ##########
> Set ws = DBEngine.Workspaces(0)
> Set db = ws.OpenDatabase(App.Path & "Recettes.mdb")
> Set rs = db.OpenRecordset("ingredients", dbOpenTable)
> '
> ' Un peu plus loin dans le prog....
> '
> Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
> Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) &
"'"
&
> "And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
> '
> ' Et lorsque je clique sur Sauvegarder..
> '
> rs.Edit
> rs("IngDesc") = TxtIngDesc.Text
> rs.Update
>
> ########
> Le programme plante ici à la ligne rs.edit en me disant que j'ai une
erreur
> 3027 (La base de données ou l'objet est en lecture seule. J'ai essayé
> plusieurs types d'ouverture mais je tombe toujours sur la même erreur ?
Vous
> savez où je dois chercher mon erreur ?? Elle me fait suer à grosses
goutes
> depuis 3-4 hrs!!!
>
> Merci
> Francois
>
>
Je suis reparti du début et j'ai trouvé quelque chose. Cela arrange pas mon problème, mais peut être que qqun saura plus m'éclairer avec cela. Lors que j'ouvre mon "Recordset (rs)" de la manière suivant je peux faire un .edit sur le champ: '#### Méthode qui fonctionne ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("ingredients", dbOpenTable) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update '############################
Mais si j'ouvre mon recordset de la manière suivant (cela doit être fait dans la prog...) alors là je ne peux plus edit un champ dans la table. J'obtient toujours la même erreur 3027 comme quoi que ma base de données est read-only '#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update '############################
Est-ce que ca peut éclairer qqun? Parce que je doit vraiment utiliser une méthode comportant un select sur deux table (donc pas de dbOpenTable)
Merci Francois
ps: Les droit d'access sont tous OK et j'ai bel et bien des clefs primaires
"Alain Cotterot" wrote in message news:pIUOa.87195$
Salut
Je jeterais un coup d'oeil sur les clés primaires. Pour qu'une requète
soit
"Updatable", il faut impérativement avoir une clé primaire.
Alain Cotterot
Francois Soucy a écrit dans le message : y25Oa.19989$ > Bonjour à tous, > J'ai un petit problème pour modifier un enregistrement dans > une base de donnée Access XP. > Je montre comment le code est fait.... > ########## > Set ws = DBEngine.Workspaces(0) > Set db = ws.OpenDatabase(App.Path & "Recettes.mdb") > Set rs = db.OpenRecordset("ingredients", dbOpenTable) > ' > ' Un peu plus loin dans le prog.... > ' > Set rs = db.OpenRecordset("Select * from Ingredients, Classes where > Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) &
"'"
& > "And Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) > ' > ' Et lorsque je clique sur Sauvegarder.. > ' > rs.Edit > rs("IngDesc") = TxtIngDesc.Text > rs.Update > > ######## > Le programme plante ici à la ligne rs.edit en me disant que j'ai une erreur > 3027 (La base de données ou l'objet est en lecture seule. J'ai essayé > plusieurs types d'ouverture mais je tombe toujours sur la même erreur ? Vous > savez où je dois chercher mon erreur ?? Elle me fait suer à grosses goutes > depuis 3-4 hrs!!! > > Merci > Francois > >
Bluesy
Salut.
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause where ?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _ "where Ingredients = '" & _ Trim$(lstIngredient.List(lstIngredient.ListIndex)) & "'" & _ " AND Ingredients.ClasseskId = Classes.kId", _ dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
Salut.
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause where
?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _
"where Ingredients = '" & _
Trim$(lstIngredient.List(lstIngredient.ListIndex)) & "'" & _
" AND Ingredients.ClasseskId = Classes.kId", _
dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS #####
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "recettes.mdb")
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) &
"'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause where ?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _ "where Ingredients = '" & _ Trim$(lstIngredient.List(lstIngredient.ListIndex)) & "'" & _ " AND Ingredients.ClasseskId = Classes.kId", _ dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
Bluesy
Sinon, tu as une liaison entre 2 table. Je pense que c'est ça qui te mets ton rs en lecture seule. Je pense qu'il serait pas mal d'avoir 2 requettes : - la requette actuelle (pour l'affichage, je suppose...) - Une requette pour la mise à jour 2 solutions pour ça : - Tu crées un nouveau rs avec SELECT IngDesc From Ingrédient Where Ingredtion.TonIndex = idingredientàmodifier puis tu fait ton update - Tu fait une requête Update (Syntaxe dans l'aide)
Espérant t'avoir aidé...
Un certain Bluesy <bluesy49 écrivait ici même ce qui suit:
Salut.
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause where ?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _ "where Ingredients = '" & _ Trim$(lstIngredient.List(lstIngredient.ListIndex)) & "'" & _ " AND Ingredients.ClasseskId = Classes.kId", _ dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update
Sinon, tu as une liaison entre 2 table. Je pense que c'est ça qui te mets ton
rs en lecture seule.
Je pense qu'il serait pas mal d'avoir 2 requettes :
- la requette actuelle (pour l'affichage, je suppose...)
- Une requette pour la mise à jour
2 solutions pour ça :
- Tu crées un nouveau rs avec
SELECT IngDesc From Ingrédient Where Ingredtion.TonIndex =
idingredientàmodifier
puis tu fait ton update
- Tu fait une requête Update (Syntaxe dans l'aide)
Espérant t'avoir aidé...
Un certain Bluesy <bluesy49 écrivait ici même ce qui suit:
Salut.
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause
where ?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _
"where Ingredients = '" & _
Trim$(lstIngredient.List(lstIngredient.ListIndex)) &
"'" & _
" AND Ingredients.ClasseskId = Classes.kId", _
dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS #####
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "recettes.mdb")
Set rs = db.OpenRecordset("Select * from Ingredients, Classes where
Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) &
"'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset)
rs.Edit
rs("IngDesc") = TxtIngDesc.Text
rs.Update
Sinon, tu as une liaison entre 2 table. Je pense que c'est ça qui te mets ton rs en lecture seule. Je pense qu'il serait pas mal d'avoir 2 requettes : - la requette actuelle (pour l'affichage, je suppose...) - Une requette pour la mise à jour 2 solutions pour ça : - Tu crées un nouveau rs avec SELECT IngDesc From Ingrédient Where Ingredtion.TonIndex = idingredientàmodifier puis tu fait ton update - Tu fait une requête Update (Syntaxe dans l'aide)
Espérant t'avoir aidé...
Un certain Bluesy <bluesy49 écrivait ici même ce qui suit:
Salut.
Je ne sais pas si ça a à voir, mais il manque pas un AND dans ta clause where ?
Set rs = db.OpenRecordset("Select * from Ingredients, Classes " & _ "where Ingredients = '" & _ Trim$(lstIngredient.List(lstIngredient.ListIndex)) & "'" & _ " AND Ingredients.ClasseskId = Classes.kId", _ dbOpenDynaset)
Un certain Francois Soucy écrivait ici même ce qui suit:
'#### Méthode qui NE fonctionne PAS ##### Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path & "recettes.mdb") Set rs = db.OpenRecordset("Select * from Ingredients, Classes where Ingredients = '" & Trim(lstIngredient.List(lstIngredient.ListIndex)) & "'" & " Ingredients.ClasseskId = Classes.kId", dbOpenDynaset) rs.Edit rs("IngDesc") = TxtIngDesc.Text rs.Update