Comptacter base access sous windev ?
Utilisateur WDF
Inscrit:
25/10/2006 10:29
Post(s): 93
Bonjour,

Je cherche a comptacter une base access directement depuis Windev.

J'ai réccupéré un code VB :
Citation :

Sub cmdCompacter_Click ()
sNomBase= "C:\Mes documents\Base.MDB"
sNomBaseTmp= "C:\Mes documents\BaseTmp.MDB"
DBEngine.CompactDatabase sNomBase, sNomBaseTmp '1. Compactage dans une nouvelle base
Kill sNomBase '2. Suppression de la base originale
Name sNomBaseTmp As sNomBase '3. Renommer la base compactée avec le nom de la base originale
End Sub


La conversion est triviale sauf la ligne "DBEngine.CompactDatabase sNomBase, sNomBaseTmp '1. Compactage dans une nouvelle base " en Windev..

Si quelqu'un sait faire !

Contribution le : 05/12/2007 10:47
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

petite astuce pour compacter une base Access depuis la version 2000.
Il faut passer par le serveur OLE "Microsoft Jet and Replication Objects 2.X Library"

sBase est une chaîne
sBaseTemp est une chaîne

JRO est un objet Automation  "JRO.JetEngine"

sBase = "C:\Mes documents\Base.MDB" 
sBaseTemp = "C:\Mes documents\BaseTmp.MDB" 

//Supprimer la base temporaire éventuellement existante
SI fFichierExiste( sBaseTemp ) = Vrai  THEN
	fSupprime( sBaseTemp, frLectureSeule )
FIN

//Compacter/réparer la base originale dans une base temporaire
JRO>>CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBase, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBaseTemp + ";Jet OLEDB:Engine Type=5")

//Supprimer la base originale
fSupprime( sBase )

//Renommer la base temporaire avec le nom de la base originale
fRenomme( sBaseTemp, sBase )

Contribution le : 05/12/2007 12:24
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Utilisateur WDF
Inscrit:
25/10/2006 10:29
Post(s): 93
Bonjour,

Merci ca marche très bien DrCharly93.

Juste 2 petites question subsidiaires :

1) Existe t'il un site ou un logiciel pour donner les méthodes d'une librairie comme celle ci ? J'ai regardé plusieurs pages de MSDN sans succès...

2) Y a t'il un moyen de catcher les erreurs directement dans Windev et/ou récuppérer le résultat de JRO>>CompactDatabase. Je veux être sur que la méthode a bien fonctionné. (Je l'ai fait sur une base défectueuse et j'ai eu un message d'erreur).

Merci

Contribution le : 29/01/2008 14:04
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Réponse Question 1
vous trouverez ici une ressource nommé WDTypeLib que j'ai écrit avec WinDev 11 et qui vous permettra de voir les méthodes accéssibles ainsi que la syntaxe à utiliser en WLangage.
Ce programme permet de lire les objets OLE de type DLL ou bien les fichiers *.tbl et d'autres encore.

Pour le Microsoft Jet and Replication Objects vous trouverez ce fichier dans
Programmes files\Fichiers communs\system\ado\msjro.dll

Question : Comment réaliser un try catch en WinDev
QUAND EXCEPTION DANS
   //Try
FAIRE
  //Catch
  RETOUR
FIN

FIN:
  //Finally
  //Exécuté dans tous les cas

Contribution le : 29/01/2008 18:06
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Stagiaire WDF
Inscrit:
09/02/2008 18:37
Post(s): 11
Moi j'ai fait le même code mais ca n'a pas marcher alors j'ai le moteur JRO installer dans ma machine.

Contribution le : 09/02/2008 18:45
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Stagiaire WDF
Inscrit:
09/02/2008 18:37
Post(s): 11
salut charly.

j'ai bien utiulisé votre code pour compacter une base access sous windev mais ca n'a pas marcher, malgré que j'ai le moteur JRO installer dans ma machine.
pouver vous me dire pour quoi?

merci.

Contribution le : 09/02/2008 18:50
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Citation :

pouver vous me dire pour quoi?

et non malheureusement je ne suis pas devint ni marabout
Domage cela aurait pu me servir pour gagner les 130 millions de la loterie, tantpis, je retourne bosser...

Non sans rire il me faudrait quand même au minimum le contenu d'un message d'erreur.

Contribution le : 11/02/2008 10:03
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Stagiaire WDF
Inscrit:
09/02/2008 18:37
Post(s): 11
c'est bon drcharly
ton prog. marche bien car la base.mdb etait ouverte par un autre utilisateur.
mais veut savoir si j'ai peut modifier le mot de passe de la base avec la meme méthode.

merci.

Contribution le : 23/02/2008 18:17
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Comme tu créer une nouvelle base au moment de la compression tu peux lui affecter un nouveau mot de passe dans la ligne
JRO>>CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBase, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBaseTemp + ";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=" + sPassword + ")"

Contribution le : 23/02/2008 19:26
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Stagiaire WDF
Inscrit:
09/02/2008 18:37
Post(s): 11
Merci charly tu commence vraiment a devenir SKYWALKER.

une derniere demande comment je peut lister les utilisateur
qui sont connecter a mabase.mdb ou a mon application windev?

Contribution le : 25/02/2008 19:02
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonsoir,

Pour cela il vous faut télécharger le fichier jetutils.exe, le décompresser dans un répertoire pour pouvoir récupérer la dll msldbusr.dll ainsi qu'un fichier msldbusr.doc qui vous expliquera comment utiliser la dll pour récupérer la liste des utilisateur qui sont connectés à la base.

ATTENTION avec cette DLL ce n'est pas le nom de l'utilisateur qui est récupérer mais la nom netbios de la machine qui est connecté à la base.

Contribution le : 26/02/2008 02:51
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comptacter base access sous windev ?
Stagiaire WDF
Inscrit:
09/02/2008 18:37
Post(s): 11
mais charly je veut lister les utilisateur avec windev
mais ca ne fait rien

j'ai un prb. avc les vue
j'ai crée une vue avec HcréeVue qui marche bien mais dés que je change de connexion avc une autre base.mdb
l'image de la vue n'éxiste plus.
pourquoi???

Contribution le : 08/03/2008 17:36
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