Bonjour,
J'ai crée un client Access qui sert d'interface pour ma base de données stockées sur un serveur SQL.
J'ai au début crée toutes mes tables sous access en les utilisants en tant que tables liées.
Maintenant que le client est finit, j'ai envoyer mes tables sur mon serveur SQL, l'opération s'est très bien déroulée, à l'aide de lien ODBC(voir plus bas) pour les tables (initialisé dans la macro autoexec d'access) je cree la connexion.
Mon client démarre alors tout se passe bien (je vois les informations dans mes formulaires) mais lorsqu'il doit modifier des valeurs dans une table ou alors les supprimer je reçoit un message d'erreur : "Erreur d'éxécution '3086' Could not delete from specified tables."
Autre chose, si dans access je vais dans l'onglet table, j'en ouvre une en consultation, je clique droit sur un enregistrement, les options supprimer, modifier sont grisés... (Juste pour dire que je ne pense pas que se soit ma requete de suppression qui soit mal codée...)
Je crois que je n'ai pas les droits...
Pourtant coté serveur (sous entreprise manager pour SQL serveur) j'ai tout bien configurer : dans user j'ai cree un usert1 auquel j'ai attribuer les droits public, db_datareader, db_datawriter.
Ensuite je connecte mon 2eme poste avec le compte windows usert1.
Je suis sous Windows 2000.
Merci pour vos réponses.
ps : Voici le lien ODBC que j'utilise pour mes tables :
[cpp]Function Autoexec()
Dim bd As Database
Dim tbl As TableDef
Dim NbTableDefs As Integer
Dim i As Integer
Dim serveur As String
'Créer la saisie du nom du serveur par l'utilisateur; nom en dur pour les tests
serveur = "*****" 'désolé confidentiel
Set bd = CurrentDb()
NbTableDefs = bd.TableDefs.Count
i = 0
While i < NbTableDefs
Set tbl = bd.TableDefs(i)
If tbl.Connect <> "" And tbl.Connect <> "ODBC;DRIVER=SQL Server;Trusted_Connection=Yes;DATABASE=LOG_EE;TABLE=" & tbl.Name & ";SERVER=" & serveur Then
tbl.Connect = "ODBC;DRIVER=SQL Server;Trusted_Connection=Yes;DATABASE=LOG_EE;TABLE=" & tbl.Name & ";SERVER=" & serveur
tbl.RefreshLink
End If
i = i + 1
Wend
bd.Close
DoCmd.OpenForm "LOG_EE", acNormal
End Function
Message édité par sLiZeR le 13-10-2005 à 11:27:01