Comment gérer des avec VB6

Résolu
michelh Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
 GameOver- -
Bonjour
Je n'arrive pas à afficher une image provenant d'une base
de donné dans un contrôle.
Le seule moyen qui fonctionne c'est en utilisant un
control OLE pour l’image, lié à un control MSRDC pour la liaison à la base, c'est à dire un
contrôle MS Remote Data Control.
Or Microsoft préconise d'utiliser plutôt l'ADO.
Avec un controle de type Adodc la liaison ne se fait pas
ni avec un control PictureBox ni avec un control Image.
Et le control OLE ne reconnaît pas l'Adodc.
J'utilise une base Pervasive par une connexion ODBC.

Est-ce que quelqu'un a une idée ?
Merci à tous
Michel
A voir également:

22 réponses

fredb7
 
bjr a tout le monde voila j ai un souci avec ma comptabilite ebp
j ai un message quand je veut ouvrir le fichier voici le message excetion dans csdill:ERREUR86 SUR OPERATION 0 DANS LE FICHIER C:\ebp\dossier\barcommerce1\compta.3\memos.btr comme je suis pas un grand informaticien quelqu un pourrais me donner un coup de main car je ne peut plus travailler sur ma compta merci d avance
6
michelh Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   25
 
Bonjour
Je n'arrive pas à afficher une image provenant d'une base
de donné dans un contrôle.
Le seule moyen qui fonctionne c'est en utilisant un
control OLE pour l’image, lié à un control MSRDC pour la liaison à la base, c'est à dire un
contrôle MS Remote Data Control.
Or Microsoft préconise d'utiliser plutôt l'ADO.
Avec un controle de type Adodc la liaison ne se fait pas
ni avec un control PictureBox ni avec un control Image.
Et le control OLE ne reconnaît pas l'Adodc.
J'utilise une base Pervasive par une connexion ODBC.

Est-ce que quelqu'un a une idée ?
Merci à tous
Michel
0
jujeco Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   11
 
Je ne peux malheureusement pas répondre à ta question. Je poste ce message car j'ai moi un probleme que tu peux peut-etre résoudre. Je souhaite me connecter aux bases EBP qui tourne avec pervasive. Malheureusement, je ne sait pas comment creer le lien dans l'ODBC.
Peux-tu m'indiquer la démarche à suivre.

Par avance merci.

Jujeco
0
Maddod
 
Bonjour,

je suis dans la meme situation que toi. as tu trouvé une solution ?

Merci
0
Michel HERVAULT
 
Réponse à Maddod:

Ma solution a été de ne pas incorporer les images dans la base mais de les lier. Les images sont donc en fichier sur le disque, ce qui convenait tout à fait pour mon application et résout tous les problèmes. Désolé !

Réponse Jujeco:

Je viens de faire un essai en créant une source de données ODBC avec le driver de Pervasive (si tu ne l’as pas je pourrais peut-être te l’envoyer).
Ma comptabilité est aussi EBP.
Je n’ai pas abouti car je n’ai pas converti ma base EBP en Pervasive (elle est restée au format BTRIEVE), donc je n’ai pas de conclusion. Mais je pense que cela vaut le coup que tu fasses un essai (c’est rapide)
Pour créer le lien ODBC il faut, sous XP :
- Démarrer – Panneau de configuration – Performance et maintenance – Outils d’administration – Source de données ODBC
- Une boîte de dialogue s’ouvre
- Choisir l’onglet System DSN et le bouton Add…
- Une boîte de dialogue s’ouvre
- Choisir le driver Pervasive Engine Interface puis le bouton Create
- Choisir Browse pour le dictionnaire en allant sur le répertoire de tes fichiers Pervasive (extension MKD)
- Donner un nom à la base de données, donner un DSN (nom de ta source de données)
- Le tour est joué

Tu peux ensuite essayer de voir les tables par ACCESS par exemple en les liants et en choisissant l’option source de données dans la liste déroulante.

J’espère avoir été clair

A+
Michel
0
Maddod
 
Bonjour,


Mais comment faire pour convertir la base de btrieve vers pervasive. le but étant d'accèder à la base EBP.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Michel HERVAULT
 
EBP propose automatiquement la conversion lorsque Pervasive est installé.
J'ai Pervasive car c'est la base fournie avec Maximizer
Maximizer étant un logiciel de CRM.
Et j'ai une licence de Maximizer qui m'a été fournit par un de mes clients.
Autrement Pervasive n'est pas gratuit.
Tu peux le télécharger en version d'essai sur : http://www.pervasive.com/downloads/businessintegrator.asp

Une autre solution : se procurer (par exemple sur le NET) un driver ODBC pour BTRIEVE.

Bon courage
Michel
0
Maddod
 
Bonjour,

Merci pour les reponses, mais ... EBP ne me propose pas la conversion. Je possède la gestion commerciale v8 pro, ainsi qu'une licence d'acces aux donnees. Mais aucune information pour creer un lien odbc. J'arrive bien à creer un lien sur une base pervasive vide, mais pas sur la base ebp.

Merci
0
Michel HERVAULT
 
Je ne t’ai pas répondu car je suis sec. As-tu réglé ton problème ?
Je n’ai pas la gestion commerciale de EBP mais la comptabilité Libérale. EBP me propose la conversion car j’ai Pervasive 8 d’installé et le moteur résidant en mémoire car ce dernier se lance automatiquement au démarrage du PC.

Voilà ce que je peux dire.
A+
Michel
0
maddod
 
Bonjour,

je n'ai plus fait de tests depuis par manque de temps.

Merci.
0
nono
 
Bonjour tout le monde.
Effectivement accéder aux données de la base EBP est assez compliqué. Moi g un projet concernant GESCOM pro V8 et je doit pouvoir modifier les données des tables Btrieve avec une autre appli que EBP. C possible avec pervasive et access.
Il faut d'abord créer une base dans pervasive compatible SQL et basée sur les tables Btrieve, pour cela l'assistant est assez bien fait. Ensuite il faut créer les tables et là c beaucoup plus compliqué. Pour chaque table il faut spécifier la structure interne, et ça, Pervasive le fait assez mal, il y a plein de champs qu'il passe à la trappe (en fait on est sûr de retrouver seulement les champs qui sont indexés), ensuite il faut tout faire à la main : la galère. Enfin, après cette longue phase, moi g ouvert access, et g créé des tables liées à celles de pervasive et là access fait le reste. quand on modifie des données dans access, elles sont modifiées dans EBP et vice-versa. ATTENTION je n'ai pas testé si ç respecte les règles d'intégrité donc si vous faites une appli pour des utilisateurs, sécurisez un max. Boilà en espérant que cela vous aide.
0
Fifcan
 
Bonjour

