Help!! boutton recherche

hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011 - 30 avril 2008 à 14:25
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008 - 10 mai 2008 à 11:50
bonjour tt le mende j'éspère ke vous allé m'aider sur ce probleme!! je vé etre bref

jé créer une base de données avec access pour faire une gestion de stock. jé 4 champs le nom du composant'reptop),la carte ou il se setue(carte), l'idantifiant, et le tiroir ..
mon probleme et ke jé des ncomposant samblables dans des cartes différentes (c0 se trouve dans les deux cartes) et kand je fé la recherche il m'affiche ke le premier composant enregistré dans la base de données.

voila le code

Private Sub Command1_Click()


Dim name As String
Dim prompt As String
Dim title As String
'Dim S As String
Dim y As String
prompt = "entrer le nom du composant "
title = "recherche"
y = InputBox(prompt, title)
If Len(y) = 0 Then


Exit Sub
Else




name = y
S = "reptop1='" + y + "'"
Data1.Recordset.FindFirst S


 


If Data1.Recordset.NoMatch Then
MsgBox "le nom n'existe pas "
Else




If List1 = "ambre" Then


Data1.RecordSource = "select[*ALL]from Table1 where carte=ambre and reptop=y"
 Text1.Text = Data1.Recordset![reptop1]
      Text2.Text = Data1.Recordset![identifiant]
       Text3.Text = Data1.Recordset![carte]
       Text4.Text = Data1.Recordset![tir1]
       
 elseif  List1 = "emeraude" Then
