26. august 2004 - 18:21Der er
69 kommentarer og 2 løsninger
Inde i DB-udtræk - endnu et DB-udtræk !
Hej eksperter...
Jeg har et lille problem... Jeg har et DB-udtræk (DB1) med loop... Inde i det vil jeg gerne have et DB-udtræk (DB2) fra en anden tabel i samme DB, men den er bestemt via (DB1)'s ID nummer...!
En af de ting som muligvis vil drille dig er at hvis 1 række i elver matcher 10 rækker i timer, så vil den joinede query returnere 10 rækker og så vil elev informationen være 10 doblet og din ASP kode skal så håndtere det fornuftigt.
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever WHERE klaere='" & Session("Int") & "' ORDER BY Efternavn"
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt)
If (rs.BOF Or rs.EOF) Then Response.Redirect("?kategorier=" & Request.QueryString("kategorier") & "&cmd=tom") Else DO WHILE NOT rs.EOF
If blnBGColor = True Then strBGColor = "#F4F4F4" blnBGColor = False Else strBGColor = "#DFEBBB" blnBGColor = True End If
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever WHERE klaere=" & Session("Int") & " ORDER BY Efternavn"
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever,timer WHERE elever.ID=timer.til klaere='" & Session("Int") & "' ORDER BY Efternavn"
feltnavnene i den første where betingelse skal lige checkes
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever,timer WHERE elever.ID=timer.til, klaere='" & Session("Int") & "' ORDER BY Efternavn"
der manglede lige et komma, men der mangler da et tabelnavn på feltet klaere, hvilken tabel ligger den i..?
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever,timer WHERE elever.ID=timer.til AND elever.klaere='" & Session("Int") & "' ORDER BY Efternavn"
hvis jeg skriver denne sætning: SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever WHERE elever.Id=timer.til, elever.klaere='" & Session("Int") & "' ORDER BY Efternavn"
Kommer denne fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression 'elever.Id=timer.til, elever.klaere='MAN''.
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever WHERE elever.Id=timer.til AND elever.klaere='" & Session("Int") & "' ORDER BY Efternavn"
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever,timer WHERE elever.Id=timer.til AND elever.klaere='" & Session("Int") & "' ORDER BY Efternavn"
Tror du ikke der er kolonnen timer.til som er bindeledet til elever.id. Det lyder sådan ud fra din beskrivelse 26/08-2004 23:38:39. Hvordan virker arne_v's SQL sætning vist 26/08-2004 23:28:43? Er kolonne timer.til en tal kolonne?
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever LEFT JOIN timer ON elever.Id=timer.til WHERE elever.klaere='" & Session("Int") & "' ORDER BY Efternavn"
nu er jeg snart ved aat blive træt... Hvad betyder nu dette her...:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
SQLstmt = "SELECT timer.for_sent_tid AS for_sent_tid, elever.Id AS Id, elever.Fornavn AS Fornavn, elever.Efternavn AS Efternavn FROM elever LEFT JOIN timer ON elever.Id=timer.til WHERE elever.klaere='" & Session("Int") & "' ORDER BY elever.Efternavn"
okay.. Lige et sidste spørgesmål... er der nogle der kan huske hvordan man regner mange minutter om til hele timer og hele min... Eksempel: 110 minutter
110/60=1,833333333 timer men hordan får jeg det til at slå så man kan læse det sådan: 1t. 50min.
hvordan er det lige jeg får dem ind i denne...: <% if isNull(rs("for_sent_tid")) then Response.Write "0,00" else Response.Write rs("for_sent_tid") end if %>
Er kørt lidt fast, kunne godt bruge et lille tip...
Synes godt om
Ny brugerNybegynder
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.