[ASP]buiten huidig bereik..

Pagina: 1
Acties:

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Dag mensen,

Ik heb een form met ASP..
Ik een tekstveld word een nummer opgegeven.
Dit wordt dat met ASP in een Accesdatabase gezet. Het veld in de database is nummeriek en ik in de ASP code het nummer al omgezet naar nummeriek.
Als ik het nummer begin met een 0 dus bijv. 0123456789 dan gaat het goed, maar vul ik een groot nummer in bijv. 2595895844 dat krijg ik de error "

Buiten het huidige bereik.
/boekeninvoeren/btvw.asp, line 120

Op regel 120 staat

code:
1
objAdd.Fields("VoorraadNummerAries") = bestelnr


Dus dat kan wel kloppen.

Ik gebruik Cint("bestelnr") om het nummer om te zetten naar nummeriek, maar ik heb het idee dat dit niet goed is..

Help plz//

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
De waarde is te groot voor het huidige veldtype. Als het nummer begint met een 0 wordt deze er automatisch afgehaald.

Je zult dus een ander veldtype in de database moeten kiezen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • py.mosjuh
  • Registratie: Oktober 2002
  • Laatst online: 24-10-2022

py.mosjuh

fikkert.net

P_de_B schreef op 02 maart 2004 @ 16:12:
De waarde is te groot voor het huidige veldtype. Als het nummer begint met een 0 wordt deze er automatisch afgehaald.

Je zult dus een ander veldtype in de database moeten kiezen.
een longint oid zou het idd moeten doen

Kites rise highest against the wind - not with it (Winston Churcill)


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Kijk eens in de help hoe groot het grootste getal is dat in een int kan.

https://fgheysels.github.io/


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
maar als ik Cint gebruik rond die dan mijn getal af??

Ik krijg de error namelijk met 10 getallen maar als het eerste getal een 0 is weer niet... en ik heb de velden van de database al op nummeriek en op tekst gehad..

Ik heb nog een ander veld en daarbij is het hetzelfde, maar dan moet 3 nummers..
Vul ik 200 in dan werkt het wel, maar vul ik 587 is dan werk het niet.. :S

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
niemand?

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Predje schreef op 02 maart 2004 @ 16:19:
maar als ik Cint gebruik rond die dan mijn getal af??

Ik krijg de error namelijk met 10 getallen maar als het eerste getal een 0 is weer niet... en ik heb de velden van de database al op nummeriek en op tekst gehad..

Ik heb nog een ander veld en daarbij is het hetzelfde, maar dan moet 3 nummers..
Vul ik 200 in dan werkt het wel, maar vul ik 587 is dan werk het niet.. :S
CInt staat voor convert to int. Er wordt dus een conversie naar een VB integer gedaan.
edit:

Als jouw getal een gebroken getal is dan zal er worden afgerond volgens de normale regels (0.5 -> 1, 0.49 -> 0) <- niet helemaal waar. Volgens de helpfile van MS wordt bij precies .5 afgerond naar het dichstbijzijnde even getal, dus 0.5 wordt ook 0. Lees hier voor het gemak dan maar 0.51 -> 1


Even tussen twee haakjes, db integers zijn meestal 4 bytes en daarvoor kun je beter een VB Long gebruiking. CLng is daarvoor de conversie functie.

[ Voor 12% gewijzigd door bigbeng op 02-03-2004 17:15 ]


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Met Clng blijft het hetzelfde.. Ik snap dit dus echt niet..
In de database zijn het gewoon nummerieke velden en het gaat niet goed als ik daar nummers vanuit een tekstveld in wil zetten. (dus vanuit het form)

Ik heb nu de velden in de database omgezet naar tekstvelden en nu converteer ik niks meer in de ASP code, dit lijkt wel te werken.

Liever zou ik het gewoon met nummerieke datebase velden hebben en dan converteren. maarja,... ;( :? 8)7

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
sorry voor het schreeuwen maar

HET VELD IN DE DATABASE BIEDT NIET VOLDOENDE RUIMTE, dit heeft niets te maken met wat je in asp code doet. Je zult moeten kijken welk datatype het veld 'ordernummer' nu heeft en wat het maximum is wat je daar in kan stoppen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Predje schreef op 03 maart 2004 @ 09:13:
Met Clng blijft het hetzelfde.. Ik snap dit dus echt niet..
In de database zijn het gewoon nummerieke velden en het gaat niet goed als ik daar nummers vanuit een tekstveld in wil zetten. (dus vanuit het form)

Ik heb nu de velden in de database omgezet naar tekstvelden en nu converteer ik niks meer in de ASP code, dit lijkt wel te werken.

Liever zou ik het gewoon met nummerieke datebase velden hebben en dan converteren. maarja,... ;( :? 8)7
dat kan toch ook gewoon :? je kunt in access waneer je een numeriek veld hebt geselecteerd aangeven wat voor numeriek veld het moet zijn...

zo heb je byte / integer / lange integer.... zoals al vaker is aangegeven moet je lange integer (long int) gebruiken.

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
P_de_B schreef op 03 maart 2004 @ 09:20:
sorry voor het schreeuwen maar

HET VELD IN DE DATABASE BIEDT NIET VOLDOENDE RUIMTE, dit heeft niets te maken met wat je in asp code doet. Je zult moeten kijken welk datatype het veld 'ordernummer' nu heeft en wat het maximum is wat je daar in kan stoppen.
Sorry, ik maar ik snap het echt niet.. 8)7

Ik heb ik de database gekeken.. het veld staat op numeriek met de volgende waarden..

veldlengte = lange integer
Aantal decimalen = automatisch
vereist = ja
geindexeerd = nee

Thats it.
het enige dat moet gebeuren is dat hier een 10-cijferig nummer (dat zowel met 9es kan beginnen als met 0en) van ASP ingezet wordt.

Ik had niet gedacht dat me dit zoveel moeite zou opleveren..

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Quote van de help:


Long Integer (Default) Stores numbers from –2,147,483,648 to 2,147,483,647 (no fractions).


en je probeert: 2.595.895.844, dat past dus niet.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Mja kijk dat snap ik wel..
Ik gebruik geen punten of comma`s is het getal, maar dat zal denk ik niet veel uitmaken..
Kun je mij misschien vertellen wat dan een goed alternatief is?? Of ben ik al goed af door de gewoon weer om te zetten naar een tekstveld..

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Die punten zijn gewoon het duizendtalscheidingsteken (de comma's komen van de Engelstalige help en zijn dus ook duizendtalscheidingstekens)

Ik denk dat we duidelijk genoeg hebben aangegeven wat er mis is, probeer nu zelf eens de oplossing te vinden. Naar mijn bescheiden mening is dat een van de belangrijkste dingen die een programmeur zou moeten kunnen, nl. zelf in staat zijn een oplossing te vinden door bijv. de help te gebruiken.

Dus, open de access help en kijk eens wat een alternatief zou kunnen zijn :)

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Agja je hebt ook wel gelijk...
Het is altijd makkelijk naar om naar de bekende weg te vragen ;)
In ieder geval bedankt dat jullie mij op weg geholpen hebben.. :D
Pagina: 1