Test par requéte sql si numéro présent dans bdd access [Résolu]

Signaler
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
Bonjour,
J'ai un textbox ou je rentre un numero de controle, et un bouton valider. Je vaudrais que quand je clique sur le bouton, que ca test si le numero de controle que j'ai rentré est bien présent dans ma base de donnée access.
Y'as t'il une requéte Sql pour ça??
Merci d'avance.

JIMM

17 réponses

Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

C'est bon j'ai trouver une solution, le probléme venait surement de la connexion ou du traitement de la requéte

le code bon est :
strsql "SELECT * FROM Numero WHERE [NumeroPers] " & Val(Txt_Numero.Text) & ""


Set Record1 = db.OpenRecordset(strsql)


If Record1.RecordCount <> 0 And Len(Txt_Numero.Text) > 1 Then
MsgBox ("Numero Existant")
Else
MsgBox ("Numero Absent")
End If

MERCI POUR TON AIDE ITALIA

JIMM
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
23
ben tu peux faire ca comme ca....
set rs = new recordset

rs.Open Select * from tatable where numero = '" & text1.text & "',connexion, adopendynamic, adlockoptimistic
if IsNull(rs![Numéro]) Then
msgBox("enregistrement raté")
Else
msgBox("enregistrement réussi")
End if
Voila ca devrait marcher...

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
Si la réponse vous convient, appuyez sur réponse acceptée...
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
En DAO en cochant...Projet...Références...Microsoft DAO 3.51 Object Library.

Dans ton Code :

Set Db = OpenDatabase("C:\MaBase.mdb") ' Définition base de donnéeSet Donnee Db.OpenRecordset("SELECT * FROM NomTable WHERE NomChamp '" & Text1.Text & "'")
If Donnee.RecordCount <> 0 Then
MsgBox("Numero Existant")
Else
MsgBox("Numero Absent")
End if
Set Db=Nothing
Set Donnee=Nothing

' Attention si le champ que tu tes dans ta base et de type numerique, la requete sera :Set Donnee Db.OpenRecordset("SELECT * FROM NomTable WHERE NomChamp " & Text1.Text & "")

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

Aucune des deux méthode ne marche, ou je sais pas bien le faire, en fait j'ai toujours le même messagebox, donc ya un prob
Numeo représente ma table et NumeroPers mon champs en numérique.

moi j'ai fais

Set db = OpenDatabase("C:\Bdd access admin.mdb") ' Définition base de donnéeSet donnee db.OpenRecordset("SELECT * FROM Numero WHERE NumeroPers " & Txt_Numero.Text & "")


If donnee.RecordCount > 1 Then
MsgBox ("Numero Existant")
Else
MsgBox ("Numero Absent")
End If
Set db = Nothing
Set donnee = Nothing

ET

'Set Rs = New ADODB.Recordset


'Rs.Open "Select * from Numero where NumeroPers = '" & Txt_Numero.Text & "',Ma_Base, adopendynamic, adlockoptimistic"
'If Rs![NumeroPers] = Txt_Numero.Text Then
'MsgBox ("enregistrement raté")
'Else
'MsgBox ("enregistrement réussi")
'End If

Pourquoi ça marche pas??????
JIMM
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
23
il se passe quoi quand tu fais ca? Tu as quoi comme message d'erreur?



Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

J'ai aucun message d'erreur, le probléme c'est que quand je met un numéro, qu'il soit présent ou pas dans ma base de donnée, ça na aucune influence, moi je veux que quand il y ai, messagebox bon sinon messagebox pas bon.

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
tu n'a pas bien recopié mon code..

If donnee.RecordCount <> 0 Then
MsgBox ("Numero Existant")
Else
MsgBox ("Numero Absent")
End If
Set db = Nothing
Set donnee = Nothing

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

Oui, c'est parce que j'avais changé mais ça ne change rien, ça ne marche pas non plus, cette condition ne va pa a priori, ou alors le probléme vien de la requéte, je vais cherché, si quelqu'un sait merci de m'aider.

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Essayes :
Set donnee db.OpenRecordset("SELECT * FROM Numero WHERE [NumeroPers] " & Val(Txt_Numero.Text) & "")

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

Ca ne change rien, il me marque toujours "numero valide".
Est ce que cela peut provenir de la condition de la boucle if ????
Sinon je ne vois pas........

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Prés la Requéte tu mets :

donnee.MoveLast
Nb=donnee.Recordcount
donnee.MoveFirst

"Nb" te donnera le nombre exacte d'enregistrement selectionné lors de ta requéte

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

Nb me donne 2 mais cça que je compren pa, il y aura toujours plusieur enregistrement donc ça sera toujours vrai la boucle, c pa vrai???

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
eh oui.....
c'est normal qu'il y ait 2 enreg de selectionnée avec cette requete ?

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

bah oui vu que ya que 2 enregistrement dans ma base de donnée.

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Non tu peux evoir 10000 Enregistrements dans ta Table et que 5 Selectionnés en Fonction des Critéres de ta requéte..

Toi c'est normal...tes 2 Enregistrements ont le même NumeroPers ?

It@li@
Messages postés
90
Date d'inscription
jeudi 17 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

non c'est 2 numero différent, de toute façon ça ne change rien au probléme, mais c'est cool j'ai compris quelque chose au moins.
Mais si mon résultat est toujours supérieur a 0, c'est que ya un prob, mon critére n'est pas pris en compte en faite. Non??
Alors comment faire, Est il possible de tester autre chose que le recordcount.??

JIMM
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
De Rien @+

Forza

It@li@