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

Macros et VBA Excel Discussion :

Vba Excel connecté à Mysql erreur 94 utilisation incorrect de nul


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Vba Excel connecté à Mysql erreur 94 utilisation incorrect de nul
    Bonjour,

    Je suis nouveau sur le site et je viens chercher un peu d'aide.
    Je débute dans VBA pour Excel.
    Je dois réaliser des formulaires dynamique.
    Formulaire que je connecte à une base de données Mysql.
    Je demande d'insérer un ISBN dans un inputbox et alors je fais un Select pour reprendre le titre,... Jusque là tout fonctionne bien.
    Mais une fois que je met un Isbn qui n'existe pas dans la base de données. J'ai une erreur 94 "utilisation incorrect de nul".
    Pourriez-vous m'aidez?
    Est-il possible de vérifier si l'isbn existe pas dans la base alors faire apparaitre un message "Isbn inexistant dans Base de données!"

    le debug me renvoi à la ligne TitreRep.Caption = rs(0)


    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
    Private Sub UserForm_Activate()
     
    Select Case MsgBox("Bonjour " & UCase(OSUserName) & Chr(10) & _
           "Veuillez préparer l'ISBN13", vbYesNo, "EAN13")
     
           Case vbYes
     
           Case vbNo
     
           MsgBox "A bientôt"
           ActiveWorkbook.Saved = False ' pour fermer Excel
            Application.Quit
     
    End Select
     
     
    Dim Today As Date
    Dim Isbn As String
     
     
        Today = Date
        DateRep.Caption = Today
     
    Isbn = InputBox("Veuillez Insérer un ISBN13?")
     
        IsbnRep.Caption = Isbn
     
    BtnBudgN.Value = True 'Bouton d'option Budget non coché par défautµ
     
     
     
     
    Dim Password As String
    Dim SQLStr As String
    Dim Server_Name As String
    Dim User_ID As String
    Dim Database_Name As String
     
     
     
    Set rs = CreateObject("ADODB.Recordset")
        Server_Name = "mysqlserver"
        Database_Name = "****"
        User_ID = "****"
        Password = "***"
     
        SQLStr = "SELECT A.GLB_ART_TIT1, A.GLB_ART_EDI_RES_CODE, A.GLB_CCM_CODE, A.GLB_ART_EDI_CODE, MAX(B.GLB_ART_TIR_CODE) + 1  FROM FAT_ART_ECR_OES A, FAT_ART_TIR B WHERE A.ART_OES_TOK_CODE = B.ART_OES_TOK_CODE AND  A.ART_OES_ISBN LIKE '" & Isbn & "'"
     
     
        Set Cn = CreateObject("ADODB.Connection")
        Cn.Open "Driver={MySQL ODBC 5.1 Driver};Server=" & _
                Server_Name & ";Database=" & Database_Name & _
                ";Uid=" & User_ID & ";Pwd=" & Password & ";"
     
        rs.Open SQLStr, Cn, adOpenStatic
     
     
        TitreRep.Caption = rs(0)
        EditeurRep.Caption = rs(1)
        CcmRep.Caption = rs(2)
        EditionRep.Caption = rs(3)
        TirageRep.Caption = rs(4)
     
     
        rs.Close
        Set rs = Nothing
        Cn.Close
        Set Cn = Nothing
     
     
     
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 137
    Points : 9 971
    Points
    9 971
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    j'ai pas énormément bossé sur les requêtes MySQL.

    De mémoire, on peut vérifier si rs n'est pas vide.


    au titre du champion du "bricolage quand j'y arrive pas", je positionnerai une gestion d'erreur sur cette ligne uniquement ... et la gestion génère le message indiquant que le ISBN n'existe pas

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    j'ai essayé, je n'y arrive pas à faire une gestion d'erreur sur rs. Je fais une gestion d'erreur sur RS(0)?
    Je ne sais même pas ou positionner ma gestion d'erreur dans le code, ni comment j'utilise un IF ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If rs.eof =false then
    TitreRep.Caption ="" &  rs(0)
        EditeurRep.Caption = "" & rs(1)
        CcmRep.Caption ="" &  rs(2)
        EditionRep.Caption = "" & rs(3)
        TirageRep.Caption = "" & rs(4)
    End lf

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonsoir rdurupt,

    Ça fonctionne, c'est génial !!!

    J'ai ajouté après le code que tu m'as envoyé une condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If TitreRep.Caption = "" Then
            MsgBox "ISBN13 Invalide!", vbCritical
     End If
    Tout est ok!
    Un tout grand merci pour votre aide

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

Discussions similaires

  1. [VBA-EXCEL] Gestion des erreurs et manipulation du contenu d'une cellule
    Par Froggy007 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/09/2008, 20h42
  2. erreur 5:utilisation incorrecte de null
    Par giloo(94) dans le forum IHM
    Réponses: 6
    Dernier message: 13/02/2008, 13h21
  3. erreur 94 utilisation incorrecte de null
    Par caossak dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/06/2007, 11h00
  4. [vba/word] connection mysql et publipostage
    Par lecail65 dans le forum VBA Word
    Réponses: 8
    Dernier message: 31/08/2006, 00h48
  5. Réponses: 6
    Dernier message: 03/07/2006, 08h26

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