Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


få ut ett värde mha. en subfråga

Postades av 2006-04-26 15:55:14 - Per Kålbäck, i forum access, Tråden har 18 Kommentarer och lästs av 978 personer

Har en fråga mot två tabeller i en access db som ser ut såhär:
<CODE ASP>SELECT usr_KATEGORI, (SELECT 1 FROM med_origin WHERE usr_usrorigin=39 AND usr_kategori = t2.usr_katid) FROM med_kategorier t2 ORDER BY usr_katid

Hur får jag ut värdet från fältet usr_usrorigin?

Jag vill kunna loopa ut allt såhär typ:
<CODE ASP> do while not rs.eof response.write rs("usr_usrorigin") & rs("t2.usr_katID") rs.movenext loop </CODE>


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-04-26 16:31:42 - Thomas Vanhaniemi

<code>
SELECT med_kategorier.usr_KATEGORI, med_origin.usr_usrorigin FROM med_kategorier
INNER JOIN med_origin ON med_origin.usr_kategori = med_kategorier.usr_katid
WHERE med_origin.usr_usrorigin = 39
ORDER BY med_kategorier.usr_katid
</code>
Förstår inte riktigt problemet egentligen, du vill få ut ett värde som du själv specifierat, alltså usr_usrorigin (usr_usrorigin = 39)...


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-04-26 17:08:47 - Per Kålbäck

nja! Inte riktigt siffran 39 är ju inskickat i en variabel (thisUsrId) egentligen.. Så här ser mina tabeller ut:
<CODE ASP>med_kategorier --------------- usr_KATID usr_KATEGORI t.ex usr_KAT ID | 1 - usr_KATEGORI | bla usr_KAT ID | 2 - usr_KATEGORI | bla usr_KAT ID | 3 - usr_KATEGORI | bla usr_KAT ID | 4 - usr_KATEGORI | bla usr_KAT ID | 5 - usr_KATEGORI | bla med_origin ---------- usr_ORIGINID usr_USRORIGIN usr_KATEGORI t.ex usr_ORIGINID | 373 - usr_USRORIGIN | 2 - usr_KATEGORI | 1 usr_ORIGINID | 374 - usr_USRORIGIN | 2 - usr_KATEGORI | 2 usr_ORIGINID | 375 - usr_USRORIGIN | 2 - usr_KATEGORI | 3 usr_ORIGINID | 376 - usr_USRORIGIN | 39 - usr_KATEGORI | 1 usr_ORIGINID | 377 - usr_USRORIGIN | 39 - usr_KATEGORI | 6 </CODE>

Då vill jag få en utsrift som ser ut såhär (ungefär) om jag vill veta vad för kategorier usr_USRORIGIN( 39 ) tillhör?
<CODE ASP>odlare null uppfödare null förädlare null matlagare 39 butik null resurs 39</CODE>


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-04-27 08:56:26 - Andreas Hillqvist

Du skriver så här:

SELECT med_kategorier.usr_KATEGORI, med_origin.usr_USRORIGIN
FROM med_kategorier LEFT JOIN med_origin ON ((med_kategorier.usr_KATID = med_origin.usr_KATEGORI) AND (med_kategorier.usr_USRORIGIN = 39))



Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-04-27 21:54:46 - Per Kålbäck

Då får jag till svar /i access / att den vill ha ett värde för med_kategorier.usr_USRORIGIN. i ASP samma sat, det har inte angetts något värde för osv..


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-04-27 23:05:06 - Andreas Hillqvist

JAg förstår inte.


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-04-30 10:14:32 - Per Kålbäck

huhm?! OK! Skall förklarara vad jag vill åstadkomma...

Jag skall med ASP skriva ut checkboxar i ett formulär. Jag har i tabellen med_katergorier alla 6 (tror jag att det är) kategorier som jag vill skriva ut som en checkbox typ:
<CODE ASP><input name=""usr_KATEGORI"" type=""checkbox"" value="""&rsKAT("usr_KATID")&""" /></CODE>
Så det jag vill göra är att kolla igenom hela tabellen med_ktegorier och skriva ut alla kategorier som finns i den tabellen.. Men, jag vill samtidigt kolla igenom tabellen med_origin för att kolla med variabel ( thisUsrId t.ex) vilka kateogier som skall markeras med checked...

