Test par requéte sql si numéro présent dans bdd access

Résolu
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005 - 7 juin 2005 à 08:58
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 8 juin 2005 à 10:59
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

jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 10:08
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
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
7 juin 2005 à 09:05
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...
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
7 juin 2005 à 09:37
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@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
7 juin 2005 à 14:51
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
7 juin 2005 à 15:07
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
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
7 juin 2005 à 15:10
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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
7 juin 2005 à 16:10
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@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 08:03
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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
8 juin 2005 à 08:07
Essayes :
Set donnee db.OpenRecordset("SELECT * FROM Numero WHERE [NumeroPers] " & Val(Txt_Numero.Text) & "")

It@li@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 08:35
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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
8 juin 2005 à 08:39
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@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 08:50
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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
8 juin 2005 à 08:55
eh oui.....
c'est normal qu'il y ait 2 enreg de selectionnée avec cette requete ?

It@li@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 09:02
bah oui vu que ya que 2 enregistrement dans ma base de donnée.

JIMM
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
8 juin 2005 à 09:11
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@
0
jimluis Messages postés 90 Date d'inscription jeudi 17 mars 2005 Statut Membre Dernière intervention 16 juin 2005
8 juin 2005 à 09:17
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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
8 juin 2005 à 10:59
De Rien @+

Forza

It@li@
0
Rejoignez-nous