[RESOLU][SQL/Access]Impossibilité de modifier le contenu de mes tables

Impossibilité de modifier le contenu de mes tables [RESOLU][SQL/Access] - SQL/NoSQL - Programmation

Marsh Posté le 10-10-2005 à 15:14:43    

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
Reply

Marsh Posté le 10-10-2005 à 15:14:43   

Reply

Marsh Posté le 10-10-2005 à 16:06:27    

No ide

Reply

Marsh Posté le 10-10-2005 à 16:07:12    

oups dsl pour le post foireux, je voulais savoir : personne n'as d'idee plz ?

Reply

Marsh Posté le 10-10-2005 à 16:14:26    

Peut-être qu'il faudrait essayer en remplaçant "Trusted_Connection=Yes;" par "User ID=un_compte_utilisateur;Password=un_mot_de_passe;"

Reply

Marsh Posté le 10-10-2005 à 16:22:15    

Merci pour ta réponse, je viens de tester il aime pas : erreur d'éxécution invalid opération
 
Ce que je comprend pas c'est que les permissions sont définies je vois pas pourquoi sa coince...

Reply

Marsh Posté le 10-10-2005 à 23:37:26    

c'est un probleme de droits tu as raison mais la je vois pas le pb dans le code
tu es sur que le user a bien les droits en insert/update/delete (as tu teste en dehors de VBA?)

Reply

Marsh Posté le 11-10-2005 à 08:49:06    

oui c'est ça le pb mon utilisateur dans entreprise manager est definie sur le nom de ma base, avec les droits public, db_datareader, db_datawriter je pense que c'est bon... ai-je oublié kk chose ?
 
Sinon j'ai tester en dehors du VBA, dans l'onglet table sous access lorsque je ve supprimer un enregistrement (menu contextuel) l'option supprimer est grisé.... si je tape dans la case le pc bip...  
 
Il ve pas quoi.
 
J'ai toujours pas trouvé et j'ai jamais vu sa.
Merci pour vos réponses

Reply

Marsh Posté le 13-10-2005 à 11:28:32    

J'ai trouvé . Enfin maintenant ça fonctionne je n'explique pas pourquoi sa ne fonctionnait pas mais à la place d'aller chercher les données depuis le serveur SQL dans Access j'ai utiliser l'assistant d'access pour envoyer mes données sur le serveur.
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed