Bonjour
j'aimerais vérifier un doublon dans un champs avec la valeur d'une variable.
avec un retour Booléen.
j'ai fait des recherche sur les doublons et je n'ai rien trouvé.
merci
Bonjour
j'aimerais vérifier un doublon dans un champs avec la valeur d'une variable.
avec un retour Booléen.
j'ai fait des recherche sur les doublons et je n'ai rien trouvé.
merci
salut
un truc tout bête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function doublonestula(valeur as integer) as boolean Dim RS as DAO.RecordSet dim StrSQL as String strSQL="SELECT COUNT(*) as total FROM MaTable Where Champ=" & valeur &";" Set RS= CurrentDb.Openrecordset(StrSQL) if RS!Total > 1 then doublonestula = true Else doublonestula = false End if
Merci Jpcheck
Je travail sur ta fonction et je t'avoue que je ne la comprend pas trop.
1-La variable que je veux vérifier est de type string et toi "valeur" est de type integer. j'imagine que je peut le modifier?
2-Je vois pas comment la fonction sait dans quel table et quel champs chercher la valeur.
merci
j'ai modifier la fonction comme suit
j'ai changé le Type de valeur en string
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function doublonestula(valeur As String) As Boolean Dim RS As DAO.Recordset Dim StrSQL As String StrSQL = "SELECT COUNT(*) as total FROM Tbl_Produit Where Champ=" & valeur & ";" Set RS = CurrentDb.Openrecordset(StrSQL) If RS!Total > 1 Then doublonestula = True Else doublonestula = False End If End Function
et j'ai changé MaTable pour Tbl_Produit
pour faire des essais j'ai créer un bouton qui va comme suit
merci de votre aides
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Doublon_Click() Dim valeur As String valeur = "a" MsgBox valeur doublonestula (valeur)
Bonjour,
j'ai une erreur de compilation avec le ligne
en bleu je sais pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part RS As DAO.Recordset
j'essai plusieurs modifications dans le code et y a rien qui change
Est-ce que je dois cocher une certaine référence ??
merci
Bonjour,
Dans l'éditeur de code tu ouvre Outils > Référence...Dim RS As DAO.Recordset
...tu devrais avoir une référence commençant par MANQUANT..(il suffit de la décocher) Microsoft DAO x.x Object Library
En espérant que cela règle ton problème....
d'autre part, si ton champs est un texte, il faut des apostrophes (') dans ta requête SQL
Merci à tous
C'est la première fois que je travail avec la notion de recordset alors je suis un peu dur de la feuille
Bon, j'ai un bog à la ligne :
Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set RS = CurrentDb.Openrecordset(StrSQL)
j'imagine que mon erreur ce situe sur cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function doublonestula(valeur As String) As Boolean Dim RS As DAO.Recordset Dim StrSQL As String StrSQL = "SELECT COUNT(*) as total FROM nom Where Champ=" & valeur & ";" Set RS = CurrentDb.Openrecordset(StrSQL) If RS!Total > 1 Then doublonestula = True Else doublonestula = False End If End Function
Nom est le champs dans lequel je recherche un doublon
Code : Sélectionner tout - Visualiser dans une fenêtre à part StrSQL = "SELECT COUNT(*) as total FROM nom Where Champ=" & valeur
Mon appel ce fait comme suit
Voici le message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Doublon_Click() Dim valeur As String valeur = "a" MsgBox valeur doublonestula (valeur) End Sub
erreur d'execution 3078
Le moteur de la base de donnée micosoft jet ne peut pas trouver la table ou la requète source 'nom'. Assurez-vous qu'elle existe et qu'elle est correctement orthographiée.
salut,
alors :
- ta table s'appelle-t-elle bien "nom" ?
- ton champs s'appelle-t-il bien "Champ" ?
- si ton champs "Champs" est de type texte et non pas numérique, il faut ajouter avant et après la valeur un ' (simple apostrophe).
Je m'excuse pour la confusion
donc, je reformule mon code car :
Ma table se nomme: tbl_Produit
Mon champ se nomme: Nom
La variable se nomme: valeur
Donc je recherche dans la table 'tbl_Produit', le champ Nom si la variable valeur existe. Dans mon code d'apprentissage la valeur de la variable est "a" et je désire savoir si elle existe dans le champs nom de la table tbl_produit. C'est ce que j'ai besoin.
Voici mon nouveau code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function doublonestula(valeur As String) As Boolean Dim RS As DAO.Recordset Dim StrSQL As String StrSQL = "SELECT COUNT(*) as total FROM tbl_produit Where Champ=" & "'" & valeur & "'" & ";" Set RS = CurrentDb.Openrecordset(StrSQL) If RS!Total > 1 Then doublonestula = True Else doublonestula = False End If End Functionmerci je continu à travaillererreur d'execution 3061
Trop peu de paramètre, 1 attendu
Bonjour
Tu as aussi les fonctions de domaines pour réaliser ceci, elle sont un peu moins performantes que les recordset (cela se voit surtout sur de très grosses tables), mais plus facile à mettre en oeuvre.
Si tu es intéressé par ces fonctions, un peu de lecture : Les Fonctions de Domaine dans Access.
Regardes du coté de DCount.
Starec
+1 par rapport à Stares, le modo qui ne dort jamais (4h du mat'...)
comme ton champ s'appelle nom il faut faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function doublonestula(valeur As String) As Boolean Dim RS As DAO.Recordset Dim StrSQL As String StrSQL = "SELECT COUNT(*) as total FROM tbl_produit Where Nom=" & "'" & valeur & "'" & ";" Set RS = CurrentDb.Openrecordset(StrSQL) If RS!Total > 1 Then doublonestula = True Else doublonestula = False End If End Function
Voila ...ça fonctionne en partis
Je n'ai plus de message d'erreur, et je reçoit une réponse en forme booléen, mais elle est toujours à faux, même si la valeur exicte. Que la valeur exicte ou non je reçoit toujours un faux.
Mon appel se fait comme suit
et la fonction comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Doublon_Click() Dim valeur As String Dim rep As Boolean valeur = "u" MsgBox valeur rep = doublonestula(valeur) MsgBox rep
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function doublonestula(valeur As String) As Boolean Dim RS As DAO.Recordset Dim StrSQL As String StrSQL = "SELECT COUNT(*) as total FROM tbl_Produit Where Nom=" & "'" & valeur & "'" & ";" Set RS = CurrentDb.Openrecordset(StrSQL) If RS!Total > 1 Then doublonestula = True Else doublonestula = False End If End Function
merci
j'ai changé cette partis
pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part If RS!Total > 1 Then
et ça fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part If RS!Total > 0 Then
merci infiniment pour votre patience, j'aprécis
Bonne Journée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager