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

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : décembre 2015
    Messages : 8
    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 : 71
Taille : 165,0 Ko

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 930
    Points : 23 331
    Points
    23 331

    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

    - En recherche de poste dans le 63 -

  3. #3
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 731
    Points : 48 629
    Points
    48 629

    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
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 930
    Points : 23 331
    Points
    23 331

    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

    - En recherche de poste dans le 63 -

  5. #5
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 731
    Points : 48 629
    Points
    48 629

    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
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 538
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    5

    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
    Expert confirmé
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 434
    Points : 4 165
    Points
    4 165
    Billets dans le blog
    1

    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!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 930
    Points : 23 331
    Points
    23 331

    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

    - En recherche de poste dans le 63 -

  9. #9
    Expert confirmé
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 434
    Points : 4 165
    Points
    4 165
    Billets dans le blog
    1

    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
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 930
    Points : 23 331
    Points
    23 331

    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

    - En recherche de poste dans le 63 -

  11. #11
    Expert confirmé
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 434
    Points : 4 165
    Points
    4 165
    Billets dans le blog
    1

    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!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  12. #12
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    3 948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Canada

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 3 948
    Points : 8 131
    Points
    8 131
    Billets dans le blog
    18

    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.

    À force de vouloir considérer les utilisateurs comme des imbéciles patentés, on risque de se mettre dans le trouble.

    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
    12 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 930
    Points : 23 331
    Points
    23 331

    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

    - En recherche de poste dans le 63 -

  14. #14
    Expert confirmé
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 434
    Points : 4 165
    Points
    4 165
    Billets dans le blog
    1

    Par défaut

    Salut Clément.
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

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, 14h43
  2. Comportement différent selon Mode Execution
    Par MarronSuisse dans le forum C
    Réponses: 7
    Dernier message: 14/04/2008, 13h52
  3. Parcours d'un recordset
    Par Celephais dans le forum VBA Access
    Réponses: 4
    Dernier message: 11/11/2007, 21h15
  4. sprintf (comportement bizarre selon le compilateur)
    Par turbo_chess dans le forum C
    Réponses: 6
    Dernier message: 11/10/2007, 16h24
  5. Sortir d'une boucle de parcour d'un Recordset
    Par Mariboo dans le forum IHM
    Réponses: 2
    Dernier message: 12/06/2006, 19h07

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