connection bd avec un ActiveX du type VSFlexGrid
Anonyme
Bonjour,
J'ai téléchargé VSFlexGrid (de componentOne) qui est un activeX.
Celui-ci est un champ tableau assez évolué.
Le problème est de se connecter à une base de donnée avec.
Mon projet fonctionne avec une base de donnée MySQL.
Avec l'activeX ,il faut se connecter via OLEDB ODBC.
Ca c'est possible.
Mais le problème c'est lorsque que l'on veut configurer la connexion de l'activeX.


Voici l'extrait de l'aide pour la connexion (un peu brève).

[form!]VSFlexGrid.DataSource[ = DataSource ]

On remplace par : ActiveX1>>DataSource= ?

Remarks

This property behaves differently in the ADO and DAO versions of the VSFlexGrid control.

OLEDB/ADO version (VSFLEX8.OCX)

The DataSource parameter is a reference to an object that qualifies as a data source, including ADO Recordset objects and classes or user controls defined as data sources.

You may set the DataSource property at design time using the property window. When you select the DataSource property, you will get a drop-down list enumerating the sources available. These include sources defined with Visual Basic's Data Environment as well as any controls defined as data sources, such as the Microsoft ADO data control.

You may also set the DataSource property at runtime using the Visual Basic Set statement, as shown below:

' ADODC1 is a Microsoft ADO Data control

Set fg.DataSource = ADODC1



Est ce que quelqu'un connait la solution ?

Contribution le : 07/04/2004 09:37
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Stagiaire WDF
Inscrit:
05/03/2004 10:51
De Lille
Post(s): 45
Est-ce que à ActiveX1>>DataSource il ne faudrait pas allouer un objet automation.
Si oui, que faut il mettre dans objetActif(".......")
On peut mettre Word.application ...
mais est possible de mettre qqch du type "OLEDB.ODBC"

Contribution le : 07/04/2004 09:39
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Non il faut affecter à ActiveX1>>DataSource un object de type DataSource

Ma réponse peut te parraitre bête mais cela signifie que ton activeX attend de recevoir un objet contenant la meme interface. Cela pourrait être par exemple un ADODB.Recordset

J'ai développé une classe qui permet de manipuler les connecteur ADODB entre autres ADODB.Connection, ADODB.Catalog et ADODB.Recorset en WinDev qui permet de lire des données issues de bases diverses accessibles via un UDL

Me contacter en privé cette classe ne possède pas documention et nécessite un minimum de connaissance sur les objets ADODB.

Contribution le : 07/04/2004 15:40
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
c'est dans la boite

Contribution le : 07/04/2004 16:36
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Stagiaire WDF
Inscrit:
05/03/2004 10:51
De Lille
Post(s): 45
Bonjour,

Je suis donc en train de regarder la classe cADO. Mais je dois avouer que je n'y arrive pas. Pourrais tu me donner le code d'initialisation pour une connection.
Je te donne les infos :
La BD est une BD MySQL, un pilote ODBC est installé(car je ne doute que l'on puisse se connecter avec l'accés natif Windev).
La connection est configurée dans outils d'administration avec le nom plan, (il pointe sur la BD voulue), il doit n'y avoir qu'une ou 2 lignes je pense mais bon...

Pour l'activeX : que dois je affecter à ActiveX1>>DataSource pour initialiser la connection ?

Peut-être ai je tout faux. Pense tu que je puisse vraiment me connecter via ODBC ?

Merci

Alexandre


Contribution le : 13/04/2004 09:35
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Si tu possède un driver ODBC cela ne devrait pas poser de problème.

La première chose à faire , c'est de créer un fichier UDL

Comment créer un fichier UDL
-dans le répertoire de votre application creér un nouveau fichier texte vide.
-Changer l'extension du fichier de .txt en .udl
-Double cliquer su le fichier, et dans l'onglet fournisseur sélectionner le fournisseur adéquate (ici OLE DB provider for ODBC Drivers
-Dans l'onglet Connexion sélectionner la source de donnée voulue ainsi que le nom d'utilisateur et le mot de passe.
Cocher Autoriser l'enregistrement du mot de passe.
-Tester la connexion si la connexion fonctionne alors vous allez pouvoir commencer
-Renommer la connexion par exemple comme test.udl

Utilisation de la classe cADO
-importer la classe cADO
-Déclarer une instance de la classe

MaBdd est un objet cADO(<Chemin du fichier 
udl>+"\test.udl")
ADO_Rs est un objet automation dynamique
Sql est une chaine

Sql "SELECT * FROM " + <MaTable>
SI PAS MaBdd:OpenDataBase() ALORS
	Erreur("Imposible d'ouvrir la base" + CR + MaBdd:GetDbEngineErrors())
	RETOUR
FIN
SI PAS MaBdd:OpenRs(Sql, ADO_Rs) ALORS
		Erreur("Imposible de d'ouvrir un RecordSet " + RC + MaBdd:GetDbEngineErrors())
		RETOUR
	FIN
Info(MaBdd:RecordCount(ADO_Rs)+ " Enregistrements trouvés.)
TANTQUE PAS ADO_Rs>>EOF() ALORS
 INFO(ADO_Rs>>Fields("<Nom d'un champ de la table>")>>Value)
 ADO_Rs>>MoveNext()
FIN


Voilà dans ce code vous avez
-La connexion à la base de données via le fichier UDL
-La création d'un RecordSet contenant les données correspondant à la requête SQL
-Une méthode pour récupérer le nombre d'enregistrement correspondant à la requête
-Une méthode pour parcourir les données de la requête.


Contribution le : 13/04/2004 10:37
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Stagiaire WDF
Inscrit:
05/03/2004 10:51
De Lille
Post(s): 45
Ca à l'air de fonctionner.
L'activeX lit bien les enregistrement avec cette méthode.
Faut-il absolument passer par un ODBC ?
Il faut maintenant que j'étudie cet ActiveX pour faire les tableau avec fusion de cellules.
Je n'y serai sûrement pas arrivé sans ton aide, merci beaucoup.
Alexandre

Contribution le : 13/04/2004 11:09
Créer un fichier PDF de la contribution Imprimer


Re: connection bd avec un ActiveX du type VSFlexGrid
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Normallement l'accès à une base MySql en windev peut se faire de maniere native.
Je l'avait testé en WinDev 7, cela fonctionnait.
Le problème que tu peut rencontré c'est l'affectation de ta DataSource

En effet pour que l'affectation puisse fonctionner il faut que les deux objets soit de meme interface et là je ne pense pas que cela soit le cas avec WinDev
Par contre la DataSource doit correspondre à la méthode GetDB() de ma classe cADO
ActiveX1>>DataSource = :GetDB()
Le GetDB() correspond à la connexion à la Base.

Contribution le : 13/04/2004 13:40
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2