Les bases de données ACCESS et VB6.

peopletjp Messages postés 12 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 28 janvier 2008 - 11 mars 2003 à 13:41
cs_Zan Messages postés 174 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 25 mai 2006 - 12 mars 2003 à 09:33
Bonjour, bonsoir
Sujet : Les bases de données ACCESS et VB6.
Niveau : Débutant.

Je cherche lors de la création d'un enregistrement à vérifier que celui-ci n'existe pas
dans la base mais en fonction du contenu de plusieurs champs et avant son enregistrement.
(ex: la vérification devra porter la valeur des champs NOM & PRENOM)

Quelle méthode utiliser (find, seek...) Quel devra en être la syntaxe. Quelqu'un
possède-t-il un petit exemple.
Avec mes remerciements.
A bientôt.

3 réponses

cs_Zan Messages postés 174 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 25 mai 2006
11 mars 2003 à 14:00
il te faut un index sur nom/prenom et tu fait un seek,
si il ne trouve rien ou kelk chose de different => c'est parfait.
si tu peux pas faire d'index, une seule solution :
parcourir toute la base !!! :-(

qu'est ce que tu utilise pour lire ta base ?
parce que la, je peut pas etre plus preci

Zan
0
peopletjp Messages postés 12 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 28 janvier 2008
12 mars 2003 à 09:04
Voici le bout de code qui me permet de lire ma base

--------------------------------------------------------------------
Private Sub Form_Load()
Dim lRegion As Long
Dim lResult As Long
lRegion = CreateRoundRectRgn(0, 0, Me.Width / 15, Me.Height / 15, 55, 55)
'On peut modifier les deux 15 à la fin pour arrondir plus ou moins
lResult = SetWindowRgn(Me.hWnd, lRegion, True)

' Choix du fournisseur de la BDF
dbAdoL_MILITAIRE.Provider = "Microsoft.jet.OLEDB.4.0"
' Chemin de la Base de Données - ici le répertoire de l'application
dbAdoL_MILITAIRE.ConnectionString = "C:\Xzénium\MDB\Xzénium.mdb"
dbAdoL_MILITAIRE.Open ' Ouverture de la connection
cmAdoL_MILITAIRE.ActiveConnection = dbAdoL_MILITAIRE ' Pour relier la connexion ouverte à la commandecmAdoL_MILITAIRE.CommandText "SELECT * FROM L_MILITAIRE WHERE " & " QUALITE 'OPJ'" ' Configuration de la commande avec requête SQL
rsAdoL_MILITAIRE.CursorLocation = adUseClient ' Initialisation du Curseur Client
rsAdoL_MILITAIRE.CursorType = adOpenDynamic ' Utilisation d'un Curseur Client Dynamique
rsAdoL_MILITAIRE.LockType = adLockPessimistic ' Vérouillage de l'Enregistrement dès son accès
rsAdoL_MILITAIRE.Open cmAdoL_MILITAIRE ' Transmission de la commande à la méthode Open
rsAdoL_MILITAIRE.Sort = "NOM ASC" ' Tri par nom

' Ouverture connexion pour liste Grade, Qualité et Fonction
With dbAdoGRADE
.Provider = "Microsoft.Jet.OLEDB.4.0" ' Fournisseur d'accès
.Mode = adModeRead 'Write ' Mode lecture écriture
.CursorLocation = adUseClient ' Type de curseur
.Open "C:\Xzénium\MDB\Xzénium.mdb"
End With

' Création recordset
With rsAdoGRADE
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.ActiveConnection = dbAdoGRADE
.Open "L_GRADE" 'table
End With
ChargeCmb1
ChargeListe
End Sub

Je me complique peut-être la vie mais je n'ai rien trouvé d'autre. Il y a peut-être plus simple...
Merci pour ton aide mais essaye d'être plus claire car je débute vraiment dans la prog de VB.....
0
cs_Zan Messages postés 174 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 25 mai 2006
12 mars 2003 à 09:33
désolé mais l'ADO je n'utilise pas... trop lent.
je lui prefere le DAO, c'est aussi plus simple.

je ne peux donc pas t'aider plus... :(

Zan
0
Rejoignez-nous