goalie60
Messages postés4Date d'inscriptionlundi 5 avril 2010StatutMembreDernière intervention 7 avril 2010
-
5 avril 2010 à 17:18
goalie60
Messages postés4Date d'inscriptionlundi 5 avril 2010StatutMembreDernière intervention 7 avril 2010
-
7 avril 2010 à 09:46
Bonjour!
Je débute en VB, donc excusez moi si je pose des questions idiotes ou si je tente des codes d'apprenti-sorcier à la limite de l'hérétisme ;-)
Je développe un logiciel qui me pose souci. Il contient une base de donnée créée avec SQL server. J'ai besoin d'accéder aux valeurs de certains champs pour effectuer des calculs. J'essaie donc ceci:
Dim tableau As Array
Dim ligne As Integer
Dim Row As DataRow
ligne = lstDepart.SelectedIndex
tableau = DataVilleTableAdapter.GetData.Select
Row = tableau(ligne)
latdegDep = Row.ItemArray(1)
latmindep = Row.ItemArray(2)
latsecdep = Row.ItemArray(3)
londegdep = Row.ItemArray(4)
lonmindep = Row.ItemArray(5)
lonsecdep = Row.ItemArray(6)
Sachant que lstDepart est remplie à partir du datavilletableadapter (elle affiche les noms des villes: l'utilisateur en sélectionne une => je récupère ses coordonnées dans mes variables)
Mais bon ça me parait bizarre comme manip' ;-)
Et puis autre problème: il arrive parfois à me sortir "L'index se trouve en dehors des limites du tableau." pour la ligne: Row = tableau(ligne)
Mais la liste et le tableau étant construits à partir du même datavilledatatable, comment le nombre de ligne de la liste peut-il être supérieur à celui du tableau?
Merci beaucoup pour votre aide!
goalie60
Messages postés4Date d'inscriptionlundi 5 avril 2010StatutMembreDernière intervention 7 avril 2010 5 avril 2010 à 17:31
C'est encore moi. Je précise que mon erreur "l'index se trouve en dehors des limites du tableau." survient dans un cas précis:
J'ai deux form: l'une où se trouve ma liste, et une autre où se trouve un details depuis la source de données, pour permettre de rajouter ou de supprimer des villes. L'erreur survient notamment quand je ferme la form d'édition et que je reviens sur celle où est la liste, même si je n'ai effectué aucun changement.
Je précise tout de même le code associé au button permettant de quitter la form édition:
Private Sub cmdQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdQuit.Click
goalie60
Messages postés4Date d'inscriptionlundi 5 avril 2010StatutMembreDernière intervention 7 avril 2010 6 avril 2010 à 11:06
Je me doutais bien que c'était de la bidouille mon truc.
Si j'ai bien compris il me faudrait plutot faire:
Dim ligne As Integer
ligne = lstDepart.SelectedIndex
latdegDep = dtVilledataset.ville.rows(ligne)(1)
'la latitude de départ se trouvant en colonne1
Je lance un débogage: ça a l'air de fonctionner...et en fait non!
Même problème qu'avant: quand je vais dans ma form d'édition et que je reviens dans ma form gestionnaire, j'ai droit à l'erreur "Aucune ligne à la position -1." pour ma ligne de code
latdegDep = dtVilledataset.ville.rows(ligne)(1)
Ce que je ne comprend pas, c'est que cette ligne se trouve au sein d'un Private Sub lstDepart_SelectedIndexChanged
Quand je reviens sur ma form gestionnaire je ne touche pas encore à ma liste. Pourquoi me dit-il ça?