Base de données Access 2000 ds VB 6

cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014 - 6 sept. 2002 à 15:50
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014 - 12 sept. 2002 à 11:59
Comment ouvrir une base de données Access 2000 avec VB6 sans avoir à la convertir en Access 97 ?
Merci
-=-[ Golden-X] -=-

6 réponses

cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
10 sept. 2002 à 02:26
utilise microsoft jet 4.0
a+
raff
0
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
10 sept. 2002 à 11:00
Merci pour ton initiative ... mais voux tu bien etre un peu bavard et m'expliquer ça en détail ?
Merci d'avance.
-=-[ Golden-X] -=-
0
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
11 sept. 2002 à 03:25
Bon alors petit tutorial sur ado et access....

1) ajouter une référence à microsoft active x 2.x
2 ) besoin de trois objets le premier étant un objet connexion, que tu déclares en tant que...

dim cn as new adodb.connexion

3) un objet command qui peut prendre plusieurs formes, que tu déclares ainsi...

dim cmd as new adodb.command

4) un objet recordset, qui va chercher les données puis réserve une place pour eux dans la mémoire et puis peut aussi modifier la base de données ou faire des ajouts ....

dim rs as new rs.recordset

5) le code...énormément de variations possibles, en voici une...

'le fameux jet engine pour office 2000

cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Properties("Data Source")= "C:/mabase.mdb"
cn.Open

'une commande texte (style sql) qui sera utilisée plus tard lors de la création du recordset

cmd.ActiveConnection = cn
cmd.CommandText = "SELECT * FROM Table"

'ici la syntaxe est la suivante : SELECT Champ1, Champ2, Champ3, ... FROM Table"
'* veut dire "tous", et si les noms de champs ou de tables contiennent des espaces, alors il faut mettre en [] donc ex : [Champ 1]

'lorsque tu es pret à aller chercher les données, tu "set" le recordset (curseur, open)

rs.cursorlocation = aduseclient
rs.cursortype = adopendynamic
rs.locktype = adlockpessimistic
rs.open cmd

'le recordset va donc cherche la ligne de commande et l'exécute. Les propriétés du recordset permettent de cette facon la lecture, l'écriture.

L'essentiel par la suite est de travailler avec le recordset, de manière à aller chercher les données. Les méthodes sont diverses, moi j'utilise beaucoup la méthode filter, et find aussi. Exemple :
rs.filter "Table1 #Noir#"

La syntaxe est parfois difficile à saisir, en général :
le nom de la table
un opérateur (=, <, >, <>, <=, >=) ou autre (comme le mot LIKE)
puis le caractère ou la valeur à rechercher/filtrer
j'utilise les ## pour encadrer un string, car utiliser les "" portent à confusion. Si tu dois rechercher une variable, la syntaxe est particulière :

MaValeur = "Allo"rs.Filter "Table1 '" & MaValeur & "'"
ou
rs.Filter = "Table1 LIKE '*" & MaValeur & "*'"
ours.Filter "Table1 #Allo# AND Table2 = #Bon#"
etc.

Le recordset va alors se décharger de tous les enregistrement non correspondant. Tu peux ensuite utiliser la syntaxe suivante pour obtenir des informations sur les enregistrements effectifs :

text1.text = rs!Champ1 'par défaut le rs est sur le premier enregistrement
ou
rs.move 4
text1.text = rs!Champ1
ou
for i = 1 to rs.recordcount
list1.add rs!Champ1
next i
ou
do while rs.eof = false
list1.add rs!Champ1
loop

etc etc etc......

voilà peut-être tu savais tout ça mais bon, d'autres profiteront surement de ce petit tutorial pour commencer avec ado.......

a+ raff
0
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
11 sept. 2002 à 17:10
Merci Raff pour le temps que tu m'as consacré ..
Le projet sur lequel je travaille je l’ai commencé avec ADO 3.51 (les bases de données c nouveau pour moi) c pourkoi je ne peux utiliser que les bases access 97 … et j’ai pas le temps de tout recommencer. Le prochain je le ferai avec ActiveX ADO.
A+ Raff et merci infiniment.

-=-[ Golden-X] -=-
0

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

Posez votre question
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
11 sept. 2002 à 22:53
je ne sais pas exactement comment tu as conçu ton prog, mais si tu télécharge mdac dernière version (2.6), alors tu n'as qu'à changer le connection pour jet 4.0 et puis tout devrais fonctionner très bien avec access 2000....

essaie pour voir tu m'en donneras des nouvelles...
a+
0
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
12 sept. 2002 à 11:59
C koi mdac ?
Tu sais quoi, je vais t’envoyer le zip de l’application avec le dossier d’analyse sous Excel (MCD, MLD, et tout le reste) tu peux me faire confiance le classeur ne contiens pas de macro ;-), comme ça tu fera tes remarques et suggestions ..
Bien sûr si tu es d’accord et que t’as le temps … je comprendrai si t’es occupé ;-)
Mon histoire avec les bases de données est très récente : je suis tombé sur le premier bouquin que j’ai trouvé de VB, j’ai lu quelque pages et je commençais le développement …
Envoies moi ton émail pour t’envoyer le zip ..
Voici mon email : golden--x@caramail.com
Sinon j’aimerai qu’on reste en contact pour échanger nos idées en programmation et d’autre trucs si tu vx ..
J’ai consulter ton projet déposé sur VB France il est très cool .. 10/10
A+ Raff
Et Merci

-=-[ Golden-X] -=-
0
Rejoignez-nous