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 :

insertion en base toujours en erreur


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 71
    Points
    71
    Par défaut insertion en base toujours en erreur
    Bonjour,

    Voilà j'essaie d'insérer mes données d'un fichier excel en base mais j'ai toujours la même erreur : point virgule absent
    J'ai vérifier ma requête une dizaine de fois et je ne vois pas ou il y a un point virgule qui manque

    Voici mon code :
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open(strFichierTmp)
    'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)
     
    varsql = "DELETE FROM OPEDEP_TRANSACGPF"
     
    Session.Database.Execute (varsql)
    Session.Database.CommitTrans
     
    'Dim djour As Date
     
    djour = FormatDateTime(Now, vbGeneralDate)
    i = 2
    For Each minti In wsExcel.Range(wsExcel.Cells(2, 1), wsExcel.Cells(6536, 1).End(xlDown))
        varsql = "INSERT INTO OPEDEP_TRANSACGPF"
        varsql = varsql & "("
        varsql = varsql & "OPE_COD, "
        varsql = varsql & " LIB_OPE_COD, "
        varsql = varsql & " OPE_COD2, "
        varsql = varsql & " LIB_OPE_COD2, "
        varsql = varsql & " OPE_COD3, "
        varsql = varsql & " LIB_OPE_COD3, "
        varsql = varsql & " OPE_COD4, "
        varsql = varsql & " LIB_OPE_COD4, "
        varsql = varsql & " CAT_VAL, "
        varsql = varsql & " LIB_CAT_VAL, "
        varsql = varsql & " DEP_COD, "
        varsql = varsql & " DEP_LIB, "
        varsql = varsql & " TYPE_TRANSAC, "
        varsql = varsql & " TYPE_TRANSAC_LIB, "
        varsql = varsql & " TYP_FLUX_GPF, "
        varsql = varsql & " SENS_MVT, "
        varsql = varsql & " INDIC_COE, "
        varsql = varsql & " INDIC_SINFONI, "
        varsql = varsql & " INDIC_PCB, "
        varsql = varsql & " INDIC_GPF, "
        varsql = varsql & " INDIC_CET, "
        varsql = varsql & " NUM_VERSION, "
        varsql = varsql & " DT_MAJ, "
        varsql = varsql & " DT_DEB_VALID"
        varsql = varsql & ")"
        varsql = varsql & " VALUES( '" & Trim(wsExcel.Cells(i, 1))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 2))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 3))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 4))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 5))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 6))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 7))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 8))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 9))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 10))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 11))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 12))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 13))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 14))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 15))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 16))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 17))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 18))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 19))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 20))
        varsql = varsql & "', '" & Trim(wsExcel.Cells(i, 21))
        varsql = varsql & "', " & 1
        varsql = varsql & ", " & djour
        varsql = varsql & ", " & djour
        varsql = varsql & ")"
     
        On Error GoTo ErreurFatale
        Session.Database.Execute (varsql)
     
        i = i + 1
        Session.Database.CommitTrans
    ErreurFatale:
        Exit For
     
    Next
    Aidez-moi à trouver cette erreur...

  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
    tout a la fin peut etre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    varsql = varsql & ");"
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Ou bien ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    varsql = varsql & ", " & djour
    Tu concatènes un string et une date, faut peut-être la formater, au hasard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    varsql = varsql & ", #" & format(djour, "dd/mm/yyyy") & "#"

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 71
    Points
    71
    Par défaut
    en fait l'erreur c'est "virgule absente" je me suis trompé...

    J'ai tout de même essayé ta proposition oh mon bato mais ça ne fonctionne pas non plus

    Je m'arrache dessus depuis plus de deux heures je ne comprends pas pourquoi...

    Pour le formatage de la date çà ne fonctionne pas non plus

    Peut être parce que qu'il peut y avoir des valeurs vides ce qui donnerai des chose commes çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ... VALUES('truc', '', 1...)
    Ca fonctionne çà non?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 71
    Points
    71
    Par défaut
    Pour le formatage de la date ca me met l'erreur suivante: 'Caractère non valide'

    Je désespère

    aidez-moi

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 71
    Points
    71
    Par défaut
    J'ai localiser le problème, c'est les dates qui posent problème...

    Qu'est-ce qui manque alors pour qu'il prenne en compte ma date?

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 170
    Points
    17 170
    Par défaut
    dans ton premier post
    varsql = varsql & "', " & 1 ' c'est quoi ce 1
    varsql = varsql & ", " & djour
    varsql = varsql & ", " & djour ' normal 2 fois la même ligne ?
    varsql = varsql & ")"
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 71
    Points
    71
    Par défaut
    Oui Oui c'est normal mais c'est bon j'ai remplacé le format par autre chose, une fonction qui était présent dans l'application que j'utilise (peut pas mettre désolé)

    Merci à tous

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

Discussions similaires

  1. Erreur d'insertion en base avec SaveChanges()
    Par thamak dans le forum Entity Framework
    Réponses: 4
    Dernier message: 29/07/2015, 09h25
  2. Insert en base renvoie une erreur
    Par maStarlette77 dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 27/06/2011, 17h20
  3. Insert dans base Access qui ne se fait pas, mais sans erreur
    Par muppetshow dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/01/2010, 21h37
  4. Réponses: 3
    Dernier message: 29/07/2009, 12h25
  5. Réponses: 6
    Dernier message: 09/06/2006, 12h17

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