Avatar billede t-johansen Juniormester
16. februar 2011 - 15:00 Der er 17 kommentarer og
2 løsninger

hvordan laver jeg denne if sætning

Jeg har en formular der henter fra en forspørgsel.

Forespørgsel:
kontrakt-ny-forspørgsel

Felter i forespørgsel:
V04_KTO2
D01_NAVN_OCC_1

Formularfelter:
Tekst193


Kunne godt tænke mig en regel på formular feltet Tekst193 ala denne:

if V04_KTO2 = "0" then Tekst193 = "Ingen bruger" Else Tekst193 = D01_NAVN_OCC_1


Altså hvis V04_KTO2 er nul (ikke tomt) skal teksten "ingen bruger" vises i formular tekstfeltet Tekst193, men hvis V04_KTO2 er større end nul så skal formular feltet Tekst193 vise indholdet af forespørgselsfeltet D01_NAVN_OCC_1 vises.


Hvordan skal den helt præcis være og hvor skal man sætte den ind henne, eks. under "before update" eller lign.?
Avatar billede mugs Novice
16. februar 2011 - 15:07 #1
Hvilke datatyper har du i dine felter?
Avatar billede t-johansen Juniormester
16. februar 2011 - 15:12 #2
V04_KTO2 er tal, mellem 0 og 9999999

D01_NAVN_OCC_1 er tekst
Avatar billede jensen363 Forsker
16. februar 2011 - 15:15 #3
Noget i denne stil

IIF([DitReferenceFelt A]=0;Me![DitResultatFelt]="Ingen bruger";Me![DitResultatFelt]=([DitReferenceFelt B])
Avatar billede jensen363 Forsker
16. februar 2011 - 15:16 #4
Ups > sorry mugs ... var lidt længe om at få sendt
Avatar billede t-johansen Juniormester
16. februar 2011 - 15:30 #5
@Jensen er der ikke nogle parantes fejl i den sætning?
Avatar billede jensen363 Forsker
16. februar 2011 - 15:38 #6
Den er ikke testet ... skrev den efter hukommelsen

IIF([DitReferenceFelt A]=0;Me![DitResultatFelt]="Ingen bruger";Me![DitResultatFelt]=[DitReferenceFelt B])
Avatar billede t-johansen Juniormester
16. februar 2011 - 16:11 #7
Har lavet denne:

IIF([kundernr]=0,Me![Tekst193]="ingen bruger",Me![Tekst193]=[Tekst233])


men den siger
compile error
Expected: =



Hvor skal man indsætte denne regel?

i forespørgslen?
i et tekstfelt i en forumlar under eks. "update after" som kodegenerator?
Avatar billede jensen363 Forsker
16. februar 2011 - 16:13 #8
Afhængigt af hvordan de afledte input data er, ville jeg som udgangspunkt indsætte det i forespørgslen
Avatar billede jensen363 Forsker
16. februar 2011 - 16:17 #9
Hvis du kundenummer på din form også, må det være sådan

IIF(Me![kundernr]=0,Me![Tekst193]="ingen bruger",Me![Tekst193]=[Tekst233])
Avatar billede t-johansen Juniormester
17. februar 2011 - 11:52 #10
kan ikke få den til ar reagere på noget som helst.

Jeg vil helst have det på formular niveau.

Har også prøvet med dette:

Private Sub Tekst193_BeforeUpdate(Cancel As Integer)
If Me.kundenr.Text < 1 Then
Me.Tekst233.Visible = False
End Sub

Hele pointen er at hvis kundenr = 0 så viser den teksten "skabelon konto" i Tekst233 og den tekst vil jeg gerne skjule/ændre.

Har brugt Tekst193 som tekstboks til at vise resultat i, i forrige eksempler.
Avatar billede mugs Novice
17. februar 2011 - 11:57 #11
Prøv at indsætte koden i feltet Text BeforeUpdate.
Avatar billede t-johansen Juniormester
17. februar 2011 - 15:15 #12
Fatter hat af hvad der sker.

Nu har jeg prøvet at lave en helt ny og meget simpel formular til at teste det:

http://www.loeveburet.dk/media/db2.mdb

hvis du har tid må du meget gerne kigge på den.
Avatar billede mugs Novice
17. februar 2011 - 15:27 #13
Denne fungerer:

Private Sub Tekst0_BeforeUpdate(Cancel As Integer)
If Me.Tekst0 < 1 Then
Me.Tekst2.Visible = False
End If
End Sub
Avatar billede jensen363 Forsker
17. februar 2011 - 15:38 #14
Private Sub Tekst0_AfterUpdate()

    If Tekst0.Value > 0 Then
        Tekst2.Value = "større end nul"
    Else
        Tekst2.Value = "nul eller mindre"
    End If

End Sub
Avatar billede mugs Novice
17. februar 2011 - 15:47 #15
Du har indtastet en SQL sætning i Tekst2. Slet den og sæt markøren i Tekst0 BeforeUpdate. Tryk på de 3 små ... i højre side og paste koden ind i VBA-editoren.
Avatar billede t-johansen Juniormester
17. februar 2011 - 16:12 #16
Det lykkedes, juhu.


svar og du skal få point....
Avatar billede mugs Novice
17. februar 2011 - 16:17 #17
Hvem?
Avatar billede t-johansen Juniormester
18. februar 2011 - 07:58 #18
Hvis jensen også svarer så får i begge point.
Avatar billede jensen363 Forsker
18. februar 2011 - 08:31 #19
Jamen så svarer jeg også :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester