IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Parcours d'un recordset se comporte différemment selon OS


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Parcours d'un recordset se comporte différemment selon OS
    Bonjours,

    je viens poster ici, car je suis devant une intrigue. J'ai un programme qui va chercher un set de données dans une base SQl et je les stocks dans un objet de type ADODB.recordset.
    Ensuite je met ces données dans un datagridview. Alors sur les systèmes d'exploitation Windows 7, je n'ai aucun problème. Par contre nous remplaçons nos pc petit à petit par des Windows 10
    et là je remarque que le programme n'affiche pas les données dans le datagridview.

    voici le code exécuté :

    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
     
    Do While Not .EOF
                        MSFlexGrid1.Rows.Add(strZero(.Fields("MhNoMarche").Value.ToString(), 5), _
                            .Fields("MHReferEco").Value.ToString(), _
                            .Fields("MHintitule").Value.ToString(), _
                            GlossLect("TYD", .Fields("MHtypeDoss").Value.ToString()), _
                            GlossLect("SRV", .Fields("MHService1").Value.ToString()), _
                            .Fields("MHService2").Value.ToString(), _
                            .Fields("MHmod_Type").Value.ToString() & .Fields("MHmod_Mode").Value.ToString() & .Fields("MHmod_Publ").Value.ToString() & .Fields("MHmod_Serv").Value.ToString(), _
                            FormEurFix(.Fields("MHmontt_Tc").Value.ToString(), 10) & CStr(IIf(.Fields("MHsuivPlaf").Value.ToString() = "D", SufPlaf, String.Empty)), _
                            .Fields("MHecon_cod").Value.ToString() & .Fields("MHcmpt_cod").Value.ToString() & .Fields("MHdfin_cod").Value.ToString() & LCase(.Fields("MHavis_aut").Value.ToString()) & .Fields("MHavis_cod").Value.ToString() & .Fields("MHbonc_cod").Value.ToString() & CStr(IIf(CBool(.Fields("MHflagBloq").Value.ToString()), "b", "_")), _
                            .Fields("MhVuParDfin").Value.ToString())
                        IcCpt = IcCpt + 1
                        ReDim Preserve TabBMarch_No(IcCpt)
                        TabBMarch_No(IcCpt) = .Fields("MhNoMarche").Value.ToString()
                        .MoveNext()
                    Loop
    quand je débogue sur mon pc windows 7 tout se passe bien et j'ai bien une valeur pour mes champs. Quand je débogue sur la machine Windows 10 voici l qui lève une exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Fields("MhVuParDfin").Value.ToString()
    {"Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."}
    Je vous assure que le champ existe bel et bien dans la table en question.
    Dans le doute voici un printscreen de ce que j'ai expliqué :
    Nom : Sans titre.png
