Toon posts:

[vb] getal a is groter dan getal b terwijl dit niet zo is

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben bezig met een vrij groot project wat bijna ten einde loopt. Ben nu kleine foutjes aan het zoeken en oplossen.

Nu kom ik er dus 1 tegen in de binnenmeld module

Stel ik bestel 10 monitoren en ik meld er 5 binnen dan zegt hij dus dat de bestelling compleet is omdat hij 5 groter dan 10 ziet

code:
1
2
3
If Val((Trim(txt_aantal_gekregen)) = (Trim(txt_aantal))) Then
litem.ListSubItems.Add , , "3"
End If


txt_aantal_gekregen = 5
txt_aantal = 10

Ik heb nu zitten denken omdat 5 groter is dan de 1 van het bestelde aantal dat hij daarom denk dat hij groter is maar of dit zo is ?

Waarschijnlijk is het iets heel simpels maar ik kan het niet vinden op GOT Google en de rest van inet

Heeft iemand hier een oplossing voor ?

Alvast bedankt voor de moeite die jullie doen

Verwijderd

ik zie een gelijk aan staan ipv groter dan cq kleiner dan. Is dat het?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Waarschijnlijk zit je character variabelen numeriek te vergelijken.
Numeriek vergelijken doe je met numerieke variabelen.

Who is John Galt?


  • TheBorg
  • Registratie: November 2002
  • Laatst online: 23-04 16:45

TheBorg

Resistance is futile.

Verwijderd schreef op 10 april 2004 @ 16:25:
ik zie een gelijk aan staan ipv groter dan cq kleiner dan. Is dat het?
Oeps :P

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 22:38

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Misschien een extra Val en wat haakjes verplaatsen?

code:
1
2
3
If Val(Trim(txt_aantal_gekregen)) >= Val(Trim(txt_aantal)) Then
litem.ListSubItems.Add , , "3"
End If

[ Voor 5% gewijzigd door Microkid op 10-04-2004 16:28 ]

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

En als je toch gaat vergelijken, kent VB vast wel iets als Cint()

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Wow wat een hoop antwoorden in 5 minuten. Ik ga aan de slag

  • Juicy
  • Registratie: December 2000
  • Laatst online: 15:38
Verwijderd schreef op 10 april 2004 @ 16:23:
Ik ben bezig met een vrij groot project wat bijna ten einde loopt. Ben nu kleine foutjes aan het zoeken en oplossen.
Als dit zo'n groot project is en er zitten nog van dit soort fouten in ... Toch maar wat meer testen & nadenken. >:)

-


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Juicy schreef op 10 april 2004 @ 16:34:
[...]


Als dit zo'n groot project is en er zitten nog van dit soort fouten in ... Toch maar wat meer testen & nadenken. >:)
't is maar wat je een groot project vindt; wat de een een groot project vindt, is voor de ander maar peanuts. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Juicy schreef op 10 april 2004 @ 16:34:
[...]


Als dit zo'n groot project is en er zitten nog van dit soort fouten in ... Toch maar wat meer testen & nadenken. >:)
Juist omdat het project zo groot is sluipen er van dit soort foutjes in.
En deze fouten komen juist naar boven door het vele testen. En dat nadenken doe ik dus nu over hoe het op te lossen is >:)

Verwijderd

Topicstarter
gorgi_19 schreef op 10 april 2004 @ 16:39:
[...]

't is maar wat je een groot project vindt; wat de een een groot project vindt, is voor de ander maar peanuts. :)
Even voor de geinteresseerden onder ons :

Het programma houd de complete productenlijst en de complete leverancierslijst van een metaalbewerkingsbedrijf bij en de koppelingen tussen productgroepen en leveranciers. Het programma zal bestellingen gaan genereren. Zodra de bestellingen binnen zijn worden deze binnengemeld. Alles werkt uitstekend en we zijn al 2 weken volop aan het proefdraaien maar nu lopen we dus tegen een fout aan dat als je 10 besteld en 5 binnenkrijgt het programma denkt dat de bestelling compleet is. Als er namelijk meer binnenkomt dan besteld is zal er met een telefoontje naar de inkoopafdeling bepaald worden of het te veel gekregen binnengemeld mag worden. Daarom krijg je geen melding als er te veel binnenkomt.

Het klinkt op zich simpel en het is ook niet al te moeilijk maar het meeste werk gaat zitten in het uitdelen van rechten aan de werknemers en het controleren van statussen en het bepalen aan de hand van de status wat er nog met de bestelling gedaan kan worden.

Bij elkaar toch al zo'n 6 maanden werk. In mijn ogen is het dus een vrij groot project (het grootste wat ik tot nu toe gemaakt heb)

Verwijderd

Topicstarter
Uiteindelijk was dit de oplossing

code:
1
2
3
If Val(Trim(txt_aantal_gekregen)) >= Val(Trim(txt_aantal_besteld)) Then
litem.ListSubItems.Add , , "3"
End If


txt_aantal staat de ingevoerde waarde in en in txt_aantal_besteld de totale waarde die op dat moment binnen was

Bedankt voor de reacties

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Ik hoop niet dat jij dit project moet gaan onderhouden want deze code belooft niet veel goeds.

Je doet geen enkele controle op wat er in de tekstvakken staat ( getal, string, gecombineerd whatever )
Je maakt gebruik van default properties. Een van die hele grote fouten die MS met VB gemaakt heeft. Het produceert onleesbare code als je er maar genoeg gebruik van maakt.
En je grootste probleem: Je gebruikt je tekstvakken ( dus formulieren ) om je logica in te programmeren. (Dat is ook de oorzaak van je fout overigens)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
farlane schreef op 11 april 2004 @ 14:55:
Ik hoop niet dat jij dit project moet gaan onderhouden want deze code belooft niet veel goeds.

Je doet geen enkele controle op wat er in de tekstvakken staat ( getal, string, gecombineerd whatever )
Je maakt gebruik van default properties. Een van die hele grote fouten die MS met VB gemaakt heeft. Het produceert onleesbare code als je er maar genoeg gebruik van maakt.
En je grootste probleem: Je gebruikt je tekstvakken ( dus formulieren ) om je logica in te programmeren. (Dat is ook de oorzaak van je fout overigens)
Ik doe zeker wel controle maar niet op de textvakken omdat die hier niet bestaan. Ik bekijk waardes uit mn sql2000 database en als die aan bepaalde criteria's voldoet schrijf ik een waarde in een listview weg achter de te controleren regel. Ik vind het jammer dat er zoveel commentaar word geleverd want daar vraag ik niet om. En ik gebruik geen textvakken voor de logica maar waardes uit mn sql2000 database. En ja ik ga dit project wel onderhouden en het werkt als een speer voor datgene waar het voor bedoeld is.

Ik vind het overigens wel knap dat mensen aan 3 regels code kunnen zien of het project veel goeds beloofd of niet. Dit is slechts 0.01% van alle aanwezige regels code

