Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2011, 03h05   #1
Membre régulier
 
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 76
Points : 76
Par défaut Erreur 2447 inexpliquée

Bonjour à tous,

Dans un formulaire qui marchait parfaitement et que je n'ai pas modifié dernièrement apparaît soudainement une erreur 2447, voici la ligne que l' éditeur signale :

Code :
1
2
3
4
5
6
7
If IsNull(Me.IdLigne) = True Then
 
DoCmd.SetWarnings False
 
DoCmd.RunSQL "INSERT INTO [Détails Devis et Factures] (NumDocument,IdClient,IdProduitPrestation,Quantité,Remise,[Prix HT],Détails,Description,Code,[Taux TVA],[Prise en compte attestation fiscale],Durée,TauxRemise,TotalRemise) VALUES ('" & Me.NumDocument & "','" & Me.IdClient & "','" & Me.IdProduitPrestation & "','" & Me.Quantité & "','" & Me.Remise & "','" & Me.PrixHT & "','" & Me.Détails & "','" & Me.Description & "','" & Me.Code.Column(1) & "','" & Me.TauxTVA & "','" & Me.AttestationFiscale & "','" & Me.Durée & "','" & Me.TauxRemise & "','" & Me.TotalRemise & "' )"
 
DoCmd.SetWarnings True
Personnellement je ne vois aucune erreur de frappe, ni point, ni virgule mal placés, d' où cela peut il venir tenant compte que l'erreur n'existait pas avant ?

merci
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 05h26   #2
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
Bonjour

Erreur 2447, ce n'est pas très parlant. Avez-vous le texte du message de cette erreur?

Pierre
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 12h59   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 76
Points : 76
Voici le message :

Erreur 2447
"Utilisation non valide du point (.), du point d'exclamation (!) ou de parenthèses."

Merci
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 13h49   #4
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Salutations,

Je vois des champs qui contiennent probablement des nombres décimaux (prix HT par exemple). Est-ce que ton me.PrixHT peut-être décimal ?
Si c'est le cas, il faut que tu remplace la "," des nombres décimaux par des "." car les virgules sont mal interprétées dans le string de construction de ta requête.

Au cas où tu ne l'ai pas, je te mes ci-dessous les 2 fonctions qui vont ensemble et qui te permettront de remettre tes décimaux au bon format :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function DotToPoint(valeur As Double) As String
 
   DotToPoint = "0"
   Dim Partie As Long, Reste As Double
   Partie = Tronquer(valeur, 0)
   If valeur - Partie <> 0 Then
      Reste = valeur - Partie
      DotToPoint = Partie & "." & Mid(Reste, 3, 2)
   Else
      DotToPoint = Partie
   End If
 
End Function
 
Function Tronquer(Nombre As Double, NbDecimal As Integer) As Double
Tronquer = Int((Nombre * 10 ^ NbDecimal)) / (10 ^ NbDecimal)
End Function
Pour l'utilisation un simple :

Cordialement,
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 18h05   #5
Membre régulier
 
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 76
Points : 76
Merci pour ta généreuse réponse mais malheureusement ça ne venait pas de là, la requête était correcte, c'est la référence à des champs invisibles du formulaire sous-jacent qui n' était plus correcte...

Tout est rentré dans l'ordre

Merci beaucoup
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h36.


 
 
 
 
Partenaires

Hébergement Web