stasze
Messages postés12Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention16 juillet 2004
-
7 juin 2004 à 14:40
stasze
Messages postés12Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention16 juillet 2004
-
7 juin 2004 à 15:16
Bonjour à toutes et à tous. Je suis débutant en VB et j'ai commencé un petit programme pour mon travail.
J'ai fait une petite base de données sous Access97 et j'utilise les requêtes SQL.
J'ai ensuite créé une première Form du nom de "frmConfiguration". Dans celle-ci j'ai mis 2 TextBox (1 et 2), 2 ListBox (1 et 2) et 2 CommandButton (1 et 2).
Ce que j'arrive à faire:
- Lors de la saisi d'un texte dans un TextBox et que l'utilisateur click sur un CommandButton, le texte saisi s'inscrit dans la ListBox ainsi que dans l'une des tables de ma base de données.
Ce que je n'arrive pas à faire:
- Récupérer les données de ma table pour les afficher dans les ListBox, lorsque que l'on affiche de nouveau la Form.
Voici l'ensemble du code de ma "frmConfiguration".
Dim db As Database
Dim rs As Recordset
Dim sql As String
Dim i As Integer
Private Sub Command2_Click()
List2.AddItem (Text2.Text)
Text2.SetFocus
sql = "SELECT * FROM Gendarmes"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs.Fields("Gendarmes") = Text2.Text
rs.Update
rs.Close
End Sub
Private Sub Form_Load()
Set db = OpenDatabase("C:\MCI\MCI2.mdb")
sql = "SELECT * FROM Gendarmes"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
List2.Clear
For i = 1 To rs.RecordCount
List2.AddItem (rs.Fields("Gendarmes"))
rs.MoveNext
Next
rs.Close
sql = "SELECT * FROM Catégories"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
List1.Clear
For i = 1 To rs.RecordCount
List1.AddItem (rs.Fields("Catégories"))
rs.MoveNext
Next
rs.Close
End Sub
Private Sub Command1_Click()
List1.AddItem (Text1.Text)
Text1.SetFocus
sql = "SELECT * FROM Catégories"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs.Fields("Catégories") = Text1.Text
rs.Update
rs.Close
End Sub
Lorsque je marque "For i = 1 To rs.RecordCount" cela ne m'affiche qu'un seul élément de ma table. Si à la place du 1, je mets un chiffre négatif, j'ai beaucoup plus d'enregistrement mais si mon chiffre négatif dépasse le nombre de mes enregistrement j'ai l'erreur suivante qui apparaît en phase de test : "Run-Time Error 3021: Aucun enregistrement en cours."
Est-ce que quelqu'un peut me venir en aide.
Merci d'avance.
Stasze :clown)