Avatar billede kovalt Nybegynder
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 :-)
Avatar billede kovalt Nybegynder
03. marts 2003 - 15:22 #2
Lige nu er det fejlen:

error '80020009'
Exception occurred
Avatar billede medions Nybegynder
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
Avatar billede kovalt Nybegynder
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 %>
Avatar billede kovalt Nybegynder
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>
Avatar billede medions Nybegynder
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
Avatar billede kovalt Nybegynder
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.....
Avatar billede kovalt Nybegynder
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
Avatar billede kovalt Nybegynder
03. marts 2003 - 15:35 #9
Det ændrer ikke noget hvis jeg flytter mellemrummet ved lighedstegnet
Avatar billede eagleeye Praktikant
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>
Avatar billede eagleeye Praktikant
03. marts 2003 - 15:38 #11
Hvis det er % tegnet før </td> som driller ASP fortolkeren, så prøv at skrive:

&percnt;  i stedet for %
Avatar billede medions Nybegynder
03. marts 2003 - 15:39 #12
eagleeye>?? Det har jeg da aldrig været ude for? -er det ik' kun ved PWS så?

//>Rune
Avatar billede eagleeye Praktikant
03. marts 2003 - 15:43 #13
Det med %? Nej det har jeg umiddelbart ikke set.
Avatar billede eagleeye Praktikant
03. marts 2003 - 15:45 #14
Danm den sidste kommentar var kringlet skrevet, håber det går.. ;)
Avatar billede kovalt Nybegynder
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.
Avatar billede eagleeye Praktikant
03. marts 2003 - 18:29 #16
Hvad med mit forslag i 03/03-2003 15:35:59 ?
Avatar billede kovalt Nybegynder
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....
Avatar billede eagleeye Praktikant
03. marts 2003 - 18:35 #18
Hvis denne rs("gentprocent") kan være tom altså lig med Null?
Vil FormatNumber højst sansynligtvis fejle.
Avatar billede eagleeye Praktikant
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>
Avatar billede jpvj Nybegynder
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
Avatar billede kovalt Nybegynder
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;
Avatar billede kovalt Nybegynder
03. marts 2003 - 18:56 #23
Det virker nu hvor jeg har fjernet formatnumber
Avatar billede kovalt Nybegynder
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 :-)
Avatar billede eagleeye Praktikant
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.
Avatar billede eagleeye Praktikant
03. marts 2003 - 19:04 #26
Er der nogle tal som ser forkerte ud?
Avatar billede kovalt Nybegynder
03. marts 2003 - 19:05 #27
Nej de er rigtige nok .....
Avatar billede eagleeye Praktikant
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..
Avatar billede kovalt Nybegynder
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.
Avatar billede kovalt Nybegynder
03. marts 2003 - 19:14 #30
jeg kører session=1030
Avatar billede eagleeye Praktikant
03. marts 2003 - 19:17 #31
Om fejlen http://support.microsoft.com/default.aspx?scid=KB;en-us;q175239
Jeg ved så ikke lige hvordan det passer med dit kode..
Avatar billede kovalt Nybegynder
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
Avatar billede kovalt Nybegynder
03. marts 2003 - 19:18 #33
ved du hvad et blob_field er?
Avatar billede eagleeye Praktikant
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.
Avatar billede eagleeye Praktikant
03. marts 2003 - 19:21 #35
denne DRIVER =  {Microsoft Access Driver (*.mdb)}
Avatar billede kovalt Nybegynder
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?
Avatar billede kovalt Nybegynder
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
Avatar billede eagleeye Praktikant
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.
Avatar billede kovalt Nybegynder
03. marts 2003 - 19:34 #39
OK.... men det virker i hvert fald indtil videre
Avatar billede kovalt Nybegynder
03. marts 2003 - 19:36 #40
Jeg takker mange gange for hjælpen...... jeg skriver jo nok igen hvis det strejker igen :-)
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