Affichages : 263
Taille : 165,0 Ko

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    c'est toujours pas le forum vb6 ici ^^
    en fait le sous forum de vb6 qui s'appelle vb.net n'est autre que dotnet/languages/vb.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    C'est moi qui ait déplacé ce message, je pense qu'il a plus sa place ici.

    Car c'est du vb.net à la sauce VB6, il faut faire du .net et non du VB6 ou tout faire en VB6.

    Philippe

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    c'est moi qui lui ai dit d'aller demander sur vb6, car c'est un code vb6 "migré" dans vs
    il a déjà posté par là et n'a pas eut de réponse en un mois
    et vu que peu de gens utilisent des recordset en .net je pensais qu'il aurait plus de réponse sur le forum vb6, bien que je viens de voir qu'il y a pas des masses d'activité là bas ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et vu que peu de gens utilisent des recordset en .net je pensais qu'il aurait plus de réponse sur le forum vb6, bien que je viens de voir qu'il y a pas des masses d'activité là bas ^^
    Exact, c'est pour cela que ce message est au meilleur endroit, car pour moi il faut faire du VB.net et non utiliser les méthodes VB6 en vb.net.

    Car on ne développe quasiment plus de VB6 pour Windows 10 ou on essaye tant bien que mal de maintenir les codes actuels.

    Philippe

  6. #6
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Histoire d'essayer de faire avancer un peu le schmilblick, j'ai une suggestion qui n'a rien à voir avec VB, que ce soit VB.Net ou VB6.

    La base de données est-elle locale ou à distance ?

    Si c'est une base de données locale, il serait intéressant de regarder la collation utilisée sur chacun des systèmes pour la base de données en question. Si, par exemple, sous Windows 7 la collation est insensible à la casse et que sous Windows 10 c'est une collation sensible à la casse qui est utilisée, on pourrait tout à fait observer le comportement observé si jamais le nom du champ ne respecte pas la casse !
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si j'ai bien compris il est question de faire fonctionner un empattage visual studio6 sur win10!

    Sens installation du service pack6 pour visual studio6 pas de salut!

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Si j'ai bien compris il est question de faire fonctionner un empattage visual studio6 sur win10!
    comme d'hab non ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Invité
    Invité(e)
    Par défaut
    Non pas comme dab le service pack6 est spécialement prévu pour vb6 il n'est pas natif et ne figure en aucun cas dans le mise
    à jours standard de Windows!
    Il mets à jour les contrôles visual basic!

    https://www.microsoft.com/fr-fr/down...s.aspx?id=5721

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    wow

    je disais comme d'hab tu n'as pas compris la question ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oui effectivement tu as raisons,
    Je n'avais pas regarder l'image jointe il s'agit bien de vb6 dans un éditeur vb.net!

    Comme dab je ne comprends rien par conséquent je m'abstiendrai pour préserver mon amour propre!

    Et merci pour tes bon vœux!
    Dernière modification par Invité ; 29/12/2017 à 15h34.

  12. #12
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Il y a quelque chose que je ne comprends pas (moi non plus). (Salut Robert )

    Dans ta question originale tu dis:

    je remarque que le programme n'affiche pas les données dans le datagridview.
    et dans ton code tu dis

    Donc, se pourrait-il que ton DataGridView (.net) soit en fait un Flexgrid de VB6 que VB.net reprend parce que c'est un ActiveX, et que ton Flexgrid ne soit pas installé sur tes machines Windows 10.

    Et qu'en fait le message d'horreur induise en horreur en faisant référence à la mauvaise collection ?

    Ou bien qu'ailleurs sans ton code, il y ait quelque chose qui fasse planter les communications entre une base, un DGV et une Flexgrid, en supposant que tu aies vraiment une Flexgrid et un DataGridView dans ton programme; ce qui ferait une autre chose que je ne comprendrais pas.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  13. #13
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je pense que ca vient bien du recordset
    Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé
    voudrait auquel cas dire qu'il ne trouve pas une colonne alors qu'il pense qu'elle est bien dans le select ...

    et là même en regardant les paramètres régionaux je ne vois pas trop comment ca pourrait interférer ici
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Invité
    Invité(e)
    Par défaut
    Salut Clément.

Discussions similaires

  1. Parcourt d'un recordset se comporte différement selon OS
    Par Mizar_Alcor dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 28/12/2017, 13h43
  2. Comportement différent selon Mode Execution
    Par MarronSuisse dans le forum C
    Réponses: 7
    Dernier message: 14/04/2008, 12h52
  3. Parcours d'un recordset
    Par Celephais dans le forum VBA Access
    Réponses: 4
    Dernier message: 11/11/2007, 20h15
  4. sprintf (comportement bizarre selon le compilateur)
    Par turbo_chess dans le forum C
    Réponses: 6
    Dernier message: 11/10/2007, 15h24
  5. Sortir d'une boucle de parcour d'un Recordset
    Par Mariboo dans le forum IHM
    Réponses: 2
    Dernier message: 12/06/2006, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo