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

VBA Access Discussion :

erreur "3421" convertion de type de données


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Par défaut erreur "3421" convertion de type de données
    Bonjour,
    Désolé pour cette question de débutant dans le VBA.
    j'ai récupéré le code si dessous pour établir la liste des tables de la base courante le code est celui de Fabrice Constans:Formulaire de recherche prêt à
    l'emploi.(nouvelle version)
    Cette fonction me fait une erreur à la compilation sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst.Fields(0) = qrs(i).Name
    erreur 3421 convertion de type de données
    voici le code complet:
    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
    Function lf_GetTableList()
    ' renseigne la table tbl_TemplstTbl
    Dim qrs As TableDefs
    Dim rst As Recordset
    Dim strSql As String
    Dim i As Integer, j As Integer
    ' efface la table temporaire
    DoCmd.SetWarnings False
    strSql = "Delete tbl_TempLstTbl.*"
    strSql = strSql + " FROM tbl_TempLstTbl;"
    DoCmd.RunSQL strSql
    ' rempli la table temporaire
    Set qrs = CurrentDb.TableDefs
    Set rst = CurrentDb.OpenRecordset("tbl_TempLstTbl")
    For i = 0 To qrs.Count - 1
    ' ecarte les tables temp et systeme
    If Not (qrs(i).Name Like "*Temp*") And Not (qrs(i).Name Like "Msys*") And Not (qrs(i).Name Like "*tmp*") Then
    rst.AddNew
    rst.Fields(0) = qrs(i).Name
    rst.Update
    End If
    Next
    lf_GetTableList = rst.RecordCount
    rst.Close
    Set rst = Nothing
    Set qrs = Nothing
    DoCmd.SetWarnings True
    End Function
    quelqu'un peut-il m'aider et m'expliquer : je n'ai pas réussi à faire le lien
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    C'est une erreur de conversion, mais le message le dit déjà.

    On peut par exemple retrouver cette erreur si tu veux entrer du texte dans un champ numérique.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Par défaut
    Je suis novice en VB, mais le C et le Pascal me sont familiers.
    En fait je pense que l'erreur est générée par les déclarations des variables qui sont de types différents:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim qrs As TableDefs
    Dim rst As Recordset
    et qu'au moment de l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst.Fields(0) = qrs(i).Name
    l'erreur est produite.
    ce code a déjà très certainement tourné, et de plus il était fait par quelqu'un de compétent. C'est là mon interrogation ?
    pouvez-vous m'expliquer les types de variables déclarées et
    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Il n'y a pas que le code qui compte.

    La table qui reçoit les données aussi.
    Pour ce qui concerne les Recordset et les TableDef, jette un oeil au lien ci-dessous.
    http://warin.developpez.com/access/dao/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Par défaut
    Bonjour,

    J'ai copié le même code que cacit_boss et je suis tombée sur le même problème.

    Est-ce que finalement quelqu'un avait trouvé une solution qui ne serait pas écrite ici ?

    Si oui je veux bien l'avoir, parce que là, je craque !
    un énorme merci d'avance.

    Cordialement,

  6. #6
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Ce sont les types des enregistrements de vos tables qui ne sont peut-être pas les mêmes que ceux du code

Discussions similaires

  1. Convertion de type de données
    Par Ljosse dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/12/2008, 20h36
  2. Erreur de convertion de type de données
    Par ben_skywalker dans le forum Access
    Réponses: 14
    Dernier message: 06/06/2006, 11h39

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