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

Bases de données Delphi Discussion :

Problème ouverture BD Access


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Problème ouverture BD Access
    Bonjour,

    Je dispose d'une base de données Access que je ne peux pas ouvrir !
    Le module de données est défini comme suit :
    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
    type
      TBDM = class(TDataModule)
        ADOConnection1: TADOConnection;
        qry: TADOQuery;
        ADOTable: TADOTable;
        ADOCommand1: TADOCommand;
        ADOStoredProc1: TADOStoredProc;
      private
        { Déclarations privées }
      public
        // Autorisation d'ouverture de la base de données à un oprérateur
        function OperatorOk( const Login,WordPass: string ): boolean;
     
    .............
      end;
     
    const
      _ConnString =
      'Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;' +
      'User ID=%s;Password=%s;Data Source=%s;' +
      'Mode=Share Deny None;Extended Properties="";' +
      'Jet OLEDB:Engine Type=5;';
      _UserName = 'admin';
      _PassWord = '';
      _BD_LOCALE = 0;
      _BD_DISTANTE = 1;
     
     
    var
      BDM: TBDM;
    Dans la Form principale j'ouvre la base de données en reconnaissant le nom et le mot de passe d'un opérateur par l'ouverture d'une fenêtre PassForm qui contient deux Tedit pour saisir le nom Login et le mot de passe WordPass de l'opérateur qui sont contenus dans une table OPERATOR de la DB
    La fonction OperatorOk() dans PassForm est codée comme suit :
    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
    // Autorisation d'ouverture de la base de données à un oprérateur
    function TBDM.OperatorOk( const Login,WordPass: string ): boolean;
    begin
      if (length(Login)<=3) or (Length(WordPass)<=3) then exit;
      begin
        ADOConnection1.Close;
        ADOConnection1.ConnectionString := Format(_ConnString,[_UserName,_PassWord,CurDBPath]);
        ADOConnection1.LoginPrompt := False;
        try
          ADOConnection1.Connected := True;
        except
          on e: EADOError do
          begin
            MessageDlg('Error while connecting', mtError,[mbOK], 0);
            Exit;
          end;
        end;
        qry.Connection := ADOConnection1;
        qry.Close;
        qry.SQL.Clear;
        qry.SQL.text:='SELECT * FROM OPERATOR WHERE OperName="'+Trim(Login)+'"';
        qry.Prepared := true;
        try
          qry.Open;
        except
          on e: EADOError do
          begin
            MessageDlg('Error while doing query', mtError,[mbOK], 0);
            Exit;
          end;
        end;
        CurOperator.Name:= qry.FieldbyName('OperName').AsString;
        CurOperator.Pass:= qry.FieldbyName('Pass').AsInteger;
        CurOperator.Rights:= qry.FieldbyName('Rights').AsInteger;
        CurOperator.RecNo:= qry.FieldbyName('OpNo').AsInteger;
        CurOperator.UseNo:= qry.FieldbyName('UserNo').AsInteger;
        result:= PassWordToInteger(Trim(WordPass))=CurOperator.Pass;
        if not result then
        begin
          showMessage('Identifiant ou mot de passe erroné');
          result:= false;
          exit;
        end;
      end;
    end;
    L'appel à la fonction OperatorOk() se solde par une erreur "Le moteur de la base de données Microsoft Jet ne peut pas trouver la table OPERATOR..."

    Quelle erreur ai-je commis ?

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    1er chose à vérifier, est ce que CurDBPath pointe bien sur la bonne base de données.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ok Rayek
    En fait c'est à n'y rien comprendre !!!
    Ne voyant pas d'erreur apparente j'ai reconstruit un nouveau projet avec une grande partie de copié-collé et ce nouveau projet ne provoque pas d'erreur avec les mêmes unités annexes.
    Donc je ferme cette discussion.

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

Discussions similaires

  1. [AC-2003] Problème ouverture fichier Access
    Par akrimi08 dans le forum Access
    Réponses: 4
    Dernier message: 05/06/2013, 11h21
  2. [Débutante] Problème ouverture base Access
    Par Marla75 dans le forum Access
    Réponses: 2
    Dernier message: 07/05/2010, 12h23
  3. Problème ouverture base Access
    Par Domi70 dans le forum IHM
    Réponses: 5
    Dernier message: 25/01/2009, 16h13
  4. Problème de démarrage a l'ouverture d'access
    Par vautour29 dans le forum Access
    Réponses: 5
    Dernier message: 21/07/2006, 20h54
  5. [VB6] Problème ouverture états ACCESS
    Par kriss_87 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2006, 17h11

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