[ Voor 8% gewijzigd door Verwijderd op 12-04-2004 15:47 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:33

Gerco

Professional Newbie

Verwijderd schreef op 12 april 2004 @ 15:36:
Ik vind het overigens wel knap dat mensen aan 3 regels code kunnen zien of het project veel goeds beloofd of niet. Dit is slechts 0.01% van alle aanwezige regels code
Dat kan men zien omdat deze drie regels code een vreselijke beginnersfout bevatten en dus aan het feit dat je deze vraag uberhaupt moet stellen om achter het antwoord te komen.

Je programmeert je logica weliswaar niet in je tekstvakken zelf, maar zo te zien wel in het Form waar die tekstvakken opstaan. Dat is een regelrechte zonde tegen teveel design techieken om op te noemen, maar voor relatief kleine programmas op zich nog wel te vergeven.

Even om het probleem te illustreren: @Work hebben we een programma wat bestaat uit enkele miljoenen regels code en daar is precies dezelfde fout gemaakt, geen scheiding tussen interface en logica. Als ze het vanaf het begin goed gedaan hadden, hadden we nu niet zo'n inconsequent werkend product aangezien alle validaties en dergelijke in de schermen zijn uitgecodeerd, werkt het in het ene scherm anders dan in het andere.

PS als 3 regels 0.01% is, dan is het totaal 30.000 regels. Dat is in de grote mensen wereld niet zo heel groot, maar ook niet klein. In ieder geval te groot om geen scheiding tussen interface en logica nodig te hebben.

[ Voor 11% gewijzigd door Gerco op 12-04-2004 16:42 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Val is casten naar een getal vanuit een string. De vars die je wilt casten heten txt_nogiets. Als die data niet uit een formulier komt, maar uit een database, vraag ik me ernstig af waarom je data die direct uit een database komt nog moet typecasten van string naar getal. Of je database design stinkt, of je haalt die data niet direct uit je db.

In beide gevallen fronsen mijn wenkbrauwen zich iig. Verder hoef je je niet in je eer aangevallen te voelen als mensen je wijzen op je fouten cq slechte keuzes, je vroeg zelf om hulp.

edit:

Als je complimentjes wil moet je je code laten zien aan een leek (het liefste ook nog iemand die om je geeft, een van je ouders bijvoorbeeld), en niet aan een stel 'professionals'.

[ Voor 18% gewijzigd door Grijze Vos op 12-04-2004 16:57 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Verwijderd schreef op 12 april 2004 @ 15:36:
Ik vind het jammer dat er zoveel commentaar word geleverd want daar vraag ik niet om.
De punten die ik aankaart zijn bedoeld als opbouwende kritiek ( al stond het er wel zonder al te veel poespas, dat geef ik toe ), en daar kun je gebruik van maken of niet. Het maakt mij verder niet uit, maar ik denk dat je er goed aan zou doen om dat advies ter harte te nemen.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Grijze Vos schreef op 12 april 2004 @ 16:56:
Val is casten naar een getal vanuit een string. De vars die je wilt casten heten txt_nogiets. Als die data niet uit een formulier komt, maar uit een database, vraag ik me ernstig af waarom je data die direct uit een database komt nog moet typecasten van string naar getal. Of je database design stinkt, of je haalt die data niet direct uit je db.

In beide gevallen fronsen mijn wenkbrauwen zich iig. Verder hoef je je niet in je eer aangevallen te voelen als mensen je wijzen op je fouten cq slechte keuzes, je vroeg zelf om hulp.

edit:

Als je complimentjes wil moet je je code laten zien aan een leek (het liefste ook nog iemand die om je geeft, een van je ouders bijvoorbeeld), en niet aan een stel 'professionals'.
Dat commentaar waar ik over sprak dat ging over negatief commentaar.

@ Grijze Vos
Voor complimentjes post ik hier niks. Complimentjes koop je niks voor (al is het wel leuk als je ze zo nu en dan krijgt:))
Ik sta alltijd open voor positief commentaar. Dat van Farlane klonk mij vrij negatief in de oren. Wat jij nu zegt daar heb ik wat aan. Ik haalde de waardes wel uit de database maar hoefde ze dus niet van string naar numeric te casten. Doordat jij dat zei heb ik het even nagelopen en ben tot de conclusie gekomen dat ik dat op meerdere plekken in de code heb toegepast.

@Gerco
Ik was al de hele dag bezig met programmeren en zag dus even de logica niet meer. Maar nu ik even beter naar die 3 regels kijk zie ik het ook

@Farlane
Persoonlijk denk ik dat mn project al geslaagd is. Mn opdrachtgever is er gigantisch blij mee en de dingen die zij ermee moeten doen werken uitstekend. Ik geef toe dat op sommige plekken mn code mischien iets geconstrueerder had gekund.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Verwijderd schreef op 12 april 2004 @ 21:19:
@Farlane
Persoonlijk denk ik dat mn project al geslaagd is. Mn opdrachtgever is er gigantisch blij mee en de dingen die zij ermee moeten doen werken uitstekend. Ik geef toe dat op sommige plekken mn code mischien iets geconstrueerder had gekund.
Heel mooi dat iedereen blij is met je produkt. Ik hoop alleen dat dat ook nog zo is als over een maand de eerste aanpassing moet komen; dat was ook grotendeels mijn punt.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
farlane schreef op 13 april 2004 @ 00:16:
[...]
Heel mooi dat iedereen blij is met je produkt. Ik hoop alleen dat dat ook nog zo is als over een maand de eerste aanpassing moet komen; dat was ook grotendeels mijn punt.
Het voordeel is dat ik nauw samenwerk met de opdrachtgever. Die persoon heeft de hele logistiek zelf opgezet waar al jaren mee gewerkt word. Dit programma is op maat gemaakt voor hun logistieke wensen. De kans dat er veranderingen komen is heel klein maar als (want zeg nooit nooit) die er toch komen zal het geen probleem zijn omdat alle onderdelen van het programma perfect in kaart zijn gebracht.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Verwijderd schreef op 13 april 2004 @ 09:09:
De kans dat er veranderingen komen is heel klein maar als (want zeg nooit nooit) die er toch komen zal het geen probleem zijn omdat alle onderdelen van het programma perfect in kaart zijn gebracht.
A note about customers

...
They often use the term 'always' when they mean 'usually'
They often use the term 'never' when they mean 'seldom'
...
Ik denk dat de kans dat er een verandering moet komen ( of een uitbreiding ) behoorlijk groot is. Is het niet over een maand, dan is het over twee jaar. :)
Het feit dat je je programma goed in kaart hebt gebracht zal je helpen bij het vinden van de plek waar die uitbreiding 'ingeplugd' zal moeten worden, en dat zal je waarschijnlijk ook wel nodig hebben als je over een aantal jaar bij god niet meer weet hoe het ding in elkaar zit.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Deem
  • Registratie: Augustus 2001
  • Laatst online: 23:44

Deem

Ontcijfer mij!

Nog een tip: Option Explicit aan je declaratie toevoegen als je dat niet had. Voorkomt ongedeclareerde variablen.

"May our framerates be high and our temperatures low."


  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-05 12:16
Verwijderd schreef op 13 april 2004 @ 09:09:
[...]
Het voordeel is dat ik nauw samenwerk met de opdrachtgever. Die persoon heeft de hele logistiek zelf opgezet waar al jaren mee gewerkt word. Dit programma is op maat gemaakt voor hun logistieke wensen. De kans dat er veranderingen komen is heel klein maar als (want zeg nooit nooit) die er toch komen zal het geen probleem zijn omdat alle onderdelen van het programma perfect in kaart zijn gebracht.
1. Wat als die opdrachtgever vervangen wordt door een andere persoon?
2. Een 'wet' binnen systeemontwikkeling is dat wensen/eisen van een opdrachtgever/gebruiker nooit vast staat.
3. Perfectie bestaat niet.
4. Wat als jij ziek bent/je terugtrekt/... kan iemand anders het dan eenvoudig overnemen?

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

2. Een 'wet' binnen systeemontwikkeling is dat wensen/eisen van een opdrachtgever/gebruiker nooit vast staat.
En er is altijd nog een ontwikkelwet dat je wel veronderstellingen moet maken, omdat je anders bezig blijft met wensen.. :P

Oftewel: een zekere mate van flexibiliteit is ws gewenst, maar er zit een grens aan.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-05 12:16
gorgi_19 schreef op 13 april 2004 @ 14:02:
[...]

En er is altijd nog een ontwikkelwet dat je wel veronderstellingen moet maken, omdat je anders bezig blijft met wensen.. :P

Oftewel: een zekere mate van flexibiliteit is ws gewenst, maar er zit een grens aan.
Zo zie ik het helaas niet, de klant is altijd koning =), dus als hij iets wenst en het is technisch haalbaar, dan krijg hij dat, hoe vaak hij ook van gedachten verandert.

