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


Räknar Spår i en CD-databas

Postades av 2002-11-06 13:12:50 - Benni Svensson, i forum access, Tråden har 24 Kommentarer och lästs av 1123 personer

Har bl a två tabeller. T-CDTitlar med CDid som räknare,
T-Sångtitlar med Spår som räknare, och CDid som främmande nyckel till T-CDTitlar.

I huvudformuläret byggs upp kring T-CDTitlar, underformuläret byggs upp runt T-Sångtitlar.
Jag skulle nu vilja ha en "räknare" som för varje cd räknar spåren (1,2,3 osv)
Jag har försökt på alla vis (men inte det rätta).
Någon?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-06 13:51:17 - Johan Djupmarker

Sätt kontrollkälla till:

=DAntal("CDid";"[T-Sångtitlar]";"CDid=" & CDid)

/Johan


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-06 14:18:05 - Benni Svensson

Nja, nu får jag den att räkna alla spår.
I underformuläret (som är som en tabell) så skulle jag vilja ha det att för första spåret skall han skriva ut "1", andra "2" osv.
Någon lösning?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-06 16:30:55 - Andreas Hillqvist

SELECT [T-CDTitlar].CDid, COUNT([T-Sångtitlar].CDid) As AntalSpår
FROM [T-CDTitlar] LEFT JOIN [T-Sångtitlar] ON [T-CDTitlar].CDid = [T-Sångtitlar].CDid
GROUP BY [T-CDTitlar].CDid


Eller:

SELECT [T-CDTitlar].CDid, (SELECT COUNT(*)
FROM [T-Sångtitlar]
WHERE [T-CDTitlar].CDid = [T-Sångtitlar].CDid) As AntalSpår
FROM [T-CDTitlar]


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-06 17:33:57 - Johan Djupmarker

Aha, jag missuppfattade dej där... Hur vet du i vilken ordning låtarna kommer på skivan? är det inte lämpligt att spara vilket spår låten har på skivan istället?

/Johan


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 08:10:19 - Benni Svensson

Tyvärr Andreas så måste jag säga att det är första gången som dina koder går snett, dessa script ger samma resultat, dvs räknar ihop totalsumman.
Skall man inte på något sätt kunna få fram hur många rader underformuläret genererar?
Det blir ju samma sak som att räkna låtarna. Låtarna kommer ju i en bestämd ordning, som är bestämt av fältet track.
Vad tror ni?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 09:02:14 - Johan Djupmarker

>Skall man inte på något sätt kunna få fram hur många rader underformuläret genererar?

Är inte det precis vad både mitt och Andreas exempel gör, fast på olika sätt? Du får nog komma med mer information om vi har missuppfattat dej...

/Johan


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 13:32:55 - Benni Svensson

Detta inlägg blev fel.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 13:35:27 - Benni Svensson

Ok jag skall försöka att beskriva lite närmare.

I huvudformulöret så finns uppgifterna om
Cd Titel
Artist
osv

I underformuläret (som är som en tabell) så finns
1 EnSångTitel
2 EnAnnanSångTitel
3 EnTredjeSångtitel
osv

När man sen går till nästa CD, så skall numereringen börja om från ett igen.
Förstår ni?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 14:26:19 - Andreas Hillqvist

Hur bestämmer du ordningen av sång titlar?
Utgår du från sorteringen av räknaren?

Varför skapar du inget fält för spårnr?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 14:37:58 - Benni Svensson

Den sorteras efter Spår(räknare)
Jag fick för mig att jag inte skulle behöva det, utan att jag skulle kunna göra det i formuläret.
Om det hade varit ASP t ex så hade detta varit en bagis, men nu kör jag in i vägen.
Jag bara tycker att det borde gå....


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 14:52:39 - Andreas Hillqvist

Det är svårt att lägga in det i ett contioues form.
Skulle kunna gör så att du skapar en naturlig primärnyckel av cdid och spårnummer.
Då kan du sortera och visa spårnummer.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 15:27:24 - Johan Djupmarker

