Spontaan Error 9: Subscript out of range in applicatie

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
Als zendamateur programmeer ik mijn DMR portofoon met de door de fabrikant geleverde software. In deze software zit een CSV import functie, waarmee ik zaken als kanalen en zo kan importeren. Deze genereer ik vanuit een Excel bestand. Sinds kort krijg ik aan het einde van het importeren een Error 9, Subscript out of range. Dit met dezelfde applicatieversie en dezelfde importbestanden. Sterker nog, ook met een direct voor de import uit de applicatie ge-exporteerde CSV file krijg ik die melding.

Relevante software en hardware die ik gebruik:
Windows 10 Pro
Anytone D878UV CPS v1.10 (zie www.pc5e.nl/d878uv)
Excel 2013

Wat ik al gevonden of geprobeerd heb:
- de combinatie error 9 en subscript out of range lijkt bij VBA voor te komen
- er worden niet teveel regels geprobeerd te importeren, ik blijf ruim beneden de maxima (max 10.000 kanalen, ik importeer er 2700 of zo)
- de-installeren applicatie en herinstallatie
- installatie applicatie op mijn werk laptop met Office 2016 (hier werd bij de eerste keer opstarten Visio geconfigureerd, onverwacht)
- bij een zelfde soort applicatie voor een ander merk portofoon was het kunnen importeren van CSV bestanden afhankelijk van het geïnstalleerd hebben van MS Excel
- Een andere zendamateur krijgt deze melding niet, gebruikt dezelfde applicatie versie en mijn CSV bestanden, gebruikt ook Office 2016.
- ik heb recent wel de laatste Windows update gekregen.

Ik ben ondertussen een beetje door de opties heen (buiten een hele schone Win10 install, maar of dat helpt...) en dat frustreert me als IT'er... Ik hoop dat hier iemand een suggestie heeft wat ik nog meer kan proberen. Als ik meer info moet geven dan hoor ik het graag.

Dank alvast!

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl

Alle reacties


Acties:
  • 0 Henk 'm!

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 19:48
Heb je al eens geprobeerd te importeren met andere regionale instellingen?

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Acties:
  • 0 Henk 'm!

  • DHH
  • Registratie: Augustus 2014
  • Laatst online: 07-09-2024

DHH

"Error 9: Subscript out of range" lijkt te wijzen op een verwijzing die niet kan worden gevonden.

Wat gebeurt er als je slechts één regel importeert?
Weet je zeker dat je de juiste scheidingstekens (komma, puntkomma, tab) gebruikt?
Heeft je csv-bestand wel/geen headers nodig?
Verborgen spaties en dat soort grappen?

Heb je alle downloads geprobeerd in de gebruiksaanwijzing waar je naar linkte?

Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
nescafe schreef op maandag 18 februari 2019 @ 15:48:
Heb je al eens geprobeerd te importeren met andere regionale instellingen?
Ondanks dat die niet zijn gewijzigd tov van de periode dat het wel werkte is dat inderdaad iets om uit te sluiten. Ga ik vanmiddag even testen.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
DHH schreef op maandag 18 februari 2019 @ 22:03:
"Error 9: Subscript out of range" lijkt te wijzen op een verwijzing die niet kan worden gevonden.

Wat gebeurt er als je slechts één regel importeert?
Weet je zeker dat je de juiste scheidingstekens (komma, puntkomma, tab) gebruikt?
Heeft je csv-bestand wel/geen headers nodig?
Verborgen spaties en dat soort grappen?

Heb je alle downloads geprobeerd in de gebruiksaanwijzing waar je naar linkte?
1 regel heb ik niet geprobeerd, wel een kleine 200 (ipv de 2700 die ik eigenlijk wil importeren), dat maakte geen verschil. CSV importeert op deze manier elders wel, dus formaat zou goed moeten zijn.

Excel exporteert met ; als scheidingsteken en die vervang ik globaal met Notepad++ door een komma. er zijn verder geen teksten waar al een komma in stond (daar had ik er eerder al eens eentje van en toen brak de import af bij die regel, logisch) en daarna alle input gecontroleerd en gecorrigeerd.

Het CSV bestand heeft headers nodig en die zijn ook correct aanwezig. De import op zich loopt ook wel, de foutmelding komt aan het einde. CSV importeert op deze manier elders wel, dus formaat zou goed moeten zijn.

En voor zover ik weet geen rare tekens. Op wat getallen na zit er maar 1 tekstveld in de import waarin dat zou kunnen voorkomen. Ik zal daar nog even een CLEAN() voor gebruiken om alle non-printable characters met zekerheid te strippen. Omdat het CSV bestand bij een ander wel importeert bij aanwezigheid van eenzelfde Excel versie verwacht ik hier niet veel van, maar kan geen kwaad.

Ik ga als eerste de gesuggereerde regionale instellingen eens proberen, kijken of dat bij het importeren verschil maakt ineens. Was niet zo, maar Windows en updates...

Dank tot zover!

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
elsinga schreef op dinsdag 19 februari 2019 @ 06:21:
[...]


Ondanks dat die niet zijn gewijzigd tov van de periode dat het wel werkte is dat inderdaad iets om uit te sluiten. Ga ik vanmiddag even testen.
Op de werklaptop maar even opnieuw de applicatie geïnstalleerd, maar reset van regionale instellingen naar default heeft niets opgeleverd.

Beide laptops draaien overigens een engelstalige Windows 10 Pro/Enterprise, welke ik ook bij de bouwers van de applicatie verwacht. Geen alleen NL variant dus.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • DHH
  • Registratie: Augustus 2014
  • Laatst online: 07-09-2024

DHH

elsinga schreef op dinsdag 19 februari 2019 @ 06:30:
[...]
1 regel heb ik niet geprobeerd, wel een kleine 200 (ipv de 2700 die ik eigenlijk wil importeren), dat maakte geen verschil. CSV importeert op deze manier elders wel, dus formaat zou goed moeten zijn.

Excel exporteert met ; als scheidingsteken en die vervang ik globaal met Notepad++ door een komma. er zijn verder geen teksten waar al een komma in stond (daar had ik er eerder al eens eentje van en toen brak de import af bij die regel, logisch) en daarna alle input gecontroleerd en gecorrigeerd.
Excel kan ook exporteren naar komma's: kies CSV UTF-8 (Comma delimited) (*.csv). Ik heb Excel 2016, maar het zou me verbazen als dit niet in 2013 kan.

De reden dat ik aanraad om 1 regel te importeren is omdat e.e.a. dan makkelijker leesbaar is. Mocht het importeren hiervan wel lukken, dan weet je dat het formaat goed is en de fout dus ergens in de inhoud zit. Als het niet werkt, kan je veel makkelijker voor deze ene regel het formaat aanpassen (zonder Excel nodig te hebben).

Daarnaast staat er in de manual een link naar een website met enkele voorbeeldbestanden. Deze hebben allen net weer een ander formaat (comma delimited, semicolon delimited, met en zonder quotes), dus ik ben even benieuwd naar wat je exact nodig hebt en wat je al geprobeerd hebt.

Je geeft aan dat je deze melding sinds kort hebt. Heb je nog een oud csv-bestand dat wel succesvol geïmporteerd is en zo ja, wat gebeurt er als je deze opnieuw importeert?

Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
Een oud CSV bestand zou ik uit de backup moeten proberen te vissen. Ga ik eens proberen. 1 regel kan ik ook eens proberen.

Ik verwacht echter dat dat niets oplevert, omdat het laatste CSV bestand bij een andere zendamateur netjes importeert. Ook Win10, ook Office 2016, zelfde applicatie versie.

Wat ik exact nodig heb, dat heb ik uitgevonden door de exportfunctie te gebruiken en een identiek bestand te maken om te importeren. Dat werkte prima, tot voor kort...

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 06-10 10:20

Janoz

Moderator Devschuur®

!litemod

Het zou ook andersom kunnen zijn he. Dat door een locale aanpassing de applicatie ineens een NL formaat verwacht. Het is een beetje afhankelijk van welke csv implementatie intern gebruikt is, maar dat valt natuurlijk ook nog te proberen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
De fout trad "spontaan" op, zonder dat er een aanpassing in de locale was geweest of een nieuwere versie van de applicatie was geïnstalleerd. Enige wat ik heb kunnen bedenken is een Windows Update, die wel rond die tijd heeft gedraaid.

Overigens is de 1-regel import ook met error 9 afgebroken. Oud CSV bestand heb ik ook geprobeerd, zelfde foutmelding.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • DHH
  • Registratie: Augustus 2014
  • Laatst online: 07-09-2024

DHH

In dat geval zou ik toch maar contact opnemen met de leverancier van de software, het .csv-bestand van één regel meesturen en ze vragen om advies.

Wat je heel misschien nog zou kunnen proberen is het uitzetten van antivirus: wellicht dat een update er voor zorgt dat het importeren als verdacht wordt gezien, maar het lijkt me dat je daar dan een melding van zou krijgen vanuit de av-software.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 06-10 10:20

Janoz

Moderator Devschuur®

!litemod

elsinga schreef op woensdag 20 februari 2019 @ 07:18:
De fout trad "spontaan" op, zonder dat er een aanpassing in de locale was geweest of een nieuwere versie van de applicatie was geïnstalleerd. Enige wat ik heb kunnen bedenken is een Windows Update, die wel rond die tijd heeft gedraaid.

