lolo
-
16 févr. 2000 à 05:13
faraj_o
Messages postés1Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention12 mars 2005
-
12 mars 2005 à 19:03
J'aimerais réaliser une sorte de moteur de recherche en VB :
il y a différents champs à remplir par l'utilisateur; une fois ces
derniers remplis l'application recherche les infos qui correspondent
à la requête de l'utilisateur
Ce dernier chercherait les données dans une base Access auquel
il est lié. Actuellement j'essaye de mélanger du code VB
et des requêtes SQL. Malheuresement je ne rencontre que des problèmes.
Aidez moi, svp
Ce code tente de montrer la base, aucune erreur n'est traitée.
Pour cet exemple, tu as besoin d'une Common Dialog et
de ton fichier Access:
Dim BDDefinitions as Database
Dim RSTemp1 as Recordset
Dim SQLQry as String
Dim DonneeX as Variant 'c'est juste un exemple, utilise le bon type pour ta donnée...
CommonDialog1.FileName = vbNullString
CommonDialog1.InitDir = "C:"
CommonDialog1.DialogTitle = App_ProductName & " -- Ouvrir Base de Données"
CommonDialog1.Filter = "MS-Access (*.mdb)|*.mdb"
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlOFNFileMustExist Or cdlOFNPathMustExist Or cdlOFNHideReadOnly
CommonDialog1.ShowOpen
SQLQry = "SELECT * FROM TableX;" 'Ici tu peux lire le contenu de tes contrôle et composer ta requête.
Set BDDefinitions = DBEngine.OpenDatabase(DBPath, True, True)
Set RSTemp1 = BDDefinitions.OpenRecordset(SQLQry, dbOpenSnapshot)
If RSTemp1.RecordCount > 0 Then 'Au cas pas de résultats
RSTemp1.MoveLast 'Pour décompte exact
RSTemp1.MoveFirst
Do While (Not RSTemp1.EOF) 'Tant que non rendu en fin de l'ensemble résultat
DonneeX = RSTemp1.Fields("ChampsX")
'Maintenant tu utilise ta DonneX
RSTemp1.MoveNext 'Passer à l'enregistrement suivant
Loop
Else
msgbox "Aucune données correspondants à la requête trouvés!"
End If
RSTemp1.Close 'Optionnel si on ne réutilise pas la variable dans la procédure.
labynocle
Messages postés9Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 mars 2003 1 mars 2003 à 16:02
je realise actuellement un serveur sql et je veux le faire communiquer avec ma base de donnees gerees sous access... mais je ne comprends pas grand chose de ton code :(
si tu peux etre plus explicite je t en serai grandement reconnaissant :)
faraj_o
Messages postés1Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention12 mars 2005 12 mars 2005 à 19:03
tu peut le faire juste grace aux controle filedriver and dirdriver
en utilisant bien sur les instructions : repertoire.path qui donne le chemin de
repertoire courant et repertoire.list(i) qui liste tous les repertoire
de repertoire courant ,avec i le numero de repertoire en ajoutant
repertoire.listcout
R/q : utiliser les fonctions recursives jusqu'à vous trouivez le numero des
repertoires courant esteagale à 0