Het gaat hem/haar alleen wel geld kosten =)

Oftewel, uiteindelijk is de klant/opdrachtgever degene die de grens stelt en NIET de ontwikkelaar.

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Markieman schreef op 13 april 2004 @ 14:25:
[...]


Zo zie ik het helaas niet, de klant is altijd koning =), dus als hij iets wenst en het is technisch haalbaar, dan krijg hij dat, hoe vaak hij ook van gedachten verandert.

Het gaat hem/haar alleen wel geld kosten =)

Oftewel, uiteindelijk is de klant/opdrachtgever degene die de grens stelt en NIET de ontwikkelaar.
Tuurlijk, als hij halverwege het anders wilt, dan kan hij het anders krijgen... Alleen reken maar dat er, zeker als er aan de basisveronderstellingen gesleuteld moet worden, een flink bedrag bovenop komt en de deadline niet gehaald gaat worden.

't is een afweging tussen tijd, geld en kwaliteit. Een klant levert eerste specificaties af, aan de hand hiervan en je offerte zijn dus de randvoorwaarden bepaald.

Een ontwikkelaar maakt dus wel degelijk veronderstellingen aan de hand van de eisen van een klant. De meeste flexibiliteit kost namelijk extra complexiteit c.q. ontwikkeltijd, waar bij mij iig een grens aan zit.

