none
Référence Office non trouvée RRS feed

  • Question

  • Bonjour,

    Etant un novice en programmation Visual Basic, j'ai téléchargé et installé Visual Basic 2005 Express.
    Mon projet est un programme executable utilisant une base de donnée Access 2003, ainsi, j'ai commencé par créer un nouveau projet "Application Windows" puis en tentant d'ajouter la référence "Microsoft Access 11.0 Object Library", l'erreur suivante s'affiche dans la colonne "Chemin" :

    "<Le système ne trouve pas la référence spécifiée>"

    Bien...en partant de là, je suis retourné dans la fenêtre d'ajout de référence à l'onglet parcourir, puis j'ai point "../Office11/MSACC.olb".
    Même résultat.

    N'ayant pas trouvé d'aide via moteurs de recherche, forums de programmation, salons de discution, je me retourne vers vous les yeux plein d'espoirs Smile

    Merci à ceux qui liront ces lignes.

    Tpixl
    mercredi 25 avril 2007 08:24

Réponses

Toutes les réponses

  • Une base de données Access est une base de données OLEdb qui doit être accèder par son engin. Il te faut utiliser ADO.net .

     

     Le comment faire de MSDN pour accèder au données en VB.Net :http://msdn2.microsoft.com/fr-fr/library/ms172560(vs.80).aspx

    http://msdn2.microsoft.com/en-us/library/ms971481.aspx

     

    Il y a plein des millions de site web t'expliquant comment faire, alors si tu fais un peu de recherche tu vas trouvé un bon site expliquant.

     

    mercredi 25 avril 2007 14:05
    Modérateur
  • Merci de ta réponse Biche Smile

    En effet, j'ai souvent croisé les termes OLEdb et ADO.NET en faisant des recherches mais le problème est que souvent les sites sont adressés à des personnes métrisant déjà plus ou moins ces notions, alors ils passent généralement les définitions et explication qui leur paraissent évidentes.

    Merci à toi pour les deux liens, je pense, au vu de leur sujet, qu'ils me seront d'une aide précieuse.

    Cordialement,

    Tpixl.
    mercredi 25 avril 2007 16:46
  • Salut,

     

    J'ai le même probleme que toi, cela fait 2 heures que j'essaie de trouver une solution.

    As tu trouvé ?

    jeudi 3 mai 2007 10:49
  • Salut Dedale67,

    J'avoue que j'ai bricolé...je m'explique...en fouillant un peu (merci google) j'ai trouvé un exemple sympatique de code expliquant comment se connecter à une bdd et la manipuler.

    Va faire un tour ici : www.vbfrance.com

    Télécharge ensuite tout le projet (il me semble qu'il faut s'inscrire) que tu pourras ensuite ouvrir dans ton compilateur Visual Basic.

    Regarde ensuite le code de la form : "form_nom.vb"
    Tout en haut, on trouve le code :

    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    Imports Microsoft.VisualBasic


    En copiant ces "Imports" pour commencer tes propres codes, il devient alors possible d'accèder à un fichier Access.

    Tu comprends maintenant pourquoi j'ai utilisé le terme "bricolé" car il s'agit bien ce ça.

    En espérant t'avoir aidé,
    Tpixl

    jeudi 3 mai 2007 16:23
  • En fait ce n'est pas "bricolé", pour accèder a des données en .Net il faut utilisé  System.Data. Et pour pouvoir utilisé une base de données Access (qui est considéré un bd de type OleDb) il faut utilisé System.Data.OleDb.

     

    Et si jamais vous voulez utiliser SQL Server, vous utilisé System.Data.SqlDb.

     

    C'est la méthode standard en .Net pour accèder aux données.

    vendredi 4 mai 2007 01:56
    Modérateur
  • Salut,

    Je connais cette source, mais cela ne répond pas à mes besoins car je veux utiliser la commande transferttext pour remplir rapidement une table avec 63000 enregistrment ( quelques secondes par cette methode, 3 minutes avec ADO )

    En utilisant Oledb, tu ne peux utiliser une telle commande , j'ai develloppé un truc qui fonctionne :

     

    1° Il faut installer le PIA office

    2° trouver la bonne reference access, celle qui te manquait au début afin d'avoir acces au Microsoft.Office.Interop.Access.Application

    3° le code

    'Declaration Access .

    Dim oAccess As New Microsoft.Office.Interop.Access.Application

    Dim Transfertype As Microsoft.Office.Interop.Access.AcTextTransferType = Microsoft.Office.Interop.Access.AcTextTransferType.acImportDelim

    'Ouverture et transfert

    With oAccess

    .Visible = False

    .DoCmd.SetWarnings(False) 'pas de messages d'avertissements

    .OpenCurrentDatabase(AppPath(True) & "Ged.mdb", False)

    .Visible = False

    .DoCmd.TransferText(Transfertype, "stef", "T_Gedana", AppPath(True) & "ged.txt", False)

    .CloseCurrentDatabase()

    End With

    'fermeture objet access

    oAccess = Nothing

     

    4° les problèmes auquels je suis confrontés :

     

    1° message de securité à l'ouverture que je n'arrive pas à shunter.

    2° comment deploiyer mon applicatif, que dois installer un utilisateur qui n'a pas access sur son pc ou une version différente du 2003.

    3° essayer de trouver une bricole ADO pour ecrire dans une base sans update d'un recordset qui prend trop de temps.

     

    Bref pas mal de petits soucis.

     

     

     

    mercredi 9 mai 2007 15:24