Dim RsDateMaj As Variant
NewDateMaj = Format(Date, "dd/mm/yyyy")
SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE
FABRICANT.RefFab = 'Tralala' ;"
OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
If SYS_BD = ACCESS Then
RsDateMaj.Edit
End If
RsDateMaj!DatMAJ = CDate(NewDateMaj)
RsDateMaj.Update
RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur
différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je
retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si je
mets DISTINCTROW en DAO / Access, aucun problème.
Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
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
Rémy
"Via" a écrit dans le message de news:Ol%23%
Bonjour à tous.
Petit problème. J'essaie d'exécuter ce code :
Dim RsDateMaj As Variant NewDateMaj = Format(Date, "dd/mm/yyyy") SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE FABRICANT.RefFab = 'Tralala' ;" OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If SYS_BD = ACCESS Then RsDateMaj.Edit End If RsDateMaj!DatMAJ = CDate(NewDateMaj) RsDateMaj.Update RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème. Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
Via :)
Bonjour,
Ca me parait assez logique : DISTINCT sert à ne "voir" qu'une seule valeur là où il y a en fait plusieurs enregistrements en base.
Or si l'on veut mettre à jour les données, on doit savoir quel enregistrement mettre à jour !!
Rémy
"Via" <chew.baka@caramail.com> a écrit dans le message de
news:Ol%23%23VjZQEHA.2716@tk2msftngp13.phx.gbl...
Bonjour à tous.
Petit problème. J'essaie d'exécuter ce code :
Dim RsDateMaj As Variant
NewDateMaj = Format(Date, "dd/mm/yyyy")
SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE
FABRICANT.RefFab = 'Tralala' ;"
OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
If SYS_BD = ACCESS Then
RsDateMaj.Edit
End If
RsDateMaj!DatMAJ = CDate(NewDateMaj)
RsDateMaj.Update
RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur
différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je
retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème.
Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
Via :)
Bonjour,
Ca me parait assez logique : DISTINCT sert à ne "voir" qu'une seule valeur
là où il y a en fait plusieurs enregistrements en base.
Or si l'on veut mettre à jour les données, on doit savoir quel
enregistrement mettre à jour !!
Dim RsDateMaj As Variant NewDateMaj = Format(Date, "dd/mm/yyyy") SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE FABRICANT.RefFab = 'Tralala' ;" OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If SYS_BD = ACCESS Then RsDateMaj.Edit End If RsDateMaj!DatMAJ = CDate(NewDateMaj) RsDateMaj.Update RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème. Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
Via :)
Bonjour,
Ca me parait assez logique : DISTINCT sert à ne "voir" qu'une seule valeur là où il y a en fait plusieurs enregistrements en base.
Or si l'on veut mettre à jour les données, on doit savoir quel enregistrement mettre à jour !!
Rémy
Vuillermet Jacques
Un UPDATE n'est possible que si les enregistrements à modifier sont identifiables (avec une clé primaire).
Or, dans un recordset résultant d'un SELECT DISTINCT, on ne peut pas identifier de manière unique les enregistrements impactés (l'enregistrement est virtuel), donc l'UPDATE est impossible.
Même limitation si tu ouvres manuellement une requête Access avec un DISTINCT sous-jacent et que tu tentes une modification d'enregistrement au clavier.
Jacques.
"Via" a écrit dans le message de news: Ol##
Bonjour à tous.
Petit problème. J'essaie d'exécuter ce code :
Dim RsDateMaj As Variant NewDateMaj = Format(Date, "dd/mm/yyyy") SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE FABRICANT.RefFab = 'Tralala' ;" OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If SYS_BD = ACCESS Then RsDateMaj.Edit End If RsDateMaj!DatMAJ = CDate(NewDateMaj) RsDateMaj.Update RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème. Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
Via :)
Un UPDATE n'est possible que si les enregistrements à modifier sont
identifiables (avec une clé primaire).
Or, dans un recordset résultant d'un SELECT DISTINCT, on ne peut pas
identifier de manière unique les enregistrements impactés (l'enregistrement
est virtuel), donc l'UPDATE est impossible.
Même limitation si tu ouvres manuellement une requête Access avec un
DISTINCT sous-jacent et que tu tentes une modification d'enregistrement au
clavier.
Jacques.
"Via" <chew.baka@caramail.com> a écrit dans le message de news:
Ol##VjZQEHA.2716@tk2msftngp13.phx.gbl...
Bonjour à tous.
Petit problème. J'essaie d'exécuter ce code :
Dim RsDateMaj As Variant
NewDateMaj = Format(Date, "dd/mm/yyyy")
SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE
FABRICANT.RefFab = 'Tralala' ;"
OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
If SYS_BD = ACCESS Then
RsDateMaj.Edit
End If
RsDateMaj!DatMAJ = CDate(NewDateMaj)
RsDateMaj.Update
RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur
différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je
retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème.
Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?
Un UPDATE n'est possible que si les enregistrements à modifier sont identifiables (avec une clé primaire).
Or, dans un recordset résultant d'un SELECT DISTINCT, on ne peut pas identifier de manière unique les enregistrements impactés (l'enregistrement est virtuel), donc l'UPDATE est impossible.
Même limitation si tu ouvres manuellement une requête Access avec un DISTINCT sous-jacent et que tu tentes une modification d'enregistrement au clavier.
Jacques.
"Via" a écrit dans le message de news: Ol##
Bonjour à tous.
Petit problème. J'essaie d'exécuter ce code :
Dim RsDateMaj As Variant NewDateMaj = Format(Date, "dd/mm/yyyy") SQL$ = "SELECT DISTINCT FABRICANT.DatMaj FROM FABRICANT WHERE FABRICANT.RefFab = 'Tralala' ;" OuvrirRecordset RsDateMaj, SQL '>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If SYS_BD = ACCESS Then RsDateMaj.Edit End If RsDateMaj!DatMAJ = CDate(NewDateMaj) RsDateMaj.Update RsDateMaj.Close
Or ça me refuse, en DAO comme en ADO, la mise à jour (avec une erreur différente pour chaque cas, mais ça ne fonctionne pas) Par contre si je retire le DISTINCT de la chaîne SQL, plus aucun problème. A l'inverse, si
je
mets DISTINCTROW en DAO / Access, aucun problème. Le DISTINCT empêche-t-il la mise à jour ? Si oui, pourquoi ?