Page 1 sur 1

[R] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 20:27
par clark17
Bonjour,

Je cherche à extraire certaines données contenues dans un fichier *.DBF (BDD dbase).
En farfouillant sur le net je suis tombé sur une fonction créée par Dmitry Yudin. Celle-ci date de 2009 et lorsque j'essaye de l'exécuter j'ai une erreur sur la ligne 40 (Case Asc("C") or Asc("D") or Else). Voici la fonction:
► Afficher le texte
J'imagine qu'il s'agit d'une simple erreur de syntaxe, mais je ne vois pas laquelle...

Merci de votre aide.

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 21:53
par jguinch
Je ne connais pas cette fonction, mais tu devrais pouvoir t'en sortir avec l'UDF AdoSql de JCHD, en passant par la couche ODBC (ADO).
Les fonctions sont équivalentes à celles de l'UDF Sqlite native.

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 22:03
par mikell

Code : Tout sélectionner

Case Asc("C") or Asc("D") or Else
Littéralement, ça veut dire "si ya Asc("C") ou Asc("D") ou quoi que ce soit d'autre"
C'est donc une condition qui ne sert strictement à rien (?)
Tu aurais le même résultat en mettant "Case true"

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 22:27
par jguinch
Non seulement la ligne ne sert à rien, mais en plus la syntaxe du case n'est pas bonne. :shock:

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 22:32
par mikell

Code : Tout sélectionner

$string = "tralala"

Switch StringRight($string, 1)
  Case "c" or "d" or Else
      Msgbox(0,"", "exact !")
EndSwitch
:mrgreen:

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 22:34
par jguinch
Je dirais même plus :

Code : Tout sélectionner

$string = "tralala"

Switch $string
  Case "c" or "d"
      Msgbox(0,"", "exact !")
EndSwitch
Edit : ouah la classe : j'ai 2^10 messages au compteur ! :lol:

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 22:39
par mikell
On est arrivés à la même conclusion en même temps :mrgreen:
Personne lui a rien dit à l'auteur de l'udf ?

Code : Tout sélectionner

Msgbox(0,"", Asc("C") or Asc("D"))

Re: [..] Lire dans un fichier *.DBF

Posté : jeu. 03 avr. 2014 23:24
par Tlem
Bonsoir.
Concernant la lecture de fichiers DBF, j'avais trouvé quelque chose de complet et bien sympathique lors de recherches pour un projet.
Je met en pièce jointe, car je ne me rappel plus l'origine de la DLL et des scripts au3.

Bonne lecture. ;)

Re: [..] Lire dans un fichier *.DBF

Posté : ven. 04 avr. 2014 14:05
par clark17
Merci à vous pour vos réponses. Je me doutais bien que ce switch case était toujours vrai c'est plutôt au niveau de la syntaxe que je ne comprenais pas pourquoi il me déclarait une erreur.
jguinch a écrit :Je ne connais pas cette fonction, mais tu devrais pouvoir t'en sortir avec l'UDF AdoSql de JCHD, en passant par la couche ODBC (ADO).
Les fonctions sont équivalentes à celles de l'UDF Sqlite native.
Merci, mais je cherchais un truc relativement simple et surtout qui ne nécessite pas de surcouche chez l'utilisateur.
Tlem a écrit :Bonsoir.
Concernant la lecture de fichiers DBF, j'avais trouvé quelque chose de complet et bien sympathique lors de recherches pour un projet.
Je met en pièce jointe, car je ne me rappel plus l'origine de la DLL et des scripts au3.

Bonne lecture. ;)
Merci à toi. Effectivement il est complet, même trop pour mon projet. Mais je le garde sous le coude pour autre chose. :)

Finalement j'ai viré le switch case et ça fonctionne normalement.
Pour mémoire ça donne ceci:
► Afficher le texte