Avatar billede ulrik_82 Nybegynder
10. juli 2007 - 11:52 Der er 8 kommentarer

Opstil flere felter adskilt af komma

Jeg har lavet database over bøger - en bog kan have flere emner! Jeg vil så gerne have en forspørgsel som viser emnerne vist i ET felt adskilt af komma. Det har jeg lidt svært ved liiige at greje hvordan gøres (ved godt jeg har spurgt en gang før)

Jeg er kommet så langt af jeg har oprettet en forespørgsel og kender til kommandoen Emne &","& Emne

Men hvordan får man den til at skrive forskellige emner og ikke kun det samme emne hver gang?

Mvh Ulrik
Avatar billede ulrik_82 Nybegynder
10. juli 2007 - 11:55 #1
Hov - skal måske lige tilføjes af emnerne er opstillet i en  nedbrudt mange til mange relation (hvis det er af betydning)

Har også forsøgt at forsimple det hele ved at sige at der højest kan angives 3 emer og i stedet blot lave emne1, emne2 og emne3 i hovedtabellen og så adskille dem med & " , " & - men så sker det at den kun vil vise id'et og ikke navnet på emnet

Mvh Ulrik
Avatar billede terry Ekspert
10. juli 2007 - 12:03 #2
SELECT emner1 & ", " & emne2 & ", " & emne3 as Emne from yourtable
Avatar billede ulrik_82 Nybegynder
10. juli 2007 - 12:33 #3
Problemet er at det er en mange til mange relationer som er nedbrudt... derfor virker metoden (så vidt jeg kan se)ikke? eller er der noget jeg har misset?

Ulrik
Avatar billede weaponx Nybegynder
10. juli 2007 - 13:57 #4
Hvad med noget i denne stil?
Dim strSQL as String
Dim strEmne as String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = CurrentProject.AccessConnection

strSQL = "SELECT DISTINCT Emne FROM Emnetabel"
Set rs = New ADODB.Recordset
OpenRS(strSQL)

'Loop der laver en string med kommaseparede emner
Do until rs.eof
strEmne = strEmne & "," & rs("Emne")
rs.movenext
loop

'Luk forbindelser
rs.close
set rs = nothing
cn.close
set cn = nothing
Avatar billede weaponx Nybegynder
10. juli 2007 - 14:04 #5
ooops glemte lige forskel i asp og access vba syntaks.

rs("emne") hedder i access rs![emne]
Avatar billede ulrik_82 Nybegynder
10. juli 2007 - 14:11 #6
Det lyder fint... men kan ikke helt lure hvor meget jeg skal skifte ud for at få den til at spytte de rigtige ting ud og skal det skrives i SQL feltet i forespørgslen?
Avatar billede terry Ekspert
10. juli 2007 - 14:19 #7
no need to loop through the recorset

strEmne = rs.GetString(,, ",", "")  'NOT TESTED

and rs("emne")  is fine in Access
Avatar billede weaponx Nybegynder
10. juli 2007 - 14:56 #8
Ja Terry nævner en hurtigere metode jeg lige havde glemt.

Terrys er til at sætte komma ved kolonner, denne er til rækker:
GetString(adClipString, , "", ",")
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