Avatar billede mhq Nybegynder
11. juni 2004 - 14:47 Der er 6 kommentarer og
1 løsning

Do Until .EOF

Emnet er behandlet mange gange. Men jeg kan ikke sætte svarene ind i min problemstilling!

Hvordan laver jeg en Do Until .EOF sådan, at jeg i en SQL streng får listet et givent felt (eks fornavn) fra en tabel?. Min forestilling.

    With T_L_Navne
        Do Until .EOF
            strSQL = strSQL & ????
            .MoveNext
        Loop
    End With

Meget gerne også med et kriterie sådan, at det kun er de personers fornavn der vises, for hvem det gælder at de tilhører eks gruppe 1 (Felter i T_L_Navne: NavnIdnr, Fornavn, Efternavn, GruppeIDnr)
Avatar billede overchord Nybegynder
11. juni 2004 - 14:55 #1
foerst og fremmest skal du jo have oprettet en forespoergsel som henter disse data ud af databasen. Derefter kan du gennemgaa resultaterne.
Umiddelbart ser det ud som om du er igang med noget ASP frmefor Visual Basic, men en generel loesningsmodel vil vaere noget i retning af

strSQL = "SELECT * FROM T_L_Navne"
- her eksekverer du saa foerspoergslen, i ren access opretter du bare denne og kan behandle den som et recordset bagefter, i ASP skal du eksekverer din SQL gennem din forbindelse til databasen

set rs = Conn.execute(strSQL)

'Saa nu har du altsaa elementet rs som indeholder de bestemte data.
With rs
  while not .EOF
    response.Write ("Fornanv")
    rs.Movenext
  wend
end with

Dette giver dig en liste over fornavne i hele tabellen
Hvis du vil introducere kriterier skal det goeres i strSQL foer den eksekveres:

strSQL = "SELECT * FROM T_L_Navne WHERE GruppeIDnr=1"


Haaber det hjaelper lidt. Maaske kan du give lidt mere info om hvorvidt det er ASP du arbejder med (hvormed det nok er bedst at oprette et spoergsmaal i ASP kkategorien)
Avatar billede mhq Nybegynder
11. juni 2004 - 15:01 #2
Det er ikke ASP!

Uddybende forklaring. I min søgeformular kan jeg enten søge på FORNAVN eller GRUPPE. Når der søges på FORNAVN er min SQL sætning: "SELECT ..... WHERE ...="& Me.Fornavn
I de tilfælde hvor der skla søges på Gruppe, skal min SQL sætning jo udvides med: Fornavn1 OR Fornavn2 OR ...
Avatar billede overchord Nybegynder
11. juni 2004 - 17:13 #3
ok - jeg forstaar ikke hvorfor du vil udvide med flere fornavne naar du soeger paa gruppe.
Er det ikke bare et spoergsmaal om at inkludere gruppeID i den eksisterende SQL saetning:
if me.fornavn <>"" And me.Gruppe <>0 then
StrSQL = "SELECT .... FROM T_L_Navn WHERE Fornavn = " & me.fornavn & " AND GruppeIDnr = " & me.Gruppe
elseif me.fornavn <>"" and me.Gruppe = 0 then
StrSQL = "SELECT .... FROM T_L_Navn WHERE Fornavn = " & me.fornavn
elseif me.fornavn ="" and me.Gruppe <>0 then
StrSQL = "SELECT .... FROM T_L_Navn WHERE GruppeIDnr = " & me.Gruppe
else
msgbox "ingen kriterier",vbokonly
end if
Avatar billede fdata Forsker
12. juni 2004 - 13:34 #4
Forudsat du kalder fra en form med felterne Fornavn og GruppeID:

strSQL=""
With T_L_Navne
  Do Until .EOF
    if .fields("Fornavn")="'" & me.fornavn & "'" or _
      .fields("GruppeIDnr")=me.gruppeID then
        strSQL = strSQL & .fields("Fornavn") & ", "
    end if
    .MoveNext
  Loop
End With
strSQL=left(strSQL,len(strSQL)-2)  ' Fjern sidste komma
Avatar billede fdata Forsker
12. juni 2004 - 17:16 #5
Er ikke ude på at kværulere; men hvordan er "... sådan, at jeg i en SQL streng får listet et givent felt" besvaret i det accepterede svar, som i øvrigt beskriver en ASP løsning.
Bare nysgerrig  ;o)
Avatar billede overchord Nybegynder
12. juni 2004 - 22:49 #6
fdata -> Jeg tror svaret blev accepteret pga svaret i 11/06-2004 17:13:56 fremfor det oprindelige "svar" som rigtigt nok var sigtet mod asp.
Avatar billede fdata Forsker
13. juni 2004 - 13:15 #7
Hm. Jeg læste "... sådan, at jeg i en SQL streng får listet et givent felt" som at han ønskede en liste i stil med "Ole, Jens, Peter". Dette ville også forklare løkken. Men du har formodentlig ret.
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