Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur d'exécution '70' - permission refusée

11 réponses
Avatar
Fguy
Bonjour à tous,

Lorsque j'exécute la fonction ci-après, je reçois le message d'erreur -
erreur d'exécution '70' - permission refusée à la ligne ci-après.
Date = MyDate 'on change la date système

Je n'ai jamais eu ça et cette fonction fonctionnait bien l'année
dernière, est-ce bien la DAO360.DLL qui gère cette fonction DATE
ou bien me manque-t-il une référence.
D'avance merci

Fguy


Public Function ConsulterLesAutresTables()
Dim maBD As Database, chem As String, TBD As String
Dim MyDate As String, meF As Form
Dim chCritères As String, rstTables As Recordset, TableNow As String
Dim A As Integer, B As Integer, tdf As TableDef, NomAttachées As String
Set maBD = CurrentDb
Set meF = Forms!QuidAnnéesExercice
chCritères = meF!Modifiable0
Set tdf = maBD.TableDefs!tblDépenses
For A = 1 To Len(tdf.Connect)
If Mid(tdf.Connect, A, 1) = "\" Then
B = A
End If
Next A
NomAttachées = Mid(tdf.Connect, B + 1, A - B)
TableNow = Mid(NomAttachées, 15, 4)
If chCritères = TableNow Then
Beep
MsgBox "Vous travaillez déjà avec les tables " & vbLf & _
"TablesDépenses" & chCritères & ".mdb" & " !", vbCritical,
"Mauvais choix d'année !"
Exit Function
End If
DateConsultation 'fonction qui écrit la date en cours dans la
table consult dans ce même module
Set rstTables = maBD.OpenRecordset("NomTablesDépenses", dbOpenDynaset)
MyDate = "31/12/" & chCritères 'paramètres pour changer la date
système
Date = MyDate 'on change la date système 'ici
l'erreur
'chem = "C:\BaseAccess\ListePrix\tablesDépenses" & chCritères & ".mdb"
chem = "C:\BaseAccess\ListePrix\ListePrix01.mdb"
'DateConsultation
DétacherToutesLesTables 'on détache les tables déjà attachées
'-------------------------
TBD = "Microsoft Access"
DoCmd.TransferDatabase acLink, TBD, chem, acTable, "tblDépenses",
"tblDépenses"

NomDeLaBase 'dans module NomDeBase
' RappelsFactures
Forms!QuidAnnéesExercice!Modifiable0.Requery
DoCmd.Close acForm, "QuidAnnéesExercice"
' Forms!Acceuil.Requery
Set maBD = Nothing
Set meF = Nothing
Set tdf = Nothing
Set rstTables = Nothing
End Function

1 réponse

1 2
Avatar
Fguy
Bonjour à vous deux,

J'ai désactivé provisoirement l'UAC et tout refonctionne.
Comme il n'y a que moi qui utilise ce programme sous Win7, pas de problème.
Les seuls recherches que je dois faire de temps en temps, sont de
retrouver les erreurs éventuelles dans la ventilation de l'année en
cours, donc, je ne dois pas changer la date système.
Merci en tout cas à vous deux pour vos recherches et réponses.
@+

Fguy

Le 10/01/2010 09:59, Fguy a écrit :
Salut DB,

Merci pour ta réponse. :-)

>mais ce
> serait sûrement mieux d'avoir une variable de type date initialisée à la
> date du jour pour mettre dans la table, et modifiée au 31/12 de l'année
> précédente en tant que de besoin.
> Cela éviterait d'avoir à mettre à jour la date système (et éviterait
> aussi l'usine à gaz de la remise à la date du jour...)

Là, j'avoue que je ne comprends pas, mon copain peut revenir 6 ans en
arrière, pour d'éventuelles consultations.
Ça m'intéresse beaucoup de savoir comment m'y prendre...je ne suis pas
un informaticien lol.
@+
Fguy


Le 9/01/2010 22:50, db a écrit :
Fguy a écrit :
Bonsoir,
Tout simplement parce que le gars veut que tout soit automatique et il
le faut parce que sinon, c'est l'embrouille à coup sûr.
Crois moi sur parole, déjà que comme ça...
Sinon bien sûr que j'aurais été tranquille.
Bon, pour le moment, il reste en XP, donc tranquille, mais moi, je
suis en Win7 et là ça foire, heureusement que je vais pouvoir mettre
un ancien PC en XP, celui que j'avais avant le changement en Win7.
C'est que surtout, j'aurais aimé pourquoi ça me fait ça.
Bah! Demain, je chercherai encore.
En attendant, merci d'avoir cherché à me dépanner et bonne nuit. :-)
@+

Guy FALESSE


Le 9/01/2010 20:56, Michel__D a écrit :
Heu et pourquoi tu n'as pas essayé de changer la date via le système
(en
bas à droite).

Fguy a écrit :
Bonsoir Michel_D,

Jusqu'à une certaine date, c'est à dire jusqu'au 20 janvier, on peut
recevoir des factures, mais on peut encore en faire jusqu'au 31
décembre de l'année précédente, à cause, par exemple des données
manquantes.
Comme les factures portent la date du jour, c'est à dire le 31
décembre, il faut que la date système soit le 31 décembre.
Maintenant, on écrit dans une table la date de consultation, la date
de fermeture etc. et on revient à la date du jour, c'est à dire à la
date d'ouverture de la base, il y a aussi un contrôle qui demande, si
on n'est pas revenu à la bonne date, si on bien à la bonne date,
alors, un calendrier s'affiche et on peut donc choisir la bonne date.
C'est assez complexe, mais comment faire autrement.
Tout ceci a été fait à la demande d'un copain-client :-)
@+

Fguy


Le 9/01/2010 18:18, Michel__D a écrit :
Re,

Ben je ne comprends toujours pourquoi tu dois changer la date système
et je suis comme Win7 je déconseille cette manipulation inappropriée.

Si c'est pour changer des dates dans une ancienne base, tu peux
utiliser
une requête de mise à jour.

Fguy a écrit :
Bonjour,

Merci de ta réponse :-)
En fait, je dois charger une table d'une autre année.
Par exemple, je veux aller voir la table dépenses pour 2008, j'ai
une
liste modifiable qui me donne les années pour lesquelles existent
une
table dépenses.
Je dois donc détacher la table et en charger une autre qui aurait
cette date.
Remarque que sous XP, aucun problème, avec Office 2007 ou 2010, sous
xp pas de problème par contre sous Win7, là, ça coince.
@+











Je crois que Michel_D vous l'a bien laissé entendre : c'est un problème
de droits. Avec Win 7 (et sans doute sous Vista aussi), il n'est pas
autorisé de changer la date système. Bien sûr, il doit sans doute
suffire de désactiver l'UAC (chercher ces mots sur Internet...), mais ce
serait sûrement mieux d'avoir une variable de type date initialisée à la
date du jour pour mettre dans la table, et modifiée au 31/12 de l'année
précédente en tant que de besoin.
Cela éviterait d'avoir à mettre à jour la date système (et éviterait
aussi l'usine à gaz de la remise à la date du jour...)

db





1 2