peopletjp
Messages postés12Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention28 janvier 2008
-
11 mars 2003 à 13:41
cs_Zan
Messages postés174Date d'inscriptionjeudi 18 avril 2002StatutMembreDernière intervention25 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.
cs_Zan
Messages postés174Date d'inscriptionjeudi 18 avril 2002StatutMembreDernière intervention25 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
peopletjp
Messages postés12Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention28 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.....