Det kanske inte enkelt går att lösa med en join utan det kanske krävs lite mer ASP... ?! Men hur...


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-01 14:10:52 - Andreas Hillqvist

    UserId = 39
    strSQL = "SELECT med_kategorier.usr_KATID med_kategorier.usr_KATEGORI, med_origin.usr_USRORIGIN" & vbCrLf & _
             "FROM med_kategorier LEFT JOIN med_origin ON ((med_kategorier.usr_KATID = med_origin.usr_KATEGORI) AND (med_kategorier.usr_USRORIGIN = " & UserId & "))" 


    rsKAT.Open strSQL con
    Do Until rsKAT.EOF

        Response.Write "<input name=""usr_KATEGORI"" type=""checkbox"" value="""  & rsKAT("usr_KATID") & """"
        If rs("usr_USRORIGIN") Then
            Response.Write " selected"
        End If
        Response.Write " />"
        rsKAT.MoveNext
    Loop


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-05-01 20:11:33 - Per Kålbäck

Detta generear <CODE ASP>Feltyp: Microsoft JET Database Engine (0x80040E14) Syntaxfel (operator saknas) i frågeuttrycket 'med_kategorier.usr_KATID med_kategorier.usr_KATEGORI'. /inme/medlemmar_profil_edit.asp, line 73</CODE>

och jag ändrade din kod till:
<CODE ASP>usrId = 39 strSQL5 = "SELECT med_kategorier.usr_KATID med_kategorier.usr_KATEGORI, med_origin.usr_USRORIGIN FROM med_kategorier LEFT JOIN med_origin ON ((med_kategorier.usr_KATID = med_origin.usr_KATEGORI) AND (med_kategorier.usr_USRORIGIN = " & usrId & "))" set rsKAT = conndb1.execute(strSQL5) Do Until rsKAT.EOF Response.Write "<input name=""usr_KATEGORI"" type=""checkbox"" value=""" & rsKAT("usr_KATID") & """" If rs("usr_USRORIGIN") Then Response.Write " selected" End If Response.Write " />" rsKAT.MoveNext Loop %></CODE>


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-02 09:29:06 - Andreas Hillqvist

Jag var slarvig. Det saknas ett komma tecken mellan fälten.


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-05-02 20:59:40 - Per Kålbäck

Då får jag
<CODE ASP>Feltyp: Microsoft JET Database Engine (0x80040E10) Det har inte angetts något värde för en eller flera nödvändiga parametrar.</CODE>


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-02 23:06:32 - Andreas Hillqvist

Ser din fråga ut å här:

strSQL5 = "SELECT med_kategorier.usr_KATID, med_kategorier.usr_KATEGORI, med_origin.usr_USRORIGIN" & vbCrLf & _

           "FROM med_kategorier LEFT JOIN med_origin ON ((med_kategorier.usr_KATID = med_origin.usr_KATEGORI)
 AND (med_kategorier.usr_USRORIGIN = " & usrId & "))" 


Är du säker på att du inte stavat fel på ett fält i frågan?


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-05-03 16:14:33 - Per Kålbäck

Nja, det är rätt stavat så vitt jag kan se...

detta börjar förbrylla mig... ?!


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-03 16:41:40 - Thomas Vanhaniemi

Om jag förstått dig rätt nu ska du skriva ut checkboxar och vill bestämma om de ska vara ikryssade eller inte. Denna bestämmelse vill du göra med en variabel som innehåller till exempel 39?
<code>
usrId = 39
strSQL = "SELECT med_kategorier.usr_KATID, med_kategorier.usr_KATEGORI, med_origin.USRORIGIN = " & usrId & " FROM med_kategorier LEFT OUTER JOIN med_origin ON med_origin.usr_KATEGORI = med_kategorier.usr_KATID ORDER BY med_kategorier.usr_KATID"

set rsKAT = conndb1.execute(strSQL)

Do Until rsKAT.EOF
Response.Write "<input name=""usr_KATEGORI"" type=""checkbox"" value=""" & rsKAT(0) & """"
If rs(2) Then
Response.Write " selected=""selected"""
End If
Response.Write " />"
rsKAT.MoveNext
Loop
</code>


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-05-03 19:17:43 - Per Kålbäck

