IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

erreur de conversion de type de donnée


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 35
    Points
    35
    Par défaut erreur de conversion de type de donnée
    Bonjour à tous,
    voilà j aimerai à partir de ce module créer un nouvel enregistrement dans ma table en stockant les valeur de mon formulaire que je saisi à la main.
    En Fait dans mon formulaire j appelle la fonction MAJ_BaseAffaire Me
    Le problème est que j ai le message d'erreur suivant :
    "ERREUR D EXECUTION "3421" erreur de conversion de type de données "

    Voici mon code :
    j ai la ligne en rouge qui est pointée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    
    Function MAJ_BaseAffaire(oform As Form)
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
            Set db = CurrentDb
            Set rs = db.OpenRecordset("Référence LOC", dbOpenDynaset)
     
     
        rs.AddNew
        
        rs![LOC] = oform.liste1
     
        rs![Date de Réference] = oform.Date_de_REF
        
        
       ' rs![Axe long E1] = oform.Axe_long_E1.Value
       ' rs![Axe1 E1] = oform.Axe1_E1.Value
        'rs![Axe2 E1] = oform.Axe2_E1.Value
        'rs![ML long E1] = oform.ML_E1.Value
        
        
        'rs![Axe long E2] = CStr(Axe_long_E2)
        'rs![Axe court E1] = CStr(Axe1_E2)
        'rs![Axe2 court E1] = CStr(Axe2_E2)
        'rs![ML E2] = CStr(ML_E2)
        
        'rs![Axe court E1] = Axe_court_E1
        'rs![Axe1 court E1] = Axe1_court_E1
        'rs![Axe2 court E1] = Axe2_court_E1
        'rs![ML court E1] = ML_court_E1
        
        'rs![Axe court E2] = Axe_court_E2
        'rs![Axe1 court E2] = Axe1_court_E2
        'rs![Axe2 court E2] = Axe2_court_E2
        'rs![ML court E2] = ML_court_E2
        
        'rs![Espace 90 E1] = DDM_90_E1
        'rs![Espace 150 E1] = DDM_150_E1
        'rs![Fsc1 E1] = Fsc1_E1
        'rs![Fsc2 E1] = Fsc2_E1
        
        'rs![Espace 90 E2] = DDM_90_E2
        'rs![Espace 150 E2] = DDM_150_E2
        'rs![Fsc1 E2] = Fsc1_E2
        'rs![Fsc2 E2] = Fsc2_E2
        
        'rs![Clr 1 E1] = Clr_1_E1
        'rs![Clr 2 E1] = Clr_2_E1
        
        'rs![Clr 1 E2] = Clr_1_E2
        'rs![Clr 2 E2] = Clr_2_E2
        
        
            rs.Update
            rs.Close
        
        End Function
    Pourtant sur cette ligne j ai les 2 variables qui sont bien au format Date.
    J ai la même erreur sur toutes lignes du dessous pourtant les variables sont cette fois numériques.
    Merci aux bonnes ames.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    encadrer la date avec des # + conversion en m/j/aa (ou autre conversion en numérique : Int() si pas d'heure, CDbl() sinon)

    Philippe

  3. #3
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    A première vue les champs du formulaire sont indépendants donc non associés à un champ d'une source donc pas de type de données sinon du texte. Il te faut alors convertir la valeur en date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function MAJ_BaseAffaire(oform As Form)
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
            Set db = CurrentDb
            Set rs = db.OpenRecordset("Référence LOC", dbOpenDynaset)
     
     
        rs.AddNew
        
        rs![LOC] = oform.liste1
     
        rs![Date de Réference] = CDATE(oform.Date_de_REF)
    ...
    A+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 35
    Points
    35
    Par défaut erreur de conversion de type de données
    Bonjour, tout d abord merci pour les réponses.
    En fait apres analyse de vos réponses, j ai remarqué que lorsque je fait l affectation des champs de mon formulaire dans le new recordset de ma table celle ci sa fait correctement si tous mes champs contiennent une valeur.
    Par contre dès que j ai un des champs de mon formulaire qui ne contient aucune valeur ( donc vide je pense) alors ce message d'erreur apparait.
    Merci aux bonnes ames de m 'éclairer.

Discussions similaires

  1. Gestion des erreurs de conversion de type de données
    Par FMJ dans le forum Développement
    Réponses: 11
    Dernier message: 09/07/2009, 23h27
  2. Réponses: 3
    Dernier message: 06/07/2009, 15h54
  3. ERREUR D EXECUTION "3421" erreur de conversion de type de données
    Par bailamos dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/12/2008, 10h35
  4. Réponses: 2
    Dernier message: 05/06/2007, 23h07
  5. Erreur 3421, Erreur de conversion de type de données
    Par khorn dans le forum VBA Access
    Réponses: 13
    Dernier message: 01/06/2007, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo