PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → bases de données *.DBF venant de foxpro
bases de données *.DBF venant de foxpro
Iniciado por Paul AUBRY, 17,may. 2004 11:56 - 1 respuesta
Publicado el 17,mayo 2004 - 11:56
Je doit faire sous windev un utilitaire qui ouvre des base de données foxpro
2.6 (*.DBF) sans les convertir, pour les consulter et imprimer des états.
Sans les convertir car les modification des bases se font encore sur foxpro.

j'ai essayé avec des requêtes SQL, la connexion ne se fait pas :
Avec ces commandes là :
************************************
sFPBase est une chaîne = "C:\Mes Projets\manip_DB\FICHIERS\AC1.DBF"
nCnx est un entier
TypeBase est une chaîne = "FoxPro 2.6"
NomUtilisateur est une chaîne = ""
PasseUtilisateur est une chaîne = ""
Rs est une Source de Données

nCnx = SQLConnecte(sFPBase,NomUtilisateur,PasseUtilisateur,TypeBase,"ACCESS")
SI nCnx = 0 ALORS

Erreur("Echec de connexion... - "+SQL.MesErreur + "||" + SQL.Erreur)
SQLInfoGene()

SQLDeconnecte()

SI Position(RC + Majuscule(SQLListeSource("BASE")) + RC, RC + Majuscule(TypeBase)
+ RC) = 0 ALORS
// Type de source non trouvé
Erreur("L'accès natif utilisé n'est pas correctement installé.", ...
"Vérifiez la présence des DLL WinDev correspondantes (WDxxxACC.DLL pour Access,
WDxxxORA.DLL pour Oracle, WDxxxSQS.DLL pour SQL Server)")
SINON
// Type de source trouvé dans la liste de type de source
SQLInfoGene()
// Instruction à supprimer pour l'accès natif Oracle
Erreur("Le type de source de données" + TypeBase + ...
"a bien été trouvé mais la connexion a échoué.", ...
"Vérifiez le nom de la base (ou chaîne de connexion)"+ ...
"Et le mot de passe.", SQL.MesErreur)
FIN

RETOUR
FIN


SQLExec("SELECT * FROM AC1",sFPBase)

Table_manip.NUMERO = SQLLitCol(Rs,1)
************************************
je retrouve le message "Echec de connexion" et le message d'erreur disant
que l'accès utilisé n'est pas installé et qu'il manque des DLL (les DLL requises
son bel et bien là)

ou alors avec ça :
*********************************************
EXTERNE SY
test1 est un booléen

SI PAS HInitHF55("C:\Mes Projets\manip_DB\forxbase.WDD") ALORS
Erreur("probleme rencontré : " + HErreurInfo())
FIN

test1 = HDBOuvre("Syndic","SY","C:\Mes Projets\manip_DB\FICHIERS\AC1.DBF")

SI PAS test1 ALORS
Erreur("probleme rencontré : " + HErreurInfo())
SINON
// HDBIndex("Syndic","C:\Mes Projets\manip_DB\FICHIERS\AC1.CDX","NUMERO")
// Parcours du fichier
HLitPremier("Syndic","NUMERO")

SI PAS H.EnDehors ALORS
HLitRecherche("Syndic","NUMERO",SY.NUMERO)
FichierVersEcran
FIN

FIN
***************************************************

je ne sais pas si ça marche, et je ne trouve pas comment envoyer les données
sur un tableau dans une fenêtre

je m'en remet à votre aide pour me montrer mes erreur ou autre...

merci d'avance.
Publicado el 17,mayo 2004 - 12:55
Bonjour,

avez-vous les pilotes ISAM correspondant ?

Voir http://support.microsoft.com/default.aspx…


Vous pourriez peut-être utiliser une connexion ODBC pour tester ...


Mickaël