Overigens is de 1-regel import ook met error 9 afgebroken. Oud CSV bestand heb ik ook geprobeerd, zelfde foutmelding.
Wat ik bedoel te zeggen, probeer eens te importeren met een ; ipv een ,.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • YakuzA
  • Registratie: Maart 2001
  • Niet online

YakuzA

Wat denk je nou zelluf hey :X

Misschien is het handig om eens je VBA script te debuggen en te kijken op welke regel het fout gaat? :)

Death smiles at us all, all a man can do is smile back.
PSN


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Als 1 regel al niet meer werkt en ook niet van oude bestanden dan zou ik even gaan klussen met Notepad++ en je import bestand naast je regionale instellingen van je user/computer houden.

Want deze fout zie ik heel vaak als simpelweg het scheidingsteken niet goed is (en de foutafhandeling twijfelachtig). Wat het meestal betekent (in dit soort gevallen) :
- Hij verwacht dat de data ingelezen is in een array met x kolommen
- Omdat het scheidingsteken foutief is, is alles ingelezen in een array met 1 kolom.
- De foutmelding is dat er geprobeerd wordt kolom 2 te benaderen van de array terwijl er maar 1 kolom bestaat (want de scheidingstekens zijn foutief geinterpreteerd)

Met 1 regel kan je het in Notepad++ gewoon snel zoeken en vervangen naar een ; of een tab of een komma of wat je dan ook nog meer kan bedenken en snel de variaties afgaan om te zien welke er wel / niet werken.

Acties:
  • 0 Henk 'm!

  • Bart2005
  • Registratie: Juli 2014
  • Laatst online: 11-09-2022
Je kunt ook nog even kijken of het einde record teken niet veranderd is. Je hebt de smaken PC, UNIX, MAC. Het zou ook nog kunnen dat het tekstbestand "opeens" Unicode gecodeerd is. Dat zijn dan steeds 2 bytes i.p.v. 1. Dit kan je bekijken als de teksteditor een hex-viewer heeft. Het zou kunnen dat Notepad waarmee je de puntkomma's vervangt door komma's een anders dan andere defaultinstelling heeft om bestanden op te slaan.

[ Voor 20% gewijzigd door Bart2005 op 20-02-2019 12:47 ]


  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
Janoz schreef op woensdag 20 februari 2019 @ 08:13:
[...]

Wat ik bedoel te zeggen, probeer eens te importeren met een ; ipv een ,.
Ga ik nogmaals proberen, al heb ik die "fout" al eens gemaakt (importeren zonder ; te vervangen door een ,) en toen kreeg ik eerder een foutmelding. En nu ook (Import from file error), gelijk aan het begin.
YakuzA schreef op woensdag 20 februari 2019 @ 09:00:
Misschien is het handig om eens je VBA script te debuggen en te kijken op welke regel het fout gaat? :)
Helaas is het niet mijn code (maar een gecompileerde exe), anders had ik dat al gedaan. ;)
Gomez12 schreef op woensdag 20 februari 2019 @ 12:00:
Als 1 regel al niet meer werkt en ook niet van oude bestanden dan zou ik even gaan klussen met Notepad++ en je import bestand naast je regionale instellingen van je user/computer houden.

Want deze fout zie ik heel vaak als simpelweg het scheidingsteken niet goed is (en de foutafhandeling twijfelachtig). Wat het meestal betekent (in dit soort gevallen) :
- Hij verwacht dat de data ingelezen is in een array met x kolommen
- Omdat het scheidingsteken foutief is, is alles ingelezen in een array met 1 kolom.
- De foutmelding is dat er geprobeerd wordt kolom 2 te benaderen van de array terwijl er maar 1 kolom bestaat (want de scheidingstekens zijn foutief geinterpreteerd)

Met 1 regel kan je het in Notepad++ gewoon snel zoeken en vervangen naar een ; of een tab of een komma of wat je dan ook nog meer kan bedenken en snel de variaties afgaan om te zien welke er wel / niet werken.
Zie boven. Krijg een (andere) foutmelding met ;'s.
Bart2005 schreef op woensdag 20 februari 2019 @ 12:39:
Je kunt ook nog even kijken of het einde record teken niet veranderd is. Je hebt de smaken PC, UNIX, MAC. Het zou ook nog kunnen dat het tekstbestand "opeens" Unicode gecodeerd is. Dat zijn dan steeds 2 bytes i.p.v. 1. Dit kan je bekijken als de teksteditor een hex-viewer heeft. Het zou kunnen dat Notepad waarmee je de puntkomma's vervangt door komma's een anders dan andere defaultinstelling heeft om bestanden op te slaan.
Notepad++ heeft als instelling om te encoden in UTF-8. Ook nog even geprobeerd in ANSI, maar dan krijg ik dezelfde error 9. Ook nog even de file in Kladblok bekeken, ook daar lijkt alles okay.

