Bonsoir à tous.
(d'abord j'ai pris soin de lire les règles donc si je me suis trompé de sujet je suis désolé c'est que j'aurais mal compris).
Je me suis inscrit dans l'urgence car comme vous vous en doutez j'ai un soucis dans ma programmation.
Il s'agit de l'erreur Mismatch, qui selon ce que j'ai compris vient des types des données utilisées. C'est dans une fonction qui rempli une liste déroulante à partir d'une base access que se produit l'erreur.
Je précise que ce même bout de code fonctionne parfaitement bien dans un autre programme partiellement écrit par mes profs, ce qui est le plus frustrant justement.
au debugage c'est la ligne "Me.list_deroul_client(i, 0) = rs("num_p")" qui est surlignée.
Dans ma base de donnée, mes clefs primaire étaient toutes de type texte et se présentaient ainsi "cli01", "log01" ... mais j'ai fini par tout mettre en numérique entier "1" "2" ... pensant que ça arrangerai le problème mais ça n'a pas été le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Function list_client() 'fonction de remplissage de la liste déroulante Dim i As Integer req = "SELECT client.num_cli, personne.num_p, personne.nom_p FROM client, personne WHERE client.num_cli = personne.num_p" Set rs = db.OpenRecordset(req) Me.list_deroul_client.ColumnCount = 2 Me.list_deroul_client.ColumnWidths = "0" & "4000" i = 0 rs.MoveFirst Do While Not rs.EOF Me.list_deroul_client.AddItem Me.list_deroul_client(i, 0) = rs("num_p") Me.list_deroul_client(i, 1) = Trim(rs("nom_p")) rs.MoveNext i = i + 1 Loop rs.Close End Function
j'ajoute à cela ma connexion à la base même si je ne pense pas que l'erreur vienne de là.
Je sais à l'avance qu'il s'agit d'une erreur stupide comme les autres que j'ai eu à affronter jusque là mais, e suis novice en VB, c'est mon premier projet et toutes les recherches que j'ai effectuées ne m'ont été d'aucune aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public db As Database Public rs As Recordset Public req As String Public rep As String Sub Main() 'connexion à la base Set db = OpenDatabase(App.Path & "\emega2.mdb") accueil.Show End Sub
Je post donc ici en dernier recours.
Voilà j'éspère vraiment que l'un d'entre vous pourra m'aider c'est assez urgent puisqu'il s'agit de projet de stage avec date buttoir tout ça.
En vous remerciant, je reste aux aguets.
Partager