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

erreur 3027 avec table lié sur fichier excel

1 réponse
Avatar
GOLD
Bonjour,
Lorsque je lie manuellement un fichier excel à ma base mdb, mon programme
parvient à mettre à jour la table liée excel.
Lorsque je lie par programmation avec le programme ci-dessus, la table se
retrouve lié en lecture seule !!
Je vois bien que ce problème est décrit sur le net mais le correctif ne me
semble pas clair.
Quelqu'un aurait t'il de l'expérience dans ce domaine.

Merci d'avance jacques

Voici le programme employé pour lié le fichier excel à ma base
___________________________________________________________________________________
Sub link_this_xls(strNewAccTable As String, strXLFileName As String,
strImportSheet As String)

'test = link_this_xls "tb_xls_art" ,dir_data & "rp_tri_client_liv.xls",
"rp_tri"

' Variables:
' strNewAccTable - the name of your new linked table.
' strXLFileName - the path and name of your Excel file. This
' should be in the form "C:\MyDir\MyFile.xls."
' strImportSheet - the name of the sheet you want to link.
' All these variable are strings, and should be supplied to the
' subroutine enclosed in quotation marks.

On Error GoTo XLError

Dim db As Database
Dim td As TableDef

Set db = CurrentDb

' Create a new TableDef using the passed name.
Set td = db.CreateTableDef(strNewAccTable)

' Set the ConnectString property to the Excel file to link.
' In Microsoft Access 7.0, the ConnectString needs to reflect the
' version of Excel. Remove the apostrophe from the Excel 5.0
' line and comment out the Excel 8.0 line when working with
' Excel 5.0/95.
' td.Connect = "Excel 5.0;DATABASE=" & strXLFileName & ";"
td.Connect = "Excel 8.0;DATABASE=" & strXLFileName & ";"
td.SourceTableName = strImportSheet & "$"

' Append the new TableDef to the TableDefs collection.
db.TableDefs.Append td

Exit_link_this_xls:
Exit Sub

XLError:
MsgBox Err.Number & " " & Err.Description
Resume Exit_link_this_xls

End Sub

1 réponse

Avatar
GOLD
pour ceux qui pourraient avoir ce problème...

Comme cela marchait sur une machine et pas sur l'autre j'ai fini pas
comprendre
Sur la machine où j'avais office 2003 cela marche, sur celle avec office
2003 sp3 cela ne marche plus
Il s'agit donc d'une régression avec confirmation sur le net...

======================================================== J'utilisais sans problème des tables liées à Excel sous Access 2000 et 2002
et j'ai voulu en faire la démonstration à un utilisateur d'Access 2003...

Mal m'en a pris car son classeur Excel a été littéralement explosé par une
requête ajout ! fichier corrompu, quasiment illisible et bon à jeter. Ouf,
ce n'était qu'une copie de copie...

Après enquête à l'aide de ce brave et honnête Google j'ai appris sur le site
de Microsoft que :

"Vous ne pouvez pas modifier, ajouter ni supprimer des données dans des
tables liées à un classeur Excel dans Access 2007, Access 2003 et Access
2002 (avec mise à jour du 18/10/2005)"

Cause :

"Ce comportement est normal..." (sic)

et la meilleure :

Contournement
"Pour contourner ce comportement normal, ..."

Et je n'invente rien, la preuve :
http://support.microsoft.com/kb/904953/fr