>Om det hade varit ASP t ex så hade detta varit en bagis, men nu kör jag in i vägen.

Hur skulle du göra i ASP? Jag har nog fortfarande inte förstått vad du menar...

/Johan


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 17:57:45 - Andreas Hillqvist

Mäniskan har inget spårnummer fär songtitlarna. Han vill ha med det i resultatet eller på annat sätt visa det i formulär, datasheet eller listruta.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-07 20:14:50 - Johan Djupmarker

Inte vidare "snyggt", men om du sätter datakällan i underformuläret till detta borde det fungera...

T-Sångtitlar med Spår som räknare, och CDid som främmande nyckel till T-CDTitlar.

SELECT [T-Sångtitlar].*, (SELECT COUNT(*) FROM [T-Sångtitlar] AS a WHERE a.Spår <= [T-Sångtitlar].Spår AND a.CDid = [T-Sångtitlar].CDid) AS Nr FROM [T-Sångtitlar]

/Johan


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-11 12:53:49 - Benni Svensson

Tack JohanD fungerar bra.
Jag gjorde om lite granna:
<code>
SELECT (SELECT COUNT(*) FROM [T-Sångtitlar] AS a WHERE a.Spår <= [T-Sångtitlar].Spår AND a.CDid = [T-Sångtitlar].CDid) AS Nr, [T-Sångtitlar].Spår, [T-Sångtitlar].Titel, [T-Sångtitlar].ArtistID, [T-Sångtitlar].KatID, [T-Sångtitlar].Speltid, [T-Sångtitlar].CDID
FROM [T-Sångtitlar];
</code>
Nu får jag den ordning som jag vill ha, men två fält vill jag inte visa (Spår och CDID), och det hjälper inte att jag via egenskaperna försöker att dölja dom, dom vissas iallafall. Hur gör jag?
Sen så vill den inta göra olika fält olika breda, hur kan jag fixa det(igen, kan inte ställa det i egenskaperna)?

Tacksam för svar.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-11 13:16:06 - Andreas Hillqvist

Ta bort kontrollerna för fälten.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-11 14:20:06 - Benni Svensson

Naturligtvis, tack


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 10:19:39 - Benni Svensson

Nu börjar det att fungera fint, men en bug kom till.
Jag använder nu denna frågan som ett underformulär, men nu kan jag inte lägga till nya titlar!!

I vanliga fall, nar jag lägger till ett underformulär, en tabell eller en fråga, så är ju inte det några problem, men nu går det inte längre.

Hur skriver jag om SQL:en, så att jag kan göra det?

<code>
SELECT (SELECT COUNT(*) FROM [T-Sångtitlar] AS a WHERE a.Spår <= [T-Sångtitlar].Spår AND a.CDid = [T-Sångtitlar].CDid) AS Nr, [T-Sångtitlar].[Spår], [T-Sångtitlar].[Titel], [T-Sångtitlar].[ArtistID] AS Artist, [T-Sångtitlar].[KatID] AS Kategori, [T-Sångtitlar].[Speltid], [T-Sångtitlar].[CDID]
FROM [T-Sångtitlar];
</code>
Tacksam för svar.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 11:39:48 - Andreas Hillqvist

Du kan istället använd en funktion för en underfråga. Använder följande fråga i ditt formulär:<br>
SELECT [T-Sångtitlar].*, TrackNo([T-Sångtitlar].CDid,[T-Sångtitlar].SpårId) AS TrackNo<br>
FROM [T-Sångtitlar];<br>
<br>
Skapa föjande fråga:<br>
qryTrackNumber<br>
PARAMETERS [pCDid] Long, [pSpårId] Long;<br>
SELECT Count(*) AS [Number]<br>
FROM [T-Sångtitlar]<br>
WHERE [T-Sångtitlar].CDid=[pCDid] AND [T-Sångtitlar].SpårId<=[pSpårId];<br>
<br>
Lägg till följande funktion i en modul:
<code>
Public Function TrackNo(ByVal pCDid As Variant, ByVal pSpårId As Variant) As Variant
Dim db As DAO.Database
Dim QDef As DAO.QueryDef
Dim rs As DAO.Recordset
Set db = CurrentDb