Ik ga inderdaad maar eens de fabrikant mailen. Wie weer wat daar uitkomt.

Dank tot zover!

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
elsinga schreef op donderdag 21 februari 2019 @ 06:47:
[...]
Ga ik nogmaals proberen, al heb ik die "fout" al eens gemaakt (importeren zonder ; te vervangen door een ,) en toen kreeg ik eerder een foutmelding. En nu ook (Import from file error), gelijk aan het begin.
1 regel pakken en creatief zijn, wat gebeurt er als je enkel de header-regel vervangt met ; en de data-regel met komma laat staan.
Wat gebeurt er met tab erin gegooid.

Zeer waarschijnlijk kan de fabrikant je ook niet veel verder helpen, aangezien het bij iemand anders wel werkt. Het programma zal waarschijnlijk gewoon regionale settings gebruiken en wat die op jouw pc zijn weet de fabrikant ook niet.

  • Bart2005
  • Registratie: Juli 2014
  • Laatst online: 11-09-2022
De foutmelding betekent dat de 2-dimensionale index van de array die w.s. vast in het programma gedimensioneerd is overschreden wordt. Kolommen of rijen, dat is de vraag. Een gokje: het programma probeert te appenden i.p.v. te overschrijven waardoor het max. aantal regels overschreden wordt. Is er zo'n instelling waar je kan instellen hoe de data geïmporteerd moet worden? Misschien het geheugen resetten zodat het importeren weer bij 0 begint.

We gaan er nu vanuit dat het csv-bestand niet deugt maar misschien is dat niet zo..

[ Voor 9% gewijzigd door Bart2005 op 21-02-2019 10:21 ]


  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
Ik heb al geprobeerd de applicatie nieuw te starten met een lege config en dan te importeren. Hielp ook niet, helaas.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


  • planB
  • Registratie: Juli 2006
  • Laatst online: 05-10 20:55
Pas je bestand eens aan zodat de laatste cr/lf ontbreekt. Misschien gaat het fout bij het parsen van de laatste (lege) regel.

Acties:
  • +1 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
Geen blanco regel aan het einde maakte ook niet uit.

Inmiddels contact gehad met de Amerikaanse beta tester voor de fabrikanten samen wat testjes gedaan en de foutmelding reproduceerbaar op video gezet. Het lijkt er op dat de codeplug van een vorige versie applicatie problemen kan geven bij het importeren. Gebruik je een kale codeplug (File -> New), dan werkt importeren prima. Ook met een codeplug die in dezelfde versie is gemaakt. Bij een codeplug van een vorige versie geeft importeren de error 9.

Workaround (buiten bij dezelfde versie blijven) is om een kale codeplug te pakken, alles te importeren wat maar te importeren is en daarna de settings en zo aanpassen.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Tip voor de volgende keer, doe je stappenplan wat langzamer en noteer het wat uitgebreider...

Als ik het goed begrijp is die codeplug een soort plugin die je los moet installeren en dan zou het bij 1 van de volgende stappen opgevallen moeten zijn...
elsinga schreef op maandag 18 februari 2019 @ 15:44:
Wat ik al gevonden of geprobeerd heb:
- de-installeren applicatie en herinstallatie
- installatie applicatie op mijn werk laptop met Office 2016 (hier werd bij de eerste keer opstarten Visio geconfigureerd, onverwacht)
- Een andere zendamateur krijgt deze melding niet, gebruikt dezelfde applicatie versie en mijn CSV bestanden, gebruikt ook Office 2016.
Zeker bij werk-laptop verwacht ik niet dat je die codeplug al geïnstalleerd hebt. Net zoals die andere zendamateur die codeplug ook niet had.

Nu heb je een mooi lijstje van wat je geprobeerd hebt, alleen bij allemaal noteer je nu blijkbaar net niet de essentiële stap, het installeren van de codeplug.

Acties:
  • 0 Henk 'm!

  • elsinga
  • Registratie: Februari 2003
  • Laatst online: 06-10 08:17
De codeplug is de configuratie van de portofoon, geen plug-in. ;) Maar inderdaad, uitgebreider stappen noteren is beter voor de reproduceerbaarheid en troubleshooten.

Robert Elsinga =8-) | IT security, Scouting, zendamateur (PC5E, WC5E) | www.elsinga.net/robert, www.pc5e.nl

Pagina: 1