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

Impossible de lire les enregistrements; pas d'autorisation de lecture sur 'MSYSOBJECTS

3 réponses
Avatar
codial
Bonjour,

Dans une routine d'importation je teste l'existence d'une table dans une
autre base que mon appli

Dim mydb As Database
Dim myrs As Recordset
Set mydb = OpenDatabase(Fichier)
Set myrs = mydb.OpenRecordset("select * from MSYSOBJECTS WHERE TYPE =1
AND NAME ='T_TTA SIMAT en Clair'")
If myrs.EOF Then
mess1 = "La table des critères de gestion contenant les données à
importer n'existe pas dans cette base."
MsgBox mess1, vbInformation, "Information"
Exit Function
End If


Le problème c'est que quand je la fais tourner sur certain poste j'ai le
message suivant:

"Impossible de lire les enregistrements; pas d'autorisation de lecture sur
'MSYSOBJECTS'"

Alors que sur le même poste je fais tourner une autre appli qui utilise
exactement la même fonction pour vérifier l'existence de la même table dans
la même base ça se passe bien.

J'ai testé chez moi pas d'erreur.

Je précise que les deux bases ont les mêmes références.

Quelqu'un a t il une explication et une solution.

D'avance merci

Codial

3 réponses

Avatar
Pierre CFI [mvp]
bonjour
comme j'aime pas trop tripoter les tables sys, je ferais
Sub verif()
Dim bd As Database
Dim t As TableDef
Set bd = OpenDatabase("d:accessexo access 97client_97.mdb")
On Error Resume Next
Set t = bd.TableDefs("client")
If t Is Nothing Then
MsgBox "Pas de table"
Err.Clear
Else
MsgBox "ok"
End If
bd.Close
End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de news:
Bonjour,

Dans une routine d'importation je teste l'existence d'une table dans une
autre base que mon appli

Dim mydb As Database
Dim myrs As Recordset
Set mydb = OpenDatabase(Fichier)
Set myrs = mydb.OpenRecordset("select * from MSYSOBJECTS WHERE TYPE =1
AND NAME ='T_TTA SIMAT en Clair'")
If myrs.EOF Then
mess1 = "La table des critères de gestion contenant les données à
importer n'existe pas dans cette base."
MsgBox mess1, vbInformation, "Information"
Exit Function
End If


Le problème c'est que quand je la fais tourner sur certain poste j'ai le
message suivant:

"Impossible de lire les enregistrements; pas d'autorisation de lecture sur
'MSYSOBJECTS'"

Alors que sur le même poste je fais tourner une autre appli qui utilise
exactement la même fonction pour vérifier l'existence de la même table dans
la même base ça se passe bien.

J'ai testé chez moi pas d'erreur.

Je précise que les deux bases ont les mêmes références.

Quelqu'un a t il une explication et une solution.

D'avance merci

Codial





Avatar
codial
Merci pour la réponse, je vais tester, mais je ne suis pas certain que celà
résolve mon pb, je te tiens au courant.

Codial


"Pierre CFI [mvp]" a écrit dans le message de
news:ObDXc$
bonjour
comme j'aime pas trop tripoter les tables sys, je ferais
Sub verif()
Dim bd As Database
Dim t As TableDef
Set bd = OpenDatabase("d:accessexo access 97client_97.mdb")
On Error Resume Next
Set t = bd.TableDefs("client")
If t Is Nothing Then
MsgBox "Pas de table"
Err.Clear
Else
MsgBox "ok"
End If
bd.Close
End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de news:


Bonjour,

Dans une routine d'importation je teste l'existence d'une table dans une
autre base que mon appli

Dim mydb As Database
Dim myrs As Recordset
Set mydb = OpenDatabase(Fichier)
Set myrs = mydb.OpenRecordset("select * from MSYSOBJECTS WHERE TYPE
=1


AND NAME ='T_TTA SIMAT en Clair'")
If myrs.EOF Then
mess1 = "La table des critères de gestion contenant les données
à


importer n'existe pas dans cette base."
MsgBox mess1, vbInformation, "Information"
Exit Function
End If


Le problème c'est que quand je la fais tourner sur certain poste j'ai le
message suivant:

"Impossible de lire les enregistrements; pas d'autorisation de lecture
sur


'MSYSOBJECTS'"

Alors que sur le même poste je fais tourner une autre appli qui utilise
exactement la même fonction pour vérifier l'existence de la même table
dans


la même base ça se passe bien.

J'ai testé chez moi pas d'erreur.

Je précise que les deux bases ont les mêmes références.

Quelqu'un a t il une explication et une solution.

D'avance merci

Codial









Avatar
codial
Re

J'ai modifié ma routine et effectivement chez moi ça marche bien, mais il
faut que je la teste au bureau lundi matin.

Encore merci

Codial


"Pierre CFI [mvp]" a écrit dans le message de
news:ObDXc$
bonjour
comme j'aime pas trop tripoter les tables sys, je ferais
Sub verif()
Dim bd As Database
Dim t As TableDef
Set bd = OpenDatabase("d:accessexo access 97client_97.mdb")
On Error Resume Next
Set t = bd.TableDefs("client")
If t Is Nothing Then
MsgBox "Pas de table"
Err.Clear
Else
MsgBox "ok"
End If
bd.Close
End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de news:


Bonjour,

Dans une routine d'importation je teste l'existence d'une table dans une
autre base que mon appli

Dim mydb As Database
Dim myrs As Recordset
Set mydb = OpenDatabase(Fichier)
Set myrs = mydb.OpenRecordset("select * from MSYSOBJECTS WHERE TYPE
=1


AND NAME ='T_TTA SIMAT en Clair'")
If myrs.EOF Then
mess1 = "La table des critères de gestion contenant les données
à


importer n'existe pas dans cette base."
MsgBox mess1, vbInformation, "Information"
Exit Function
End If


Le problème c'est que quand je la fais tourner sur certain poste j'ai le
message suivant:

"Impossible de lire les enregistrements; pas d'autorisation de lecture
sur


'MSYSOBJECTS'"

Alors que sur le même poste je fais tourner une autre appli qui utilise
exactement la même fonction pour vérifier l'existence de la même table
dans


la même base ça se passe bien.

J'ai testé chez moi pas d'erreur.

Je précise que les deux bases ont les mêmes références.

Quelqu'un a t il une explication et une solution.

D'avance merci

Codial