Set QDef = db.QueryDefs("qryTrackNumber")
QDef.Parameters("pCDid") = pCDid
QDef.Parameters("pSpårId") = pSpårId

Set rs = QDef.OpenRecordset(dbOpenForwardOnly)
TrackNo = rs(0)
rs.Close

End Function

</code>


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 14:49:44 - Benni Svensson

Hej Andreas.
Med risk att jag missförstår.
Först måste jag då skapa följande fråga, som jag sedan använder som grund för underformuläret:
<code>
SELECT [T-Sångtitlar].*, TrackNo([T-Sångtitlar].CDid,[T-Sångtitlar].SpårId) AS TrackNo<br>
FROM [T-Sångtitlar]
</code>
Men här får jag fel:
Jag var tvungen att göra så här:
<code>
SELECT [T-Sångtitlar].*, TrackNo([T-Sångtitlar].CD_id,[T-Sångtitlar].[Spår]) AS TrackNo
FROM [T-Sångtitlar];


nästa var jag tvungen att ändra så här:

PARAMETERS [CD_ID] Long, [SPÅR] Long;
SELECT Count(*) AS [Number]
FROM [T-Sångtitlar];

Slutligen modulen var jag tvungen att ändra till:

Public Function TrackNo(ByVal CD_ID As Variant, ByVal SPÅR As Variant) As Variant
Dim db As DAO.Database
Dim QDef As DAO.QueryDef
Dim rs As DAO.Recordset
Set db = CurrentDb

Set QDef = db.QueryDefs("qryTrackNumber")
QDef.Parameters("CD_ID") = CD_ID
QDef.Parameters("SPÅR") = SPÅR

Set rs = QDef.OpenRecordset(dbOpenForwardOnly)
TrackNo = rs(0)
rs.Close

End Function
</code>
Men det blir fel, han räknar inte bara dom sångtitlar som finns på en CD utan ALLA.
Vad göra?
M


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 17:00:35 - Andreas Hillqvist

Vad är det som inte fungerar med min fråga?


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 19:24:52 - Benni Svensson

Jo, jag ville ju att den skulle räkna antal spår per cd, men den räknar ALLT.


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-14 19:36:21 - Andreas Hillqvist

JAg ska inte klandra dig. Du har mycket kvara at lära dig. Men du har inte angivt namnet på primärnyckeln(ränkaren) i T-Sångtitlar tabellen. Jag använde då ett eget namn som jag antog att den hade.

Om du förståt dett skulle du helt enkel bara bytt namn på SpårId till Spår. MEn om du skriver om frågan till att räkna antalet poster. KAn du inte klaga på någon annan än dig själv. ;O)

Så försök med:

qryTrackNumber
PARAMETERS [pCDid] Long, [pSpårId] Long;
SELECT Count(*) AS [Number]
FROM [T-Sångtitlar]
WHERE [T-Sångtitlar].CDid=[pCDid] AND [T-Sångtitlar].Spår<=[pSpårId];


Svara

Sv: Räknar Spår i en CD-databas

Postades av 2002-11-15 12:31:47 - Benni Svensson

Tack Andreas, nu fungerar det som tänkt.
Jo jag vet att jag har en hel del att lära, tror inte att man någonsin lär sig allt om Access och programering.
Dock, jag har/hade namngivit allt, så där var inga missar, även ändrat SpårId till Spår.

Därimot så måste jag sätta mig ner och grunna ut varför detta fungerar som det gör, så att jag kan ta lärdom av det.
Igen tack för din medverkan.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 768
27 960
271 761
335
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