Data1.RecordSource = "select[*ALL]from Table1 where carte=emeraude and reptop=y"
Text1.Text = Data1.Recordset![reptop1]
      Text2.Text = Data1.Recordset![identifiant]
       Text3.Text = Data1.Recordset![carte]
       Text4.Text = Data1.Recordset![tir1

        Else
        MsgBox "pas de chance"
      
      
       End If
        End If
End If




End Sub

11 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 avril 2008 à 14:50
Salut,
Il me semble que dans tes posts précédents, nous t'avons déjà fait remarquer que le langage SMS est à bannir ici ok?

Alors repose ta question (DANS CE MEME TOPIC) correctement merci.

@+: Ju£i?n
Pensez: Réponse acceptée
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 14:54
ok la prochaine fois je vais ecrire correctement
veuillez ageere mes salutations les plus distinguées
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 avril 2008 à 14:56
Re,
Voila de la couleur et plusieurs petite correction..

Private Sub Command1_Click()
Dim name As String
Dim S As String
Dim y As String

   y = InputBox("entrer le nom du composant ", "recherche")
   If Len(y) = 0 Then Exit Sub

   name = y
   S = "reptop1='" & y & "'"
   Call Data1.Recordset.FindFirst(S)

   If Data1.Recordset.NoMatch Then
       MsgBox "le nom n'existe pas "
   Else
       If List1 = "ambre" Then
           Data1.RecordSource = "select[*ALL]from Table1 where carte='ambre' and reptop='" & y & "'"
           Text1.Text = Data1.Recordset![reptop1]
           Text2.Text = Data1.Recordset![identifiant]
           Text3.Text = Data1.Recordset![carte]
           Text4.Text = Data1.Recordset![tir1]
       ElseIf List1 = "emeraude" Then
           Data1.RecordSource = "select[*ALL]from Table1 where carte='emeraude' and reptop='" & y & "'"
           Text1.Text = Data1.Recordset![reptop1]
           Text2.Text = Data1.Recordset![identifiant]
           Text3.Text = Data1.Recordset![carte]
           Text4.Text = Data1.Recordset![tir1]
       Else
           Call MsgBox("pas de chance")
     
       End If
   End If
End Sub , ----
[code.aspx?ID=41455 By Renfield]

Relis ton code il y a des incohérences
<ol><li>reptop1 puis reptop ? NORMAL OU PAS?</li><li>Parfois tu entour les champs par '...' parfois pas normal ou pas?
</li></ol>

@+: Ju£i?n
Pensez: Réponse acceptée
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 15:03
merci  pour ta réponse . oui j'ai fais des fautes : il y'a seulement le reptop et y'a pas les ' ' sur les mnoms des cartes .je n'ai pas access alors je peux pas testé ici. mé est ce ke ta bien compris mon problème?
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 avril 2008 à 15:07
Re,
Lorsqu'on te dit d'éviter le SMS c'est pas pour rien...
Alors non je n'ai rien compris à ton problème.
Peu être devrais tu faire une boucle pour récupérer TOUS les champs.

utilises EOF et MoveNext pour l'objet Recordset

@+: Ju£i?n
Pensez: Réponse acceptée
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 15:18
oui c'est ce que je pense!!  je vais bien expliqué mon problème
je choisis une carte sur la liste soit'emeraude'ou'ambre' je clique sur le boutton recherche pour chercher un composant dans l'une des cartes choisi dans la liste.

ma base de donnees access

reptop    carte            identification      tir

c0           emeraude                ma                  22
c0           ambre                      mo                  23
c1           emeraude                   ka              24
c1          ambre                          do               25

si je recherche le composant c0 avec la carte emeraude ca marche
si je rechreche le c0  avec cla carte ambre ca marche po

mercciii pour tes réponses
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 avril 2008 à 15:25
Re,
Peu être parceque List1 ne contient pas exactement ambre

@+: Ju£i?n
Pensez: Réponse acceptée
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 15:30
non ma liste contient ambre;
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 15:45
je pense que le problème vient des noms des compsants (reptop) parceke kand je change le nom du composant c0 par exemple ca marche! le truc c que kand j'appuie sur boutton recherche il cherche le premier composant ki a ce  nom  mais je sais pas comment régler ce détail
0
hic8716 Messages postés 16 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 28 juillet 2011
30 avril 2008 à 16:07
il n'ya personne qui peut m'aider !! je suis bloké et je ne peux pas avancer sans votre aidee
0
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
10 mai 2008 à 11:50
Salut,
Pour ma part je simplierais en me passant du code. En effet, pourquoi compliquer quand on peut faire simple.

Je créerais sur mon formulaire:

1 liste déroulante "ListeComposant" 
   Origine source: Table/requête
   Contenu: SELECT DISTINCT Table1.reptop FROM Table1;
    (DISTINCT sert à n'afficher que 1x le même élément)

1 liste déroulante "ListeCarte"
   Origine source: Table/requête
   Contenu: SELECT DISTINCT Table1.carte FROM Table1;

1 bouton qui exécutera la requête de recherche après la sélection des éléments dans les listes (mise à jour d'un sous-formulaire, traitement d'un recordset basé sur cette requête, affichage d'un état basé sur cette requête, etc...)

Ensuite il faut créer la requête qui doit afficher tous les champs de Table1 et mettre les critères suivants:

- Pour le champ [carte]  mettre dans la ligne critères:[Forms]![NomDeTonFormulaireAvecLesListes]![ListeCarte]

- Pour le champ [composant]  mettre dans la ligne critères:[Forms]![NomDeTonFormulaireAvecLesListes]![ListeComposant]

Le code SQL de la requête doit donner quelque chose comme:
SELECT Table1.*, Table1.carte, Table1.reptop FROM Table1 WHERE (((Table1.carte)=[Forms]![F_CarteComposant]![ListeCarte]) AND ((Table1.reptop)=[Forms]![F_CarteComposant]![ListeComposant]));

Le résultat de la recherche se trouve donc dans cette requête. A toi de voir comment exploiter ce résultat, en mettant par exemple un sous-formulaire (qui serait basé sur cette requête) dans ton formulaire principal, ou alors lire le résultat de cette requête avec un Recordset.
0
Rejoignez-nous