2017-07-19 1 views
0

J'ai hérité d'une base de données Access 2010 et rencontre un problème avec un formulaire qui a cessé de fonctionner après la migration du serveur vers le serveur SQL.Comment puis-je corriger un accès «Impossible d'accéder à l'enregistrement spécifié» Access 2010

La forme est assez simple, c'est un sous-formulaire qui s'ouvre et affiche une grille pour les commentaires qui ont été entrés. Il y a un bouton "Ajouter un nouveau" sur le formulaire qui devrait permettre à l'utilisateur d'insérer un nouveau commentaire. le code de ce bouton ressemble à ceci:

Private Sub cmd_new_comment_Click() 
On Error GoTo Err_cmd_new_comment_Click 

DoCmd.GoToRecord , , acNewRec 
DoCmd.GoToControl ("com_date") 
Me.ActiveControl = Now() 
DoCmd.GoToControl ("com_comments") 

Exit_cmd_new_comment_Click: 
Exit Sub 

Err_cmd_new_comment_Click: 
MsgBox Err.Description 
Resume Exit_cmd_new_comment_Click 

End Sub 

Lorsque je clique sur le bouton « Ajouter Nouveau » Je reçois le message d'erreur « vous ne pouvez pas aller dans le dossier spécifié ».

Je crois que les données ne sont pas le problème parce que quand j'ouvre le formulaire de commentaires je peux voir tous les commentaires précédents c'est seulement un problème quand je veux ajouter un nouveau commentaire.

+0

Lorsque vous dites un sous-formulaire qui "s'ouvre", cela implique qu'il ne s'agit pas réellement d'un sous-formulaire mais d'un formulaire déroulant? Si c'est le cas, je soupçonne qu'il est ouvert filtré à l'enregistrement principal par le champ ID parent de la forme appelante. Si c'est vraiment un sous-formulaire, il semble que la relation Parent/enfant soit brisée d'une manière bizarre, ou que le sous-formulaire ne soit pas configuré pour permettre des ajouts? – Minty

+0

Je suis désolé Minty et je dois m'excuser. Je me suis trompé le formulaire n'est pas un sous formulaire, c'est une forme autonome qui s'ouvre comme un pop-up. Le formulaire est défini pour autoriser les ajouts. – Perry

+0

Pour être honnête, le plus simple serait d'en faire un sous-formulaire. Ensuite, l'ID parent deviendrait par défaut le bon et les ajouts seraient simples. Vous pouvez toujours masquer/afficher le sous-formulaire en fonction de votre pression sur le bouton. – Minty

Répondre

0

était le champ PK dans le type de table Access autoNumber? Si c'est le cas, vous devez définir une spécification d'identité dans la conception de la table sur SQL Server.

+0

En fait, la table Access ne possédait aucune clé primaire. J'ai essayé d'ajouter une clé primaire à la table SQL, mais cela n'a pas aidé ?? – Perry

+0

Donc, quand vous avez commencé, il n'y avait pas PK sur le côté SQL? Pouvez-vous ajouter un nouveau commentaire dans la source d'enregistrements du sous-formulaire? Pouvez-vous ajouter d'autres données sur le serveur? – Beth

+0

J'ai obtenu le formulaire pour travailler et c'est ce que j'ai fait. J'ai ajouté une clé primaire à la table. Puis recréé le formulaire et l'a utilisé comme sous-formulaire. Cela fonctionne maintenant. Merci pour toutes les suggestions. – Perry