DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 175691 - Dernière mise à jour: jeudi 11 janvier 2001 - Version: 1.1

 

Sommaire

Symptômes

Index FoxPro qui contiennent la fonction EMPTY ou ESTVIDE ne seront pas reconnus dans Visual Basic. Index avec cette fonction est reconnus par Visual Basic 4.0. L'erreur suivante sera généré sous NT et Windows 2000 :
Une erreur d'application
et un enregistrement d'erreur est généré.

VB5.exe
Exception Violation d'accès (0xc0000005), adresse.........
Visual Basic se termine par cette erreur.

Dans Windows 95 et Windows 98, aucune erreur n'est renvoyée, car l'index n'est pas visible.

Résolution

Comparer le champ pour «» au lieu d'utiliser EMPTY. Les résultats sont identiques.

Statut

Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés au début de cet article. Nous étudions actuellement ce bogue et nous publierons de nouvelles informations dans la base de connaissances Microsoft dès que possible.

Plus d'informations

Procédure pour reproduire le problème

  1. Créez un projet Visual Basic et choisissez DAO 3.5 sous Références de projet.
  2. Dans FoxPro 2.5, utilisez la table client et configurez certains index sur cno, état et ono. Le fichier CDX portant le même nom que le fichier de table contient les index.
  3. Placez deux boutons de commande du formulaire et collez dans le code suivant :
          Option Explicit
    
          Dim FoxDataDB As Database
          Dim RS As Recordset
          Dim myidx As Index
    
          Private Sub Command1_Click()
            RS.Close
            FoxDataDB.Close
            Set RS = Nothing
            Set FoxDataDB = Nothing
            Unload Me
          End Sub
    
          Private Sub Command2_Click()
             For Each myidx In FoxDataDB.TableDefs("customer").Indexes
                Debug.Print myidx.Name
                RS.Index = myidx.Name
             Next
          End Sub
    
          Private Sub Form_Load()
    
          Set FoxDataDB = Workspaces(0).OpenDatabase( _
                             "d:\fpw26\tutorial", _
                             False, False, "FoxPro 2.5;")
             Set RS = FoxDataDB.OpenRecordset("customer", dbOpenTable)
    
          End Sub
    						
  4. Exécutez le code ci-dessus et notez que les noms d'index sont imprimées.
  5. Supprimer certains numéros de téléphone de la base de données ci-dessus et ajoutez l'index suivant en cliquant sur le programme d'installation de base de données dans le menu de FoxPro :
    IIF(EMPTY(Phone), état, téléphone)
  6. Exécutez le code ci-dessus et notez que vous obtenez l'erreur ci-dessus sous NT et Windows 2000. Sous Windows 95 et Windows 98, l'index n'est pas reconnu.
  7. Supprimez l'index de téléphone et le programme s'exécute avec succès si l'index est endommagé.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Mots-clés : 
kbmt kbbug KB175691 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 175691  (http://support.microsoft.com/kb/175691/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store