03. marts 2003 - 15:20
Der er
39 kommentarer og 1 løsning
Udtræk fra forespørgsel i Access
Er det noget der skal gøres anderledes når man trækker data fra en forespørgsel i Access. Jeg bliver ved med at få en fejl... det er ikke den sammen men derimod lidt forskellige.... Det er ert underligt :-)
Annonceindlæg fra HP
03. marts 2003 - 15:21
#1
03. marts 2003 - 15:22
#2
Lige nu er det fejlen: error '80020009' Exception occurred
03. marts 2003 - 15:24
#3
Hmm prøv at lad mig se den linje hvor der er fejl i! -Hvis din Database er i brug (programmet er åbent) så luk det og prøv igen! //>Rune
03. marts 2003 - 15:25
#4
Der er ikke noget galt i det her som jeg ser det: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("database.mdb")) strSQL = "SELECT spiller, gentprocent FROM gennemsnitAfTProcent" set rs = conn.execute(strSQL) %> <table width="579" height="600" background="Images/forsidebaggrund.gif" bgcolor="#253038"> <tr> <td valign="top" width="245" height="360"></td> <td valign="top" width="334"></tr> <tr> <td valign="top" width="245" height="240"></td> <td valign="top" width="334" align="center"> <table cellpadding="2"> <tr> <td width="245" colspan="2" align="center"></td> </tr> <% while not rs.EOF if rs("spiller") = "Fælleskonto" then rs.MoveNext else %> <tr> <td width="195"><% =rs("spiller") %></td> <td width="50" align="right"><% =FormatNumber(rs("gentprocent"),2) %>%</td> </tr> <% rs.MoveNext end if Wend %> <tr> <td width="245" colspan="2" align="center"><font color="#C7DCBE"><br>Listen bygger på tilbagebetalingsprocenten</font></td> </tr> </table> </td> </tr> </table> <% rs.Close Set rs=Nothing conn.close set conn = nothing %>
03. marts 2003 - 15:25
#5
Fejlen er i linie 29 hvilken er den her: <td width="50" align="right"><% =FormatNumber(rs("gentprocent"),2) %>%</td>
03. marts 2003 - 15:26
#6
Prøv sådan: <td width="50" align="right"><%= FormatNumber(rs("gentprocent"),2) %>%</td> Hvis du udskriver gentprocent hvilket resultat får du så? //>Rune
03. marts 2003 - 15:30
#7
Det er ret underligt for det er ikke altid den ikke virker.... Ofte virker det en gang hvis jeg ændrer noget i koden. Lige nu er rs("spiller") tom.....
03. marts 2003 - 15:30
#8
Hvis jeg kigger i forespørgslen i DB er det ingen problemer med at se det.. det er først når ASP'en kommer ind over
03. marts 2003 - 15:35
#9
Det ændrer ikke noget hvis jeg flytter mellemrummet ved lighedstegnet
03. marts 2003 - 15:35
#10
Hvis denne rs("gentprocent") kan være tom (Null) vil FormatNumber højst sansynligt fejle. Hvis den kan være tom kan du rette koden: <td width="50" align="right"><%= FormatNumber(rs("gentprocent"),2) %>%</td> Til: <td width="50" align="right"> <% if isNull(rs("gentprocent")) then %> 0,00 <% else %> <%= FormatNumber(rs("gentprocent"),2) %> <% end if %> %</td>
03. marts 2003 - 15:38
#11
Hvis det er % tegnet før </td> som driller ASP fortolkeren, så prøv at skrive: % i stedet for %
03. marts 2003 - 15:39
#12
eagleeye>?? Det har jeg da aldrig været ude for? -er det ik' kun ved PWS så? //>Rune
03. marts 2003 - 15:43
#13
Det med %? Nej det har jeg umiddelbart ikke set.
03. marts 2003 - 15:45
#14
Danm den sidste kommentar var kringlet skrevet, håber det går.. ;)
03. marts 2003 - 17:55
#15
At skrive &percnt hjælper heller ikke..... Der er overhovedet ingen forskel på om man henter data fra en ordinær tabel eller om det er fra en forespørgsel? Hvis jeg åbner Access og kigger i forespørgslen viser den den uden problemer.
03. marts 2003 - 18:29
#16
Hvad med mit forslag i 03/03-2003 15:35:59 ?
03. marts 2003 - 18:31
#17
nu er det sådan at gentprocent står for Gennemsnitlig TilbagebetalingsProcent :-). Alle har vundet en gang eller mere og værdien kan derfor ikke antage værdien 0,00....
03. marts 2003 - 18:35
#18
Hvis denne rs("gentprocent") kan være tom altså lig med Null? Vil FormatNumber højst sansynligtvis fejle.
03. marts 2003 - 18:38
#19
Prøv for test at undlade formatnumber og se om fejlen stadig kommer: <td width="50" align="right"><% =rs("gentprocent") %>%</td>
03. marts 2003 - 18:42
#20
03. marts 2003 - 18:45
#21
Kan du ikke lige dumpe din tabel struktur dvs. navn/type hvor hver kolonne i korrekt rækkefølge? JP
03. marts 2003 - 18:51
#22
Den forespørgsel jeg trækker oplysningerne fra har kun to kolonner "spiller" og "gentprocent". SQL'en er sådan her: SELECT uge.spiller, AVG(uge.tprocent) AS gentprocent FROM uge GROUP BY uge.spiller ORDER BY AVG(uge.tprocent) DESC;
03. marts 2003 - 18:56
#23
Det virker nu hvor jeg har fjernet formatnumber
03. marts 2003 - 18:57
#24
Er der så ikke en anden måde at formatere tallene på.... det er noget med at der lige nu er cirka 15 decimaler :-)
03. marts 2003 - 19:03
#25
Når du ser nu er der nogle som ser anderledes ud end xx,yyyyyyyyyy ?? Måske Round(tallet,2) men den tilføjer så vidt jeg husker ikke 0'er hvis de mangler.
03. marts 2003 - 19:04
#26
Er der nogle tal som ser forkerte ud?
03. marts 2003 - 19:05
#27
Nej de er rigtige nok .....
03. marts 2003 - 19:09
#28
Ok det virker bare underligt at FormatNumber så fejler.. Arh hvilken format køre du med ???? Session.LCID=1030 eller US server så er , oj . og omvendt..
03. marts 2003 - 19:13
#29
Nu prøvede jeg lige at hente siden igen..... nu kommer den med den her fejl: Microsoft OLE DB Provider for ODBC Drivers error '80020009' Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
03. marts 2003 - 19:14
#30
jeg kører session=1030
03. marts 2003 - 19:17
#32
Det er da helt vildt underligt at den nogen gang godt kan læse siden og andre gange ikke...... kan det være noget på serversiden
03. marts 2003 - 19:18
#33
ved du hvad et blob_field er?
03. marts 2003 - 19:20
#34
Det kan være det lyder underlidt det jeg skriver, men jeg har før oplevet at når man reloader en bestemt side med denne DRIVER så kommer der forskellige fejl meldt fra databasen. Prøv at rette denne: Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("database.mdb")) Til at bruger OLEDB 4 driver.: Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("database.mdb") blob = OLE-obejct.
03. marts 2003 - 19:21
#35
denne DRIVER = {Microsoft Access Driver (*.mdb)}
03. marts 2003 - 19:23
#36
Lige nu virker det med formatnumber og hele svineriet....... spørgsmålet er om det varer ved :-) Hvad er forskellen på de to drivere?
03. marts 2003 - 19:23
#37
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("database.mdb") Lige nu kører det sådan her
03. marts 2003 - 19:32
#38
Hmm ja det var et godt spørgsmål, Jeg ved ikke helt præsis hvad forskellen er, men denne her Microsoft.Jet.OLEDB.4.0 virker. Den er nyere. Denne DRIVER={Microsoft Access Driver (*.mdb)}; har et problem når man reloader en side mange gange, måske er det noget med timeout for en connection. OLE.DB.4 skulle i følge nogle være hurtigere.
03. marts 2003 - 19:34
#39
OK.... men det virker i hvert fald indtil videre
03. marts 2003 - 19:36
#40
Jeg takker mange gange for hjælpen...... jeg skriver jo nok igen hvis det strejker igen :-)
Kurser inden for grundlæggende programmering