Jag får fortfarande samma fel med din fråga Thomas.

Lägger en länk till ett screencap. av hur tabellerna ser ut i databsen kanske är lättare att få en tydlig bild då... BORTREDIGERAD
Det finns sex poster i tabellen med_kategorier.

Jag vill skriva ut alla så här.
<CODE ASP><input type="checkbox" name="<%=rs("usr_kategori") value="<%=rs("usr_KATID")" /></CODE> där kat id blir 1,2,3,4,5,6

Nu: Beroende på om det finns någon post i tabellen med_origin (fältet usr_KATEGORI) som matchar någon av kategorierna i tabellen med_kategorier (fältet usr_KATID) så skall checkboxen skrivas ut som "CHECKED" eller inte "CHECKED" ...

Det kanske bara finns två poster i tabellen med_origin (USRID=39 fältet usr_USRORIGINID) som matchar med_kategorier fältet... det verkar som om när man matchar NULL så får man felet "det har inte angets någon osv..." hur kommer man runt det? Går det överhuvud taget att göra i SQLfrågan...




Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-03 19:18:46 - Per Kålbäck

... eller skall man läsa in alla poster från med_origin i an array som man sedan jämför med... ...suck, det verkar inge bra det heller...


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-03 19:56:28 - Thomas Vanhaniemi

Ok, nu har jag gjort en snabb kopia på din databas och tagit fram en SQL sats jag tror ska göra det du vill, se nedan...
<code>
usrId = 39
strSQL = "SELECT usr_KATID, usr_KATEGORI, (SELECT COUNT(0) FROM med_origin WHERE usr_USRORIGIN = " & usrId & " AND usr_KATEGORI = med_kategorier.usr_KATID) AS checked FROM med_kategorier ORDER BY usr_KATID"

set rsKAT = conndb1.execute(strSQL)

Do Until rsKAT.EOF
Response.Write "<input name=""" & Server.HTMLEncode(rsKAT(1)) & """ type=""checkbox"" value=""" & rsKAT(0) & """"
If CInt(rs(2)) = 1 Then
Response.Write " selected=""selected"""
End If
Response.Write " />"
rsKAT.MoveNext
Loop
</code>


Svara

Sv:få ut ett värde mha. en subfråga

Postades av 2006-05-03 21:57:24 - Per Kålbäck

Du har löst ett stort bekymmer ! Tack skall du ha!

Jag fick pyssla lite med din kod dock:
<CODE ASP>strSQL = "SELECT usr_KATID, usr_KATEGORI, (SELECT COUNT(0) FROM med_origin WHERE usr_USRORIGIN = " & usrId & " AND usr_KATEGORI = med_kategorier.usr_KATID) AS checked FROM med_kategorier ORDER BY usr_KATID" set rsKAT = conndb1.execute(strSQL) Do Until rsKAT.EOF Response.Write "<input name=""" & Server.HTMLEncode(rsKAT(1)) & """ type=""checkbox"" value=""" & rsKAT(0) & """" If CInt(rsKAT(2)) = 1 Then Response.Write " checked" End If Response.Write " />" rsKAT.MoveNext Loop </CODE>


Svara

Sv: få ut ett värde mha. en subfråga

Postades av 2006-05-03 22:11:13 - Thomas Vanhaniemi

Det svåraste var att förstå vad du ville ha ut och vad du hade att arbeta med, tabeller etc...
Såg att jag skrivit selected istället för checked och rs istället för rsKAT, ett par små misstag...
Men om du vill ha XHTML kompatibel HTML kod skriver du checked="checked", bara som ett litet tips.

Bra att det fungerade som du ville i alla fall!


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 776
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies