Avatar billede jtc Nybegynder
06. juli 2004 - 11:24 Der er 14 kommentarer og
1 løsning

Simpel oversættelse af sql-streng

Hvordan kan det være jeg ikke kan bruge denne streng på min asp-side når den virker som en forespørgsel i databasen??

SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & " " & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum("Kegler","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalKegler, DSum("Serier","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID
FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID
WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#))
ORDER BY [Medlem-fornavn] & " " & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;
Avatar billede fennec Nybegynder
06. juli 2004 - 11:28 #1
Denne er et problem i ASP pga " tegnet:
[Medlem-fornavn] & " " & [Medlem-efternavn]

prøv med:
[Medlem-fornavn] & ' ' & [Medlem-efternavn]

er også i order by.
Avatar billede jtc Nybegynder
06. juli 2004 - 11:31 #2
ja men hvordan skal den så se ud??
Avatar billede jtc Nybegynder
06. juli 2004 - 11:33 #3
<%
Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & ' ' & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum("Kegler","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalKegler, DSum("Serier","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID
FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID
WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & "
ORDER BY [Medlem-fornavn] & ' ' & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;
Set Rs = database.Execute(Sql)
%>
Avatar billede jtc Nybegynder
06. juli 2004 - 11:33 #4
sådan eller hvad
Avatar billede jtc Nybegynder
06. juli 2004 - 11:35 #5
Dette virker ikke

<%
Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & ' ' & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum("Kegler","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalKegler, DSum("Serier","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))") AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & " ORDER BY [Medlem-fornavn] & ' ' & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;"
Set Rs = database.Execute(Sql)
%>
Avatar billede fennec Nybegynder
06. juli 2004 - 11:39 #6
Det burde løse det ene problem, men der er også problemer i DSum() funktionen. Der bruger du også " tegnet:

DSum("Serier","qryResultatTurnering","Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))")

Hvis den skal virke skal " tegnet udskiftes med ' eller 2 " for at ASP kan forstå det. Har lavet det med "" i dette eksembel. Du kan også bruge "" på det første problem.

DSum(""Serier"",""qryResultatTurnering"",""Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))"")
Avatar billede jtc Nybegynder
06. juli 2004 - 11:50 #7
Dette virker heller ikke

<%
Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & "" "" & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum(""Kegler"",""qryResultatTurnering"",""Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))"") AS TotalKegler, DSum(""Serier"",""qryResultatTurnering"",""Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))"") AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & " ORDER BY [Medlem-fornavn] & "" "" & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;"
Set Rs = database.Execute(Sql)
%>
Avatar billede jtc Nybegynder
06. juli 2004 - 11:58 #8
Jeg er ikke hjemme før i aften men du kan da lige skrive hvis du kan hitte ud af det
Avatar billede fennec Nybegynder
06. juli 2004 - 12:38 #9
Jeg går ud fra at problemet er stadig i dsum(). Jeg er nemlig ikke sikker på hvordan den fungere. Desuden kan jeg ikke helt gennemskue din kode. Bruger du ASP funktioner der i eller er det database funktionerne???
Avatar billede eagleeye Praktikant
06. juli 2004 - 17:12 #10
I SQL sætninger bruger man ' i stedet for ". Så prøv at rette det ved DSum:

DSum('Kegler','qryResultatTurnering','Licensnr=" & [tblMedlemmer].[Licensnr] ... osv.
Avatar billede jtc Nybegynder
07. juli 2004 - 20:07 #11
Dette virker heller ikke

<%
Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & "" "" & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum('Kegler','qryResultatTurnering','Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))') AS TotalKegler, DSum('Serier','qryResultatTurnering','Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#" & Format([Dato],"mm/dd/yy") & "# Or (Dato=#" & Format([Dato],"mm/dd/yy") & "# And [Rækkefølge]<=" & [Rækkefølge] & " ))') AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & " ORDER BY [Medlem-fornavn] & "" "" & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;"
Set Rs = database.Execute(Sql)
%>
Avatar billede jtc Nybegynder
07. juli 2004 - 20:07 #12
Jeg har bare kopieret teksten fra forespørgslen i databasen
Avatar billede eagleeye Praktikant
07. juli 2004 - 20:59 #13
Funktionen Format er ikke en ASP funktion men en database funktion så prøv at rette det til dette. Derud over har du en variable som hedder Rækkefølge det er ikke muligt at give variable æøå i navne, skulle det havde været en kolonne?:


Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & ' ' & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum('Kegler','qryResultatTurnering','Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#Format([Dato],'mm/dd/yy')# Or (Dato=#Format([Dato],'mm/dd/yy')# And [Rækkefølge]<=" & [Rækkefølge] & " ))') AS TotalKegler, DSum('Serier','qryResultatTurnering','Licensnr=" & [tblMedlemmer].[Licensnr] & " And (Dato<#Format([Dato],'mm/dd/yy')# Or (Dato=#Format([Dato],'mm/dd/yy')# And [Rækkefølge]<=" & [Rækkefølge] & " ))') AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & " ORDER BY [Medlem-fornavn] & ' ' & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;"



hvis det er kolonnenanvne så det i stil med:

Sql = "SELECT tblMedlemmer.Licensnr, [Medlem-fornavn] & ' ' & [Medlem-efternavn] AS Navn, tblMedlemmer.Koen, tblMedlemmer.Kategori, tblTurnering.Dato, tblTurnering.Rækkefølge, tblTurnering.Turnering, tblResultater.Kegler, tblResultater.Serier, tblResultater.Placering, [Kegler]/[Serier] AS Snit, DSum('Kegler','qryResultatTurnering','Licensnr=[tblMedlemmer].[Licensnr] And (Dato<#Format([Dato],'mm/dd/yy')# Or (Dato=#Format([Dato],'mm/dd/yy')# And [Rækkefølge]<=[Rækkefølge]))') AS TotalKegler, DSum('Serier','qryResultatTurnering','Licensnr=[tblMedlemmer].[Licensnr] And (Dato<#Format([Dato],'mm/dd/yy')# Or (Dato=#Format([Dato],'mm/dd/yy')# And [Rækkefølge]<=[Rækkefølge]))') AS TotalSerier, [TotalKegler]/[TotalSerier] AS TotalSnit, tblTurnering.TurneringID FROM tblTurnering INNER JOIN (tblMedlemmer INNER JOIN tblResultater ON tblMedlemmer.Licensnr = tblResultater.Licensnr) ON tblTurnering.TurneringID = tblResultater.TurneringID WHERE (((tblTurnering.Dato) Between #12/1/2003# And #6/30/2004#)) and licensnr = " & Request.QueryString("licensnr") & " ORDER BY [Medlem-fornavn] & ' ' & [Medlem-efternavn], tblTurnering.Dato, tblTurnering.Rækkefølge;"
Avatar billede jtc Nybegynder
07. juli 2004 - 22:31 #14
ingen af delene virker, men hvad med at slette formatet??

rækkefølge er en kolonne i tblturnering

Kan jeg eventuelt sende databasen til dig??
Avatar billede jtc Nybegynder
12. december 2011 - 11:10 #15
lukker
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
Kurser inden for grundlæggende programmering

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