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 :

Comment piloter BASE openoffice avec VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Comment piloter BASE openoffice avec VB6
    Bonjour,

    Je voudrai faire une petite application de "gestion de clientèle" en utilisant VB6 et BASE de openOffice.

    Je connais un peu l'un et l'autre logiciel.
    Mais je ne sais pas comment utiliser BV6 pour piloter la base de données.

    Il va sans dire que j'ai cherché sur le net un tuto ou des cours ayant trait à mon problème mais sans succès.

    Aussi j'aurai bien besoin d'un petit coup de pouce pour démarrer.

    Par avance merci.

    Configuration: Windows XP / Firefox 9.0.1

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    Pas même sur Developpez ?
    => Piloter Open Office

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par DarkVader Voir le message
    Bonjour,
    Pas même sur Developpez ?
    => Piloter Open Office
    Salut DarkVader,

    Lors de mes recherches je suis effectivement tombé sur cette page mais je n'y ai pas compris grand chose (sans doute mon faible niveau).
    Néanmoins j'ai quand même essayé un bout de code en mettant les éléments de ma base de données mais ça part en erreur et je suis incapable de savoir pourquoi.
    Peut-être puis-je mettre le code ici et demander de l'aide ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Bien voici donc le code adapté à ma base :
    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
    Private Sub Cmd_Demarrer_Click()
     
     
        Dim oDB As Object, oBase As Object
        Dim oStatement As Object
        Dim rSQL As String
        Dim oRequete As Object
        Dim oServiceManager As Object, CreateUnoService As Object
        Dim i As Integer
        Dim Resultat As String
     
        'Création instance Open office
        Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
        Set CreateUnoService = _
        oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext")
     
        'Dim Fichier As String
    'Fichier = "file:///D:\Mes Documents\Chris\Bd_Essai.odb"
     
    'Indique le nom de la base pour la connection
    'Set oDB = CreateUnoService.getByName(Fichier)
     
        'Indique le nom de la base
        Set oDB = CreateUnoService.getByName("Bd_Essai")
     
        'Connection
        Set oBase = oDB.getConnection("", "")
        Set oStatement = oBase.createStatement
     
        'Création requète
        rSQL = "SELECT ""nom"",""prenom"",""date_naissance"" FROM ""T_clients"" " & _
        "WHERE ""Id_Client""=0"
        Set oRequete = oStatement.ExecuteQuery(rSQL)
     
            'Affichage du résultat de la requête 
            If Not IsNull(oRequete) Then
                'While oRequete.Next
                'i = i + 1
                Resultat = oRequete.getString(1)
     
     
                    MsgBox "Resultat requete = Resultat"
     
                    'Cells(i, 1) = oRequete.getString(1)
                    'Cells(i, 2) = oRequete.getString(2)
                    'Cells(i, 3) = oRequete.getString(3)
                'Wend
            End If
     
        oRequete.Close
        oStatement.Close
    End Sub
    Le plantage se fait sur le MsgBox avec ce message : "com.sun.star.sdbc.sqleexception: No data is available"

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Je n'utilise pas OO, je ne pourrais donc t'aider en ce sens, toutefois, dans un 1er temps,
    commence par tester le contenu des variables intermédiaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    msgbox typename(oServiceManager)
    
    Set CreateUnoService = oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext")
    msgbox typename(CreateUnoService)
    
    'etc.

  6. #6
    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
    Bonjour,

    Là, je ne comprends pas
    De gerart
    Le plantage se fait sur le MsgBox avec ce message : "com.sun.star.sdbc.sqleexception: No data is available"
    Si tu mets ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox "Resultat requete = Resultat"
    Le message qui apparaît sur la msgbox, c'est....:"Resultat requete = Resultat"

    ( où alors ton erreur ne se fait pas sur la msgbox)

  7. #7
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Il est probable qu'il a fait une faute de frappe en copiant le code pour le forum.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Merci pour votre aide.

    Malheureusement un problème est survenu cette nuit sur mes fichiers VB6.

    En effet ce soir je lance VB6 et je m'aperçois que le code que j'avais réussi à faire fonctionner la veille (l'erreur venait dune faute de frappe) n'existe plus !

    C'est à dire que dans l'interface graphique de VB6, la fenêtre propriété est vide, la fenêtre présentation des feuilles est vide, plus de code, plus rien.

    Le problème s'étend sur tous les fichiers du répertoire dans lequel j'avais stocké tous mes petits bouts de code dans lesquels je venais piocher.

    Par ailleurs, j'ai essayé de créer un autre petit programme que j'ai sauvegardé avant de fermer VB6.

    Lorsque j'ai voulu le rappeler, il avait subit le même nettoyage que les autres.

    Bizarre non ?

    Pensez vous que cela soit un virus ? (Un scan par un antivirus en ligne n'a rien détecté pourtant)

  9. #9
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Sauf erreur de manip que veux-tu que ce soit d'autre ?

    Personnellement j'ai eu le cas sous Seven et son anti-virus
    qui a fait un ménage radical (1700 fichiers éradiqués lol) -
    y intérêt à ne pas oublié à effectuer des backups réguliers.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    1700 fichiers éradiqués
    Je suis battu lol

    Une défaillance de VB peut-être ?

    Ca expliquerai pourquoi il ne sauvegarde pas un nouveau programme.

  11. #11
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par gerart Voir le message
    .../...
    Le problème s'étend sur tous les fichiers du répertoire dans lequel j'avais stocké tous mes petits bouts de code dans lesquels je venais piocher.
    .../...
    Ce n'est pas VB qui a effacé le contenu du répertoire.
    VB n'a rien à voir dans ton problème.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par DarkVader Voir le message
    Ce n'est pas VB qui a effacé le contenu du répertoire.
    VB n'a rien à voir dans ton problème.
    Les fichiers ne sont pas éffacés mais "vidés" de leur contenu.

    J' écarte la fausse manip car je ne vois pas ouvrir chaque répertoire pour modifier chaque fichier (plus de 40 répertoires !)

    Je penche aussi pour un virus.
    Pourtant mon antivirus Avira plus 2 scan en ligne (Panda active scan et Eset) n'ont rien trouvé.

    Je vais arrêter provisoirement ce topic pour tenter de résoudre ce problème.

    Merci de votre aide.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    J'ai mis de coté mon problème mentionné plus haut et j'ai emprunté le portable de mon fils pour continuer la création de mon projet.

    Me revoici donc avec une nouvelle question.

    Je voudrai utiliser une variable dans une commande SELECT mais ça ne marche pas.

    Voici la commande pouvez-vous m'indiquer où est l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rSQL = "SELECT * FROM T_clients WHERE nom = Txt_nom_client"
    La variable c'est "Txt_nom_client" qui provient d'une TextBox.

    Le message d'erreur:
    com.sun.star.sdbc.SQLException:Column not found:Txt_nom_client in statement [SELECT * FROM "T_clients" WHERE "nom"="Txt_nom_client"]

  14. #14
    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 172
    Points
    17 172
    Par défaut
    Salut
    Dans ton code, tu passes le nom de ta variable, non pas son contenu, modifier comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rSQL = "SELECT * FROM T_clients WHERE nom ='" & Txt_nom_client.Text & "'"
    en supposant que le nom du TextBox est Txt_nom_client
    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 ← ← 👈

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut
    Dans ton code, tu passes le nom de ta variable, non pas son contenu, modifier comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rSQL = "SELECT * FROM T_clients WHERE nom ='" & Txt_nom_client.Text & "'"
    en supposant que le nom du TextBox est Txt_nom_client
    Super, ça marche.
    Merci ProgElecT.

    J'ai essayé avec et sans le .Text à la fin du nom : dans les deux cas ça marche.

    C'est assez alambiqué comme syntaxe non ? cotes, guillemets et commercial ...

    Le RESOLU se met comment stp ?

  16. #16
    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 172
    Points
    17 172
    Par défaut
    Salut

    Le bouton est en fin de page de la discussion sous le dernier post.

    La propriété par défaut d'un TextBox est Text, c'est pourquoi il n'y a pas obligation de le préciser, mais cela enlevé toute ambiguité à la lecture du code.
    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 ← ← 👈

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Le bouton est en fin de page de la discussion sous le dernier post.

    La propriété par défaut d'un TextBox est Text, c'est pourquoi il n'y a pas obligation de le préciser, mais cela enlevé toute ambiguité à la lecture du code.


    Merci pour la précision

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

Discussions similaires

  1. comment partager un fichier avec VB6
    Par Virtualité dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/02/2011, 17h41
  2. Comment decouper fichier txt avec VB6
    Par MarieMoka dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 26/11/2007, 17h03
  3. Piloter tableur OpenOffice via VB6
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/09/2007, 14h36
  4. connection base de données avec VB6
    Par 24 faubourg dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/11/2005, 20h03
  5. Comment saisir les racines avec OpenOffice ?
    Par poxtra_102 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 08/10/2004, 19h05

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