Toon posts:

[access][query]Veldwaarde naar beneden zetten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zoek een manier om de waarde van een veld naar beneden te gooien als deze boven een bepaalde waarde komt. (maandnummer, mag maximaal 12 zijn)in een formulier met behulp van een update-query door op een knop te drukken.
Het volgende heb ik al geprobeerd:
code:
1
2
UPDATE tabel SET tabel.maandId = (([tabel].[MaandId])+([tabel].[termijn]))
WHERE ((([tabel].[beginwaardeId])=[Forms]![formuliernaam]![Keuzelijst met invoervak]) And (((([tabel].[MaandId])+([tabel].[termijn]))>12)=((([tabel].[MaandId])+([tabel].[termijn]))-12)));

(heb niet erg veel kennis van sql...)
Maar om er dan weer 12 af te halen werkt niet...

Dit stukje moet waarschijnlijk anders:
code:
1
And (((([tabel].[MaandId])+([tabel].[termijn]))>12)=((([tabel].[MaandId])+([tabel].[termijn]))-12)));

Als iemand een idee heeft hoor ik dat graag :-)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 11-09 13:04

Crazy D

I think we should take a look.

Ik heb ff geen zin om het in je query in te bouwen, maar je kan in een access query vba gebruiken, o.a. de Iif.
Iif(voorwaarde, truewaarde, falsewaarde)
dus bv
Iif(maand + termijn > 12, maand + termijn - 12, maand + termijn)

Dit geeft terug:
als maand + termijn boven de 12 uitkomt, (maand + termijn) - 12
en anders maand + termijn

Hoewel het netter is om dit in je form al te controleren, mjah...

Exact expert nodig?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

In je where gedeelte kun je alleen restricties opgeven. Het aanpassen zul je voor de where moeten doen. Eigenlijk heb je dus 2 queries nodig. De eerste die termijn er bij opteld, en de tweede die er eventueel 12 af haalt..

Maar het is mischien handiger om dit op een andere manier in de tabel op te slaan.. Waneer je een begin en eind datum opgeeft is de termijn simpel op te vragen, en zorgt de DB zelf wel dat de datum goed gezet wordt...

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