Bonjour,
Voici mon problème. J'ai une base de donnée pour mon suivi commercial.
Cette base comprend entre autres :
- une table « Société » dans lequel il y a un champ « Nom de société » et un autre "Commentaire".
- une table « prospects » rattachées à la table « Société ».
- un formulaire de recherche comportant une liste déroulante qui permet d'effectuer une recherche sur tous les noms de société.
- un formulaire de recherche comportant une liste déroulante qui permet d'effectuer une recherche sur tous les noms de prospects.
Une sélection dans la liste déroulante ouvre la fiche (de la Société ou du Prospect) sélectionnée.
Première erreur :
Il m’arrive de me tromper de formulaire de recherche. Par exemple, je le nom d’un prospect dans le formulaire destiné à rechercher une société. J’efface alors ce que je viens d’écrire puis je clique dans l’autre formulaire pour effectuer ma recherche.
J’obtiens alors l’une des deux erreurs suivantes :
Erreur d’éxecution ‘3075’ :
Erreur de syntaxe (opérateur absent) dans l’expression ‘[N°Prospect]=’
Ou
Erreur d’éxecution ‘3075’ :
Erreur de syntaxe (opérateur absent) dans l’expression ‘[N°Sociétét]=’
Je peux ensuite choisir entre « FIN » et « DEBOGAGE »
Si je sélectionne DEBOGAGE, j’arrive à la fenêtre Visual Basic et j’ai une partie du code qui est surligné en jaune (en gras ici) :
Dans un sens :
Et dans l’autre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub LIMNomSocRecherche_AfterUpdate() Dim stDocName As String Dim stLinkCriteria As String stDocName = "Saisie société" stLinkCriteria = "[N°Société]=" & Me![LIMNomSocRecherche] DoCmd.OpenForm stDocName, , , stLinkCriteria LIMNomSocRecherche = "" End Sub
Cette erreur n’a jamais été gênante jusqu’à présent. Il suffisait de cliquer sur FIN quand nous avions l’erreur et de passer à autre chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub LIMProspectRecherche_AfterUpdate() Dim stDocName As String Dim stLinkCriteria As String stDocName = "Saisie prospect" stLinkCriteria = "[N°Prospect]=" & Me![LIMProspectRecherche] DoCmd.OpenForm stDocName, , , stLinkCriteria LIMProspectRecherche = "" End Sub
Malheureusement, hier nous avons eu un autre problème un peu similaire mais beaucoup plus ennuyeux.
Nous avons effectué une recherche via un des deux formulaires. Nous avons ouvert un prospect en double cliquant dans la liste déroulante. Puis depuis la fiche prospect nous avons double cliquer sur le champ ListeARelancer. Nous avons eu alors le message d’erreur suivant :
Erreur d’exécution ‘2501’ :
L’action OpenForm a été annulée
En cliquant sur DEBUGAGE nous avons eu ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub LstARelancer_DblClick(Cancel As Integer) Dim varItem As Variant Dim stDocName As String Dim stLinkCriteria As String stDocName = "Saisie prospect" With Me.LstARelancer If Not IsNull(.Value) Then stLinkCriteria = "[N°Prospect]=" & .Value DoCmd.OpenForm stDocName, , , stLinkCriteria End If End With End Sub
Le problème que nous avons rencontré après le bug est que quand nous voulions modifier les champs « Commentaires » ou « Email » de certaines fiches Prospects nous obtenions le message suivant :
Argument non valide
Pour certaines fiches prospects, nous n’avons aucun problème.
Ce problème est très ennuyeux car nous ne pouvons mettre à jour certaines fiches prospects de notre base.
Toute aide sera la bienvenue.
Dans tous les cas, bonne année 2010 à tous,
Pierre C.
Partager