Requte SQL en VB6

wanish -  
 wanish -
Bonjour,
je suis un débutant en VB6, alors j'ai construire un petit programme qui permet d'insérer des donnes à une base de donnée Access, et je veux sélectionner ces données a l'aide des requêtes SQL, alors je procède mon recherche avec l identificateur de chaque enregistrement (id) mais lorsque j'affiche les donnes le programme ne respecte pas l id donné, il affiche toujours la première enregistrement
voila mon code de recherche et affichage:

Private Sub Command2_Click()
Dim y As Integer
y = Val(Text3.Text)
data1.RecordSource = "select *from info where id=y"
Text1.Text = data1.Recordset![nom]
Text2.Text = data1.Recordset![prenom]

End Sub

4 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    data1.RecordSource = "select *from info where id=y"

    La variable y est entre simple cote et doit etre ecrite comme une variable

    data1.RecordSource = "select *from info where id='" & y & "'"

    Bonne suite
    0
    1. wanish
       
      merci mais mon probleme reste le meme

      Private Sub Command2_Click()
      Dim y As Integer
      y = Val(Text3.Text)
      data1.RecordSource = "select *from info where id='" & y & "'"
      data1.Refresh
      Text1.Text = data1.Recordset![nom]
      Text2.Text = data1.Recordset![prenom]
      End Sub

      dans les deux textbox 1 et 2 ne saffiche que la premiere enregistrement lorsque je demande une autre avec un id differents de 1???
      SVP si pouvez m'aider
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    Je regarde votre sujet, bien que je ne programme pas du tout comme vous pour les acces base de donnees, noous devrions quand meme y arriver.
    Le champ id est il une cle primaire??
    0
    1. wanish
       
      oui c'est un clé primaire
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    merci
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    C'est une autre methode

    Private Sub Command2_Click()
    'sans Data control
    'reference a ajouter:
    'Microsoft DAO 3.6 Object Library
    'Microsoft ActiveX Data Objects 2.8 Library
    Dim y As Integer, Db, Rs

    y = Val(Text3.Text)
    'Chemin et base a changer
    Set Db = OpenDatabase("C:\repertoire\base.mdb")
    Set Rs = Db.OpenRecordset("info", dbOpenTable, dbReadOnly)

    If Rs.BOF = True And Rs.EOF = True Then 'test Table vide
    Exit Sub
    Else
    'Methode SEEK
    Rs.Index = "PrimaryKey" ' Définit l'index.
    Rs.Seek "=", y
    If Rs.NoMatch Then ' Sortie si la méthode Seek échoue.
    Exit Sub
    Else ' Mise a jour
    Text1.Text = Rs.Fields("nom")
    Text2.Text = Rs.Fields("prenom")
    End If
    End If

    End Sub

    Bonne suite
    0
    1. wanish
       
      merci chef ça marche bien.
      0