Toon posts:

[vb] GetValue

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem met de GetValue

Voor de getvalue heb ik:

Visual Basic:
1
2
3
Private Function GetValue(TabelVeld As Field) As String 
GetValue = Iif(IsNull(TabelVeld), Empty, TabelVeld) 
End Function 


Een tekstveld uit de database halen lukt:
Visual Basic:
1
txtVoorbeeld = GetValue(rsDossier("Voorbeeld")) 


Maar nu heb ik in Access een 'ja/nee' veld gemaakt (checkbox).
Daar heb ik de volgende staan:
Visual Basic:
1
chkProbleem = GetValue(rsDossier("Probleem")) 


Nu krijg ik een type mismatch(13) error

Hoe kan ik dit oplossen??

[ Voor 9% gewijzigd door curry684 op 15-09-2003 21:36 . Reden: [code]-tags zijn mooi he :) ]


  • guanpedro
  • Registratie: Maart 2002
  • Laatst online: 18-12-2025

guanpedro

Live forever or die trying

chkProbleem moet een bool worden toch? probeer GetValue(rsDossier("Probleem")) naar een valide bool te casten

PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Geeft hij niet gewoon een boolean terug?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 06:22

RayNbow

Kirika <3

Ik neem aan dat chkProbleem een Checkbox is... In dat geval is het niet verstandig om een boolean aan de default property van een Checkbox toe te kennen, aangezien...

vbUnchecked = 0
vbChecked = 1
vbGrayed = 2
True = -1
False = 0

Misschien werkt de volgende code wel?
Visual Basic 6:
1
chkProbleem.Value = IIf(GetValue(rsDossier("Probleem")), vbChecked, vbUnchecked)

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
Maak er een variant van zou ik zeggen.

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
Zo te zien was het de oplossing die RayNbow zei..

RayNbow bedankt :) _/-\o_

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
Vind je het nu handig dat je een uitzondering moet maken voor checkboxes ? Is er geen algemene manier te bedenken waarbij je de GetValue aanroep hetzelfde kunt houden ?

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
Euh, zelf weet ik dat niet...

Verwijderd

Topicstarter
Nu heb ik een ander probleem, namelijk de SetValue...

Voor de SetValue heb ik:

Private Function (Veldwaarde As String) As Variant
Dim Zonderspaties As String
Zonderspaties = Trim$(Veldwaarde)
If Zonderspaties = Empty Then
SetValue = Null
Else
SetValue = Zonderspaties
End If
End Function

Om de tekst op te slaan heb ik:

Dim Bladwijzer As Variant
rsDossier![Voorbeeld] = SetValue(txtVoorbeeld)
Bladwijzer = rsDossier.Bookmark
rsDossier.Update
rsDossier.Requery
rsDossier.Bookmark = Bladwijzer

Maar nu moet ik die checkbox op slaan. Hoe doe ik dat?
Weet RayNBow dat??

Verwijderd

Topicstarter
...of iemand anders natuurlijk

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 06:22

RayNbow

Kirika <3

Tip: gebruik liever de Edit knop ipv meerdere keren op jezelf te replyen ;)

Maar volgens mij moet de volgende code het doen:
Visual Basic 6:
1
rsDossier![Probleem] = IIf(chkProbleem.Value = vbChecked, 1, 0)


NB: chkProbleem.Value = vbChecked kan ook verkort worden tot chkProbleem.Value

[ Voor 22% gewijzigd door RayNbow op 16-09-2003 14:10 ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Verwijderd

Topicstarter
Thnx! _/-\o_ Ik zal het ff testen als mijn programma wat verder gevorderd is....

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
RayNbow schreef op 16 september 2003 @ 14:08:
Visual Basic 6:
1
rsDossier![Probleem] = IIf(chkProbleem.Value = vbChecked, 1, 0)


NB: chkProbleem.Value = vbChecked kan ook verkort worden tot chkProbleem.Value
Volgens mij ga je nu zelf ook de fout in met die verschillende checkbox statussen.

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.


  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 06:22

RayNbow

Kirika <3

farlane schreef op 17 September 2003 @ 17:11:
[...]


Volgens mij ga je nu zelf ook de fout in met die verschillende checkbox statussen.
Hoezo? Als chkProbleem.Value = vbChecked is... dan is-tie dus aangevinkt. Als dat zo is, dan retourneert IIf de waarde 1, zoniet de waarde 0. De waarde 1 en 0 worden volgens mij gebruikt in databases voor de Yes/No velden (tenminste, zo heb ik al m'n ASP/ADO pagina's gemaakt die met Yes/No velden werken).

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
RayNbow schreef op 17 september 2003 @ 17:32:
[...]


Hoezo? Als chkProbleem.Value = vbChecked is... dan is-tie dus aangevinkt. Als dat zo is, dan retourneert IIf de waarde 1, zoniet de waarde 0. De waarde 1 en 0 worden volgens mij gebruikt in databases voor de Yes/No velden (tenminste, zo heb ik al m'n ASP/ADO pagina's gemaakt die met Yes/No velden werken).
Da klopt, maar ik doelde dan ook op je opmerking daaronder.

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.

Pagina: 1