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

10 réponses

1 2
Avatar
Fguy
J'ai oublié de dire que je suis Win7 et Office 10 vosi en outre les
références:

-Visual Basic for Applications
-Microsoft Access 10.0 object library
-Microsoft DAO 3.6 object library
-Ole Automation
-Microsoft activeX data object 2.1 library
-Microsoft Office 10 object library
-Microsoft Office Euro converter object library
-Microsoft Calendar control 10.0
-Microsoft scripting Runtime
-Microsoft VBscript Regular Expression 5.5

@+

Fguy

Le 8/01/2010 11:03, Fguy a écrit :
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:BaseAccessListePrixtablesDépenses" & chCritères & ".mdb"
chem = "C:BaseAccessListePrixListePrix01.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


Avatar
Michel__D
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères &
".mdb"
chem = "C:BaseAccessListePrixListePrix01.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


Avatar
Fguy
re-bonjour,

après vérification, notamment un essai avec XP, ce serait Windows 7 qui
empêcherait la fonction DATE qui serait bloquée par Win7, mais comment
faire pour passer outre de cette interdiction?
Merci à tous pour trouver la solution, j'ai regardé un peu partout, sans
résultat.
@+

Fguy


Le 8/01/2010 11:03, Fguy a écrit :
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:BaseAccessListePrixtablesDépenses" & chCritères & ".mdb"
chem = "C:BaseAccessListePrixListePrix01.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


Avatar
Fguy
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.
@+

Fguy

Le 9/01/2010 11:27, Michel__D a écrit :
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères & ".mdb"
chem = "C:BaseAccessListePrixListePrix01.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




Avatar
Michel__D
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.
@+

Fguy

Le 9/01/2010 11:27, Michel__D a écrit :
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères & ".mdb"
chem = "C:BaseAccessListePrixListePrix01.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







Avatar
Fguy
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.
@+

Fguy

Le 9/01/2010 11:27, Michel__D a écrit :
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères & ".mdb"
chem = "C:BaseAccessListePrixListePrix01.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









Avatar
Michel__D
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.
@+

Fguy

Le 9/01/2010 11:27, Michel__D a écrit :
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères &
".mdb"
chem = "C:BaseAccessListePrixListePrix01.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












Avatar
Fguy
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.
@+

Fguy

Le 9/01/2010 11:27, Michel__D a écrit :
Bonjour,

Fguy a écrit :
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



MyDate est de type String ???

Pas besoin d'aller plus loin, enfin si, que veux-tu faire parce que
changer la Date
c'est pas vraiment un truc à faire.

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:BaseAccessListePrixtablesDépenses" & chCritères &
".mdb"
chem = "C:BaseAccessListePrixListePrix01.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














Avatar
db
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
Avatar
Fguy
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