Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Access 2007] waarde toekennen aan veld adhv ja/nee waardes*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb in access 2007 een tabel gemaakt met persoonsgegevens. Ik heb een kolom "komt" , een kolom "met partner" en een kolom "aantal". De kolommen "komt" en "met partner" worden ingevuld middels ja/nee.
In de kolom "aantal" moet een 1 of een 2 komen staan. Als "komt"ja is moet er 1 komen te staan.
Als "komt" en "met partner" ja is moet er een 2 komen staan.
Dit is natuurlijk handmatig in te vullen, mar is er een manier om dit automatisch in te laten vullen.
Wie wet er eventueel een oplossing

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

je kunt ook kiezen voor een keuzelijst al dan niet met invulbaare waarden.
dat kun je eenvouwdig 1/2/3 toekennen aan ja/nee/onbekend

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
Access ondersteunt geen computed columns. Je zal dus een update query moeten maken, zoiets van:

code:
1
UPDATE mijntabel SET aantal = IIf([komt],IIf([met partner],2,1),0)


edit:
Als de ja/nee waarden op een formuliertje worden ingevuld, kan je ook met een OnChange de waarde van aantal aanpassen.

Dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub selKomt_AfterUpdate()
  if me!komt then
    if me![met partner] then
      me!aantal = 2
    else
      me!aantal = 1
    end if
  else
    me!aantal = 0
  end if
End Sub

Private Sub selMetPartner_AfterUpdate()
  if me!komt then
    if me![met partner] then
      me!aantal = 2
    else
      me!aantal = 1
    end if
  else
    me!aantal = 0
  end if
End Sub

[ Voor 63% gewijzigd door Witte op 21-08-2009 14:20 ]

Houdoe


  • Moirraine
  • Registratie: Mei 2008
  • Laatst online: 13-02-2024
Hierbij een VBA commando. Dit voorkomt dat je de waarschuwing "U staat op het punt blablabla" krijgt.

Witte's oplossing is perfect, maar als je dit vaker wil doen is dit wat makkelijker in mijn mening ivm genoemde waarschuwing. Als andere mensen de db ook gebruiken voorkomt het verwarring.


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private sub ZetAantallen()

on error goto fout

With currentdb.openrecordset("mijntabel")
    do while not .eof
         .edit
         !aantal = IIf(!komt = true,IIf(!met partner=true,2,1),0)
         .update
         .movenext
     loop
    .close
end with

exit sub

fout:

msgbox err.number & " - " & err.description, vbokonly + vbcritical, "Fout: ZetAantallen"

end sub


Gooi dit achter een knop of iets dergelijks en je kunt het makkelijk telkens opnieuw gebruiken.

[ Voor 0% gewijzigd door Verwijderd op 21-08-2009 13:34 . Reden: codetags! ]