Comment faites-vous pour accéder aux données des fichiers BTR de EBP Gestion Commerciale ? (j'ai la 2005 Pro avec une licence Client/Serveur)
Je n'arrive pas à y accéder. Pourtant le Workgroup Engine tourne sur ma machine. J'ai un dossier EBP où se trouvent mes données et j'aimerais accéder aux données par un autre logiciel, mais je n'y arrive pas.

Merci de votre compréhension

Fifcan
0
nono
 
Pour accéder aux données, rien de plus simple! Non je rigole. La première étape qui n'est pas mentionnée par EBP est qu'il faut acquérir une license en plus de la license EBP (150 €!). Pour cela l'assistance d'EBP vous renseigne. Ensuite il faut aller dans EBP et modifier les paramètres au niveau de la license : Il faut cliquer sur le bouton option et rentrer dans le nouveau champ le code de débridage donné par EBP. On n'est pas au bout. Ensuite il faut (ré)installer le moteur pervasive à partir du cd (onglet aide). Il se peut que EBP ne démarre plus après cela, il faut alors aller voir dans les utilitaires (C:\Programme Files\EBP\EBPclean.exe) et ne laisser que le moteur pervasive. Si ça ne marche toujours pas, il faut désinstaller le moteur pervasive, supprimer le répertoire C:\PVSW et refaire une install à partir du CD (C bon quand il demande de faire une install 'Custom' ou 'Typical'). Bon là, l'install est bonne. Maintenant il faut configurer le control center (tous les prgmes -> pervasive -> control center). Mais là c'est de la config 'normale' je dirais, il suffit d'ajouter une database engine et il crée un lien odbc. Voilà, après on peut causer entre VB et EBP
0
Thor
 
J'ai eu pour une de mes applications le même problème que toi. En surfant sur le net, j'ai trouvé des codes permettant de mettre dans une base de données type access des images. Il faut que dans une table, tu crées un champs du type "Objet OLE". Pour ma part j'utilise l'activex ADO (DAO360.dll) qui permet d'avoir un meilleur controle sur les bases de données. L'achtuce que j'utilise est de passer par un fichier temporaire pour stocker l'image à sauvegarder dans la base de données ou à extraire de la base de données. Il n'empèche qu'utiliser DAO ou ADO revient grosso modo au même hors mis que ADO est peut être un peu moins boggé....

Quoi qu'il en soit, voila le code que j'utilise (et qui n'est pas de moi) mais qui me donne pleine satisfaction. Avec la taille des images que j'utilise, on remarque à peine qu'elles viennent de la base de données.

Bon allez fini les blabla, voila le code: (à placer dans un module)

Public Function SavePictureToDB(PictControl As Image, RS As Object, FieldName As String) As Boolean
'PictControl est le controle contenant l'image à sauvegarder
'RS est le recordset que j'utilise pour balayer la base de données
'FieldName le champs ou stocker l'image

Dim oPict As Image
Dim sDir As String
Dim iFileNum As Integer
Dim lFileLength As Long
Dim abBytes() As Byte
Dim iCtr As Integer
Dim sTempFile As String

On Error GoTo ErrorHandler
Set oPict = PictControl
If oPict Is Nothing Then Exit Function

'Save picture to temp file
sDir = Utils.Get_TEMP_Directory
If sDir = "" Then sDir = "C:\"
sTempFile = sDir & "0X2341KLZX.dat"
Reset
SavePicture oPict.Picture, sTempFile

'read file contents to byte array
iFileNum = FreeFile
Open sTempFile For Binary Access Read As #iFileNum
lFileLength = LOF(iFileNum)
ReDim abBytes(lFileLength)
Get #iFileNum, , abBytes()
'put byte array contents into db field
RS.Fields(FieldName) = abBytes()
Close #iFileNum

'Don't return false if file can't be deleted
On Error Resume Next
Reset
Kill sTempFile
SavePictureToDB = True

ErrorHandler:
End Function

Public Function LoadPictureFromDB(PictControl As Object, RS As Object, FieldName As String) As Boolean
'PictControl Controle contenant l'image à sauvegarder
'RS le recordset utilisé pour balayer la base de données
'FieldName le nom du champs où stocker l'image

Dim oPict As StdPicture
Dim sDir As String
Dim sTempFile As String
Dim iFileNum As Integer
Dim lFileLength As Long
Dim abBytes() As Byte
Dim iCtr As Integer

sDir = Utils.Get_TEMP_Directory
Set PictControl.Picture = Nothing
If sDir = "" Then sDir = "C:\"
sTempFile = sDir & "0X2341KLZX.dat"

If FS.FileExists(sTempFile) Then FS.DeleteFile sTempFile, True
On Error GoTo ErrorHandler
iFileNum = FreeFile
Open sTempFile For Binary As #iFileNum

lFileLength = LenB(RS.Fields(FieldName))
abBytes = RS.Fields(FieldName).GetChunk(0, lFileLength)

Put #iFileNum, , abBytes()
Close #iFileNum
Set PictControl.Picture = LoadPicture(sTempFile)
PictControl.Refresh
Kill sTempFile
LoadPictureFromDB = True

ErrorHandler:
Reset
End Function

Pour information, ma base de données contient près de 350images (150x150 environ) et pèse 53Mb mais il y a également le texte, ...

J'espère que vous trouverez du bonheur dans ma tartine!

Bon amusement.
0
Elodie
 
Bonjour tout le monde, j'ai un problème qui ressemble beaucoup à ceux cités plus haut :

Je créé un site internet (PHP-SQLServer) qui pioche ses données dans une base de données EBP.
J'utilise PervasiveSQL v8 pour récupérer les données de la base.

Le problème est que je souhaite récupérer des images de cette base mais qui sont insérées dans la table par le logiciel de Gestion Commerciale EBP v9.
Avec le driver de pervasive je n'arrive pas à récupérer ces images et c'est vraiment très ennuyeux.
Comme vous l'aurez compris je n'ai pas la possibilité de modifier la façon dont les images sont enregistrées dans la base, donc si quelqu'un a eu le même problème et a trouvé une solution pour récupérer ces images, qu'il n'hésite pas à m'en faire part.

Merci d'avance pour vos réponses !
0
Philippe
 
Bonjour Elodie

Je suis désolé de te contacter par ce forum, mais j'ai quelques problèmes avec EBP Gestion Commerciale. Je souhaiterais faire un site Web se basant sur les données de EBP. Mais je n'arrive pas à accéder aux données par autre chose que par EBP.

Je me permet de te demander votre aide sur ce sujet.
Encore désolé pour ce message qui ne vous aide aucunement ...

Merci de votre compréhension

Philippe Cancellier
(philippe.cancellier@laposte.net)
0
Elodie
 
Bonjour Philippe, il n'y a pas de problème si je peux te rendre service.
Dans notre cas, nous avons acheté chez EBP un module d'accès à la base de données.
En gros ce module utilise un driver ODBC de PervasiveSQL qui nous permet de récupérer les données dans la base EBP (Il s'agit du Pervasive ODBC ENGINE Interface, il existe aussi CLIENT Interface mais nous on ne l'utilise pas).

Nous utilisons SQLServer pour notre appli et pour accéder à la base il ne nous reste plus qu'à créer un serveur lié qui pointe sur la source de données ODBC créée avec le driver Pervasive.

Le message Ajouté par nono (03/12/2004) explique comment installer ce module. En fait ce module permet (si je ne me trompe pas) d'accéder aux fichiers .btr et autres pour créer la base sous pervasive donc je sais pas si en n'ajoutant pas ce module à EBP il est quand même possible de lire ces fichiers.

Bon je sais pas si je t'ai apporté plus de précisions, bonne chance pour la suite !
0
Philippe
 
Vous utilisez la version EBP avec le SQLServer de chez Microsoft ?
Nous utilisons la version Client/Serveur de Pervasive, pour le moment nous utilisons seulement le mode poste-à-poste, mais le serveur PervasiveSQL est installé sur le serveur.

Je n'ai qu'à demander le driver ODBC à EBP pour ma version Client/Serveur de Pervasive SQL... Peut-on modifier la base sans passer par EBP ?

Merci encore

Philippe
0
Elodie
 
Désolée pour le retard !
Alors, oui nous utilisons SQLServer de Microsoft. En fait on l'utilise pour créer des vues sur la base créée avec le driver ODBC de Pervasive SQL qui pointe sur EBP.

"Je n'ai qu'à demander le driver ODBC à EBP pour ma version Client/Serveur de Pervasive SQL... Peut-on modifier la base sans passer par EBP ? "
=> Je pense que oui mais bon je n'en suis pas très sure ... En fait le module de EBP dont je parlais te fournis donc ce driver pour Pervasive et aussi une clef. En fait Pervasive utilise des fichiers .btr pour lire la bdd et la clef permet au logiciel EBP de créer des fichiers .btr qu'utilisera ensuite Pervasive.

Sinon essaie de te renseigner auprès de EBP pour savoir si leur module serait utilisable dans ton cas.

Elodie
0
Yan.
 
bonjour a tous !

Avec qlq recherches je viens de tomber sur ce forum qui traite enfin de EBP ......HOURA!!!!

Je viens trouver (j'espere), une reponse à mon pb :
Je possede un Pack gestion 2004 depuis plus d'un an, travaillant sur deux ordis pour ma comptabilité , et utilisant une restauration par disquette pour mettre a jour mes fichiers ,je me retrouve maintenant dans l'impossibilité d'ouvrir mes dossiers, ayant ce message d'erreur qui suit :

Exception dans le composant CSI : erreur base de données

Apres avoir contacté par mail EBP (j'ai pas de contrat d'assistance), j'ai eu une réponse :


votre problème semble lié au fait que vous n'ayez pas installé le moteur de base de données pervasive.

Donc avant de faire n'importe quoi ! pourriez vous me donner votre avis sur cette réponse d'EBP,
Est ce que ce logiciel pervasive va me permettre de travailler comme avant ? et si facilement ?


A bientôt Merci !

YAN.
0
Michelh > Yan.
 
Bonjour Yan,

Je pense que oui. Je n’ai pas le Pack gestion 2004, mais Pervasive est bien le moteur utilisé par EBP.
Comme ton problème est suite à une restauration il se peut que les fichiers restaurés ont été créés avec une version antérieure.
Si tu as lu les articles précédents tu as pu te rendre compte qu'EBP utilise des fichiers BTRIEVE (extension .btr), mais BTRIEVE n'existe plus, c'est Pervasive qui à repris la maintenance de cette base de données.
Ma version d'EBP utilise également des fichiers BTR mais Pervasive utilise maintenant des fichiers d'extension MKD.
Lorsque je lance EBP j'ai un message m'indiquant qu'il a détecté plusieurs versions de Btrieve et il me propose de supprimer soit Btrieve 6.15 soit le client et le moteur de Pervasive SQL.
Pour le moment j'ai gardé les deux et çà fonctionne.
En fait, par prudence je n'ai pas osé supprimer ni l'un ni l'autre.
J'ai pu grâce à Nono créer des tables pour voir les données EBP mais malheureusement cela a échoué sur la table la plus intéressante qui est ECRITURE.BTR

Je ne sais pas si je t’ai aidé !

Bon courage
Michel
0
nono
 
Bonjour a tous,

J'ai un pbs avec ebp v 11.1 gestion commercial et j'espere que quelqu'un pourra m'aider.

J'utilise une version monoposte, mais pour mon travail dans plusieurs bureaux, j'ai besoin d'avoir accés aux données d'autres pc.

Y a t'il un moyen d'utiser le logiciel monoposte en multiposte ?

Merci d'avance
0
GEGE32
 
En fait tu peux installer ebp en multiposte ( choisir l'installatoion réseau ) avec une licence monoposte.
Mais lors de l'utilisation 1 seul utilisateur pourra consulter le dossier ouvert.
Par contre tu peux travailler en simultané sur des dossier différent.

Si tu veux pouvoir travailler en même temps sur les postes tu n'as pas le chois achetes la version réseau.
0
ya_degla
 
Bonjour à tous !
je pense effectivement que c'est le seul sujet sur le net en Français qui traite de ces problèmes de EBP et de sa base de données !

En fait, moi je veux créer une application en .NET que je donnerais à mes clients utilisateurs de EBP pour pouvoir récupérer leur données sous format txt par exemple.

je n'arrive pas à trop comprendre pour EBP, en fait est ce que l'installation de EBP installe automatiquement Pervasive ? du coup il suffisait de récupérer le ODBC et de créer une DNS avec Access par exemple pour pouvoir récupérer la base de mon client ?

ou bien faut il transformer la base de btrieve à pervasive avant ? faut il avoir le module payant de chez EBP pour accéder aux données de la base ?

Merci de votre aide.
0
GameOver-
 
Bonjour a tous,

J'ai installé EBP Compta & Devis-Factures Open Line Pratic 2009 1.0 et SQL Server 2005 s'est automatiquement installé.

Des fichier .mdf (demonstration.mdf et masociete.mdf) ont été créés.
J'ai réussi a me conecter a ces fichers ave un composant TADOconection pour voir la structure des tables.
J'ai acces aux données des fichiers en lecture/ecriture mais les modifications apportées a ces fichiers ne sont pas prises en compte par EBP. (apparemment EBP n'enregistre pas les données dans ces fichiers...)

Finalement je n'arrive pas a acceder a la base de donnee utilisée par EBP.
Y a t il un moyen de se connecter a la base de données utilisée par EBP ?
Si oui, a t on besoin d'un login / password particulier pour acceder aux données ?

Je vous remercie d'avance pour toute information.

GameOver
0
nuleninfo
 
Bonjour,

je viens de tomber sur ce forum en cherchant à quoi sert Pervasive Database ...

excusez moi, je ne suis pas du tout branchée informatique, mais j'aime bien savoir ce que j'installe sur mon pc.
en effet, ayant fait l'aquisition d'EBP compta, en installant ce dernier je me vois "contrainte" d'installer ce fameux "Pervasive Database".
est ce que quelqu'un veut bien m'expliquer le plus simplement possible à quoi ça sert ?

je vous remercie d'avance.
0
Jojo17
 
Bonjour !
Persuasive database sert à EBP pour accéder à ses bases de données...
Il faut donc bien l'installer ... comme tu l'as peut-être déjà remarqué aujourd'hui !

Jo.
0
bemane
 
Bonjour à tous,

J'ai une amie qui à un soucis avec ses logiciels EBP. n'étant pas de la partie, elle m'a demandée de lui filer un coup de main...aussi, j'aurais besoin de votre aide. Elle utilise EBP COMPTA 2002 pour sa compta et EBP Paye 2005, PRO et Expert Comptable Version 9.0 R1 Fr pour faire la paie de ses salariés.
Elle à une licence pour la compta...mais pour la paie....non ! et pas de contrat d'assistance,ca va de sois !

Il y a une semaine, ces deux soucis se sont posés en meme temps.

En compta, lorsqu'elle ouvre, elle tombe sur le message suivant : Exception dans le composant CSI : Erreur de la base de données
Croyez vous qu'il faut installer pervasive nomé ci dessus dans le forum, est ce que cela va enlever ce message ?


En paye : message suivant : déverrouillez votre logiciel

Raison sociale : hermol / FFF ( raison sociale trouvée sur internet avec un pass afin de faire fonctionner ce logiciel)
Code de débridage : ( a remplir ? pouvez vous m'aider ?)
Numéro de licence : 2380762389 ( là aussi fait partie du crack)
Clé web : 8H51001977 ( là aussi fait partie du crack)

ensuite il y a un bouton " débrider " pour valider les choix.


Croyez vous que les deux problèmes soient liées ????
pouvez vous m'aider svp ? vous pouvez aussi m'ecrire à bemane@caramail.com
car ma copine est bien embetté pour la suite......
0