Avatar billede renekoemler Nybegynder
06. december 2002 - 12:24 Der er 8 kommentarer og
1 løsning

If-sætning som kriterium i forespørgsel

Hej Alle,

Jeg har brug for at konstruerer en if-sætning der kigger i en feltværdi i en formular. Jeg kan sagtens skrive hvad den skal kigge i med mangler syntaxen til selve if-sætningen.

I får den lige i pseudo-kode

IF
  [Formularer]![Formular1]![COMBO_soeg_hoved]= "Alle"
SÅ
  Vis alle poster
ELLERS
  [Formularer]![Formular1]![COMBO_soeg_hoved]

Jeg har hørt noget med IIF men er ikke sikker på om det er noget der har indflydelse på min sætning.

Bedste hilsner
René
Avatar billede hekla Nybegynder
06. december 2002 - 12:39 #1
IF
IF [Forms]![Formular1]![COMBO_soeg_hoved]= "Alle" then
  Vis alle poster
ELSE
  [Forms]![Formular1]![COMBO_soeg_hoved]
END IF
Avatar billede hekla Nybegynder
06. december 2002 - 12:39 #2
Hov! Der kom et IF for meget med i starten.
Avatar billede renekoemler Nybegynder
06. december 2002 - 12:46 #3
Hej Hekla,

Ja det tror jeg nog jeg havde luret THEN/ELSE men der er noget med at man i kriteriefeltet i forespørgsel skal anvendes : eller ; til at skille de enklete dele af udtrykket og det er dem jeg ikke er trykke ved *GG*. Har ikke kunnet få lov til at lave VB(A) som sætning i kriteriefeltet
Avatar billede hekla Nybegynder
06. december 2002 - 12:47 #4
Du får den lige igen:

IF [Forms]![Formular1]![COMBO_soeg_hoved]= "Alle" then
Gør det ene
ELSE
Gør det andet
END IF

Du kan åbne/opdatere din formular uden kriterier ved "Alle" muligheden,
og med kriteriet
Mitfelt = Me![COMBO_soeg_hoved]
ved den anden mulighed
Avatar billede hekla Nybegynder
06. december 2002 - 13:01 #5
Jeg tror ikke at man kan gøre det i forespørgslen, men du kan gøre det ved at sætte denne kode ind i der hvor du ønsker at åbne din formular

    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Formular2"
IF [Forms]![Formular1]![COMBO_soeg_hoved]= "Alle" then
    DoCmd.OpenForm stDocName
    Exit sub
ELSE
    stLinkCriteria = "[Mitfelt]=" & Me![COMBO_soeg_hoved]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Exit sub
END IF
Avatar billede juks Novice
06. december 2002 - 13:05 #6
rene jeg tror ikke du kan gøre det du gerne vil i en sql sætning hvorfor laver du ikke to forspørgelser også bruger

IF [Forms]![Formular1]![COMBO_soeg_hoved]= "Alle" then
brug forsprøgels1

ELSE
brug forsprøgels2
END IF
Avatar billede juks Novice
06. december 2002 - 13:08 #7
jeg forstår ikke hvorfor du ikke bruger Filter?

IF [Forms]![Formular1]![COMBO_soeg_hoved]= "Alle" then
  me.FilterOn = false
    Exit sub
ELSE
  me.filter = Forms]![Formular1]![COMBO_soeg_hoved]
me.filteron = true
END IF
Avatar billede hugopedersen Nybegynder
06. december 2002 - 13:58 #8
DIM strSQL as String

IF ME.COMBO_soeg_hoved= "Alle" then
  strSQL="SELECT * FROM yourtable"
ELSE
  strSQL="SELECT * FROM yourtable WHERE yourField = etellerandet"
END IF

ME.RecordSource = strSQL
ME.Requery

Det burde virke.
Avatar billede renekoemler Nybegynder
06. december 2002 - 14:46 #9
Hej Igen,

jeg har nok ikke udtrykt mig klat nok. Jeg skulle bruge kode til at lave et kriterie for udvælgelse i en forespørgsel. Nu har jeg selv leget lidt mere og fundet noget der virker:

Like IIf([Formularer]![Formular1]![COMBO_soeg_hoved]="Alle";[TAB_hovedkategori].[Hovedkategori];[Formularer]![Formular1]![COMBO_soeg_hoved])

Tak for jeres indsats og sorry at jeg ikke har udtrykt mig klar nok

/rené
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