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

VB 6 et antérieur Discussion :

ERREUR D EXECUTION "3421" erreur de conversion de type de données


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut ERREUR D EXECUTION "3421" erreur de conversion de type de données
    salut tous le monde
    j'essay de creer une table avec des champs ùmais il ya une erreur 3421

    merci d'avance
    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
     
    Private Sub Command2_Click()
    Dim W As Workspace
    Dim BD As Database
    Dim t As TableDef
    Dim F As Field: Dim R As Recordset
     
    p = App.Path & "\ma_base.mdb": If Dir(p) <> "" Then Kill p
     
    Set W = DBEngine.Workspaces(0)
    'creer la base de donneé
    Set BD = W.CreateDatabase(p, dbLangGeneral, dbVersion30)
    'creer la table
    Set t = BD.CreateTableDef(tab_name.Text)
    'creer les champs
    For x = 0 To f1.ListCount - 1
    Set F = t.CreateField(field_name.List(x), field_type.List(x), 100)
    t.Fields.Append F
    Next x
     
    BD.TableDefs.Append t
    W.Close
     
    End Sub

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Et donc le jeu est deviner la ligne où se produit l'erreur ? C'est ça ?

  3. #3
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je suis un crack et je connais absolument tous les codes erreurs de Vb.

    Ha, je voudrais bien. Je dois dire que code erreur 3421 ca me parle pas beaucoup.

    Donnes nous le texte de l'erreur et la ligne ou elle se produit, ça nous aiderai à t'aider.

    Edit, grillé par OhMonBato , que je salue au passage

  4. #4
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut
    Set F = t.CreateField(field_name.List(x), field_type.List(x), 100)
    l'erreur et dans cette ligne merci

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Et que contient field_name.List(x) et field_type.List(x) au momment de l'éxécution ?
    Normalement la liste field_type ne devrait contenir que des chiffres allant de 1 à , heu, 15 je crois.
    Par exemple, Si tu veux creer un champs texte, c'est 10 qui doit être fourni .

  6. #6
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut
    field_name="nom":field_type="dbText"
    field_name="prenom":field_type="dbText"
    field_name="ville":field_type="dbText"

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut ùmais il ya une erreur 3421
    Bonjour,

    Je constate une chose,chaque fois qu'il y a une erreur à tel numéro, on appelle à l'aide pour un rien Developpez.com.
    C'est un peu trop facile alors qu'il suffit d'en chercher la raison .
    Si VB6 se plante c'est qu'il y a une erreur de logique ou de programmation .
    Quand je vois que l'on dit ,c'est VB6 qui déconne ,je n'y crois pas.
    On devrait être plus humble quand on programme car les erreurs proviennent souvent d'un manque de rigueur ou de logique dans l'encodage ou la programmation.
    Ceci est mon avis , à d'autres plus expérimenté que moi comme
    Bbill, Delbeke, OhMonBato, et j'en oublie de rectifier ma pensée.
    Je m'excuse d'être un petit peu sèvère.

    A+ à tous

  8. #8
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    La fonction CreateField attend en second paramètre un entier, pas un texte. Or ta listbox contient le litéral "DbText" .
    Dans vb, il y a une constante prédéfinie DbText qui vaut 10 ! ce qui n'a rien à voir avec la chaine de texte "DbText", qui vaut "DbText"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/06/2007, 23h07
  2. 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