[ Voor 8% gewijzigd door gorgi_19 op 13-04-2004 14:33 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
@Naimed

Die gebruik ik altijd maar bedankt voor de tip

@Markieman

1. Wat als die opdrachtgever vervangen wordt door een andere persoon?
Dan zal ik iets verder van die persoon af staan als nu maar die persoon word niet vervangen door een ander persoon of de boel moet failliet gaan en dan heeft het project ook geen zin meer
2. Een 'wet' binnen systeemontwikkeling is dat wensen/eisen van een opdrachtgever/gebruiker nooit vast staat.
Dat kan wel wezen maar ik heb op dit moment de wensen/eisen van de opdrachtgever al bereikt. Dit voor 1 vast bedrag. Alles wat er nu nog bij komt word per uur berekend dus alles is mogelijk voor de juiste prijs
3. Perfectie bestaat niet.
Perfectie bestaat niet. Alles is voor verbetering vatbaar maar zolang je naar perfectie streeft kom je een heel eind
4. Wat als jij ziek bent/je terugtrekt/... kan iemand anders het dan eenvoudig overnemen?
Nee. Ik ben de einige die het project opgezet heeft en dus de enige die toeang tot de source heeft.

[ Voor 10% gewijzigd door Verwijderd op 13-04-2004 16:56 ]


  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-05 12:16
Verwijderd schreef op 13 april 2004 @ 16:55:
@Markieman

1. Wat als die opdrachtgever vervangen wordt door een andere persoon?
Dan zal ik iets verder van die persoon af staan als nu maar die persoon word niet vervangen door een ander persoon of de boel moet failliet gaan en dan heeft het project ook geen zin meer
2. Een 'wet' binnen systeemontwikkeling is dat wensen/eisen van een opdrachtgever/gebruiker nooit vast staat.
Dat kan wel wezen maar ik heb op dit moment de wensen/eisen van de opdrachtgever al bereikt. Dit voor 1 vast bedrag. Alles wat er nu nog bij komt word per uur berekend dus alles is mogelijk voor de juiste prijs
3. Perfectie bestaat niet.
Perfectie bestaat niet. Alles is voor verbetering vatbaar maar zolang je naar perfectie streeft kom je een heel eind
4. Wat als jij ziek bent/je terugtrekt/... kan iemand anders het dan eenvoudig overnemen?
Nee. Ik ben de einige die het project opgezet heeft en dus de enige die toeang tot de source heeft.
1. Dat hij niet wordt vervangen mag je niet van uit gaan. Er kan altijd iets gebeuren buiten een failliesement... Een andere persoon betekent andere inzichten = nieuwe wensen/eisen
2. Een opdrachtgever accepteert het niet als jij 100 uur rekent voor iets wat bij goed programmeren in 2 uur aangepast had kunnen zijn (beetje overdreven voorbeeld)...
3. Je claimt zelf alles "perfect" in kaar te hebben gebracht, wat je nu zegt is dus tegenstrijdig...
4. Vind jij dit zelf een goed antwoord? Wat als jij drie jaar in coma ligt, maar er moeten dringend ingrijpende wijzigingen doorgevoerd worden. Wat als jij een superbaan in verweggistan aangeboden krijgt? (En dus geen tijd meet voor dit project) Wat zeg je dan? "Pech voor mijn opdrachtgever?" Heeft hij daarvoor betaald?

Kortom, je mag nergens van uitgaan. Mensen veranderen van gedachten, ook jij. Er gebeuren dingen (zowel leuke als niet leuke). En uiteraard kan je niet alles opvangen, maar bepaalde zaken zul je toch rekening mee moeten houden.

De opdrachtgever verdient wel meer dan een werkende applicatie voor zijn geld.

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Verwijderd

Topicstarter
1 Persoon word niet vervangen. 100% zeker weten. Laten we wel wezen wie kent de situatie nou beter dan mij ?
2 Heel raar voorbeeld ja. Maar zoals ik al zei alles is mogelijk voor de juiste prijs. iets simpels zal mischien 2 uur kosten en iets ingrijpends mischien 8 bij wijze van spreken dus alles is mogelijk voor de juiste prijs
3. Perfectie qua de werking van een programma en perfectie qua iets in kaart brengen vind ik 2 verschillende dingen. Laat ik het dan zo zeggen. Ik het het prima in kaart gebracht. nu blij ? Dingen te letterlijk nemen is ook een vak hoor
4. Ja dit vind ik een goed antwoord. En jouw opmerkig van "heeft hij daarvoor betaald?" slaat natuurlijk al helemaal nergens over. Hij betaald voor het product wat hij heeft gekregen. En ja als ik een superbaan in verweggistan kan krijgen ben ik weg en heb ik geen tijd meer voor het project. Ze zijn er heel goed van bewust dat dit programma in mn vrije tijd word gemaakt. Mocht er later iets aan de hand zijn dan kom ik graag langs voor een bepaald bedrag per uur. Ook hier zijn afspraken over gemaakt.
Pagina: 1