Jag får ett lustigt fenomen, och måste be om hjälp. Du kan ju alltid prova att ta bort "on error resume next" och se vad som händer då. Varför har du 2 likadana relationer? Borde iofs inte ha någon betydelse... Lite många mellanslag på en del ställen också, men det ska fungera. Ta bort On Error Resume Next så kommer du få ett felmeddelande som säger vad det är för fel! Jag får syntaxfel, operator saknas i frågeutrycket "WHERE [T-CDTitlar].Titel='DEÚX'". Varför använder du inte CDID som vilkor? Tack Andreas. Har du löst problemet? Ursäkta men det det kanske inte framgick av mitt svar.Räkna speltid i CD-databasen[LÖST]
I formuläret, har jag lagt till en textruta, som skall räkna ut den totala speltiden.
Jag försöker att göra så här:
<code>
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
On Error Resume Next
rs.Open "SELECT [T-CDTitlar].CDID, [T-CDTitlar].Titel, Sum([T-Sångtitlar].Speltid) AS SummaförSpeltid " & _
" FROM [T-CDTitlar] INNER JOIN [T-Sångtitlar] ON ([T-CDTitlar].CDID = [T-Sångtitlar].CDID) AND ([T-CDTitlar].CDID = [T-Sångtitlar].CDID) " & _
" GROUP BY [T-CDTitlar].CDID, [T-CDTitlar].Titel " & _
" WHERE [T-CDTitlar].Titel='" & Me![Titel] & "'", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
txtSpelTid.SetFocus
txtSpelTid.Text = rs("SummaförSpeltid")
Titel.SetFocus</code>
Men jag får ingenting i textboxen.
Några förslag?Sv: Räkna speltid i CD-databasen
Sv: Räkna speltid i CD-databasen
rs.Open "SELECT [T-CDTitlar].CDID, [T-CDTitlar].Titel, Sum([T-Sångtitlar].Speltid) AS SummaförSpeltid " & _
"FROM [T-CDTitlar] INNER JOIN [T-Sångtitlar] ON ([T-CDTitlar].CDID = [T-Sångtitlar].CDID) " & _
"GROUP BY [T-CDTitlar].CDID, [T-CDTitlar].Titel " & _
"WHERE [T-CDTitlar].Titel='" & Me![Titel] & "'", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
/JohanSv: Räkna speltid i CD-databasen
Jag försöker även så här, men med samma resultat:
<code>
SQL = "SELECT [T-CDTitlar].CDID, [T-CDTitlar].Titel, Sum([T-Sångtitlar].Speltid) AS SummaförSpeltid " & _
" FROM [T-CDTitlar] INNER JOIN [T-Sångtitlar] ON ([T-CDTitlar].CDID = [T-Sångtitlar].CDID) " & _
" GROUP BY [T-CDTitlar].CDID, [T-CDTitlar].Titel " & _
" WHERE [T-CDTitlar].CDID= " & Me![CDID] & ""
'MsgBox SQL
Set rs = dbs.Execute(SQL)
</code>
Vad tror ni?Sv: Räkna speltid i CD-databasen
Varför har du Client Cursor?
Varför öppnar du denadOpenKeyset och adLockOptimistic?
I Access använder du VAlu istället för text. Text är bara tillgänglig när den har focus.
Använd inte "On Error Resume Next" det är i princip omöjligt att felsöka då.
<code>
Dim db AS DOA.Database
Dim rs as DAO.Recordset
Set db = CurrentDB
Set rs = db.OpenRecordset("SELECT Sum([T-Sångtitlar].Speltid) AS SummaförSpeltid" & vbCrLf & _
"FROM [T-Sångtitlar]" & vbCrLf & _
"WHERE [T-Sångtitlar].CDID = " & Me![CDID])
If rs.EOF Then
txtSpelTid.Value = Null
Else
txtSpelTid.Value = rs("SummaförSpeltid")
End If
</code>Sv: Räkna speltid i CD-databasen
Många frågor och jag har bara dåliga svar...
Jag försökte både med titel och med CDID och ingenting ville sig.
Jag ville inte heller slänga in frågan för tidigt, utan har försökt att lösa den själv, doch utan att lyckas.
Tack för din medverkan.Sv: Räkna speltid i CD-databasen
Om inte. Vara och när anropar du koden? Sv: Räkna speltid i CD-databasen
Den biten fungerar perfekt nu tack