Avatar billede the-lion Nybegynder
26. juni 2001 - 01:43 Der er 30 kommentarer og
2 løsninger

Count i Access database

Min Access Database ser sådan ud :

Navn - valg1 - valg2 - valg3 - valg4 - valg5
  x -    V2 -    V1 -    V1 -    V3 -    V8
  y -    V3 -    V5 -    V3 -    V3 -    V1
  z -    V2 -    V5 -    V7 -    V3 -    V2

Jeg skal så med asp kode have den til at lave en liste over hvormange der har valgt hvad i ved de 5 forskellige valg muligheder (Under valg1 er der 2 der har valgt mulighed 2 og 1 der har valgt mulighed 3 o.s.v ved de sidste...)

Min kode ser sådan ud (er ikke fuldendt, da jeg bare har forsøgt at få den første til at virke....

<%
Dim con, dbPath, strSQL

dbPath = \"c:....\"

Set con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\" & dbPath


strSQL = \"SELECT(valg1) COUNT(*) as poster FROM R1 where valg1=\'\" & V1 & \"\'\"

    response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & poster

con.Close
Set con = Nothing
%>

Nogen der har/gider lave et eksempel som virker :-)
Avatar billede keysersoze Ekspert
26. juni 2001 - 01:49 #1
prøv noget a la dette:

Sql = \"Select count(*) as found FROM besked_indbakke where valg1=\'\" V! \"\'\"

response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & found & \"\"
Avatar billede keysersoze Ekspert
26. juni 2001 - 01:52 #2
et eksempel hvor jeg har brugt det:

SET rs = Server.CreateObject(\"ADODB.Connection\")
rs.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"xxx.mdb\")
Sql = \"Select count(*) as found FROM besked_indbakke where modtager=\'\" & session(\"password-session\") & \"\'\"
set rs = rs.Execute(SQL)   
found = rs(\"found\")
    Response.Write \"<span id=\'h1\'><br>\" & found & \"</span>\" 
RS.Close
set RS = nothing           
Avatar billede the-lion Nybegynder
26. juni 2001 - 01:53 #3
Beklager dette kan den heller ikke bruge... :-(
Avatar billede keysersoze Ekspert
26. juni 2001 - 01:55 #4
kommer der en fejl eller?
Avatar billede the-lion Nybegynder
26. juni 2001 - 02:01 #5
Nu ser koden sådan ud :

strSQL = \"Select count(*) as found FROM R1 where valg1=\'\" & V1 & \"\'\"

response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & found & \"\"


Resultatet bliver :

Antal stemmer på V1 :

(På trods af at der er 2 der har valgt V1 i valg1
Avatar billede keysersoze Ekspert
26. juni 2001 - 02:03 #6
strSQL = \"Select count(*) as found FROM R1 where valg1=\'\" V1 \"\'\"
Avatar billede keysersoze Ekspert
26. juni 2001 - 02:03 #7
strSQL = \"Select count(*) as found FROM R1 where valg1=\'\"V1\"\'\"
Avatar billede the-lion Nybegynder
26. juni 2001 - 02:05 #8
Microsoft VBScript compilation  error \'800a0401\'

Expected end of statement

strSQL = \"Select count(*) as found FROM R1 where valg1=\'\" V1 \"\'\"
----------------------------------------------------------^
Avatar billede the-lion Nybegynder
26. juni 2001 - 02:10 #9
Samme fejl selvom mellemrummene ikke er der, men hvis jeg sætter & på hver side af V1 giver det denne fejl (med Denne kode)

strSQL = \"Select count(*) as found FROM R1 where valg1=\'\" & V1 & \"\'\"

set con = con.Execute(strSQL)
found = con(\"found\")
    Response.Write \"<span id=\'h1\'><br>\" & found & \"</span>\" 


error \'80004005\'
Unspecified error
i linie med - set con = con.Execute(strSQL)
Avatar billede the-lion Nybegynder
26. juni 2001 - 02:11 #10
men hvis jeg fjerne disse 2 linier :
set con = con.Execute(strSQL)
found = con(\"found\")
   
Viser den teksten : Antal der har valgt V1 : (Men der kommer ingen tal her?)
Avatar billede keysersoze Ekspert
26. juni 2001 - 02:12 #11
prøv med:

strSQL = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"

response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & found & \"\"
Avatar billede the-lion Nybegynder
26. juni 2001 - 09:53 #12
Desværre når der står dette, skriver den stadig ikke antallet bagefetr, som den burde?
kun sådan :
Viser den teksten : Antal der har valgt V1 : (Men der kommer ingen tal her?)
Avatar billede keysersoze Ekspert
26. juni 2001 - 10:19 #13
må jeg prøve at hele din kode som den er nu...
Avatar billede the-lion Nybegynder
26. juni 2001 - 18:27 #14
<html>

<body background=\"baggrund/star.jpg\" BGCOLOR=\"black\"
text=\"#FFFFFF\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\"
bgproperties=\"fixed\">

<%
Dim con, dbPath, strSQL, found

dbPath = \"c:\\inetpub\\scripts\\res.mdb\" \' Lokal PC


Set con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\" & dbPath

strSQL = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"

response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & found & \"\"


con.Close
Set con = Nothing
%>

</body>
</html>

Avatar billede keysersoze Ekspert
26. juni 2001 - 18:37 #15
du kender vist ikke så meget til asp ;o)

prøv lige med:

<html>

<body background=\"baggrund/star.jpg\" BGCOLOR=\"black\"
text=\"#FFFFFF\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\"
bgproperties=\"fixed\">

<%
Dim con, dbPath, strSQL, found

dbPath = \"c:\\inetpub\\scripts\\res.mdb\"

Set con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\" & dbPath
strSQL = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"
set rs = rs.Execute(strSQL)   

response.write \"<tr><td width=33% >Antal stemmer på V1 : \" & found & \"\"

rs.Close
Set rs = Nothing
%>

</body>
</html>

Avatar billede the-lion Nybegynder
26. juni 2001 - 18:42 #16
Det virker stadig ikke :

Microsoft VBScript runtime  error \'800a01a8\'

Object required: \'\'

Fejl i linien med : set rs = rs.Execute(strSQL)   
Avatar billede keysersoze Ekspert
26. juni 2001 - 18:46 #17
damn jeg stener lige nu...

Set con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\" & dbPath
strSQL = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"
set rs = con.Execute(strSQL)   
found = rs(\"found\")
Avatar billede the-lion Nybegynder
26. juni 2001 - 18:49 #18
error \'80004005\'

Unspecified error

Stadig i samme linie, det er også det der har undret mig meget af tiden....
Avatar billede keysersoze Ekspert
26. juni 2001 - 19:00 #19
en lille test...

SET rs = Server.CreateObject(\"ADODB.Connection\")
rs.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"res.mdb\")
Sql = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"
set rs = rs.Execute(SQL)   
found = rs(\"found\")
    Response.Write \"\" & found & \"</span>\" 
RS.Close
set RS = nothing           
Avatar billede the-lion Nybegynder
26. juni 2001 - 19:02 #20
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key \'Temporary (volatile) Jet DSN for process 0x1e4 Thread 0x68c DBC 0x23d9024 Jet\'.
Avatar billede keysersoze Ekspert
26. juni 2001 - 19:20 #21
prøv lige at gøre dette - så kan vi måske få lidt bedre fejlmedd.

Tools>Internet Options>Advanced>Uncheck \"Show friendly HTTP-errors\"

Funktioner>Internet Instillinger>Avanceret>Fjern kryds i \"Vis uskadelige HTTP-fejl\"
Avatar billede the-lion Nybegynder
26. juni 2001 - 19:45 #22
det har jeg gjort i explorer, men den giver kun denne fejl
uanset om det er netscape eller explorer?
Avatar billede keysersoze Ekspert
26. juni 2001 - 19:53 #23
prøv at lav denne fil og læg den i samme mappe som databasen:

<%
SET rs = Server.CreateObject(\"ADODB.Connection\")
rs.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"res.mdb\")
Sql = \"Select count(*) as found FROM R1 where valg1=\'V1\'\"
set rs = rs.Execute(SQL)   
found = rs(\"found\")
    Response.Write \"test: \" & found & \"</span>\" 
RS.Close
set RS = nothing           
%>
Avatar billede the-lion Nybegynder
26. juni 2001 - 19:57 #24
ja, hvad skal jeg skrive for at henvise til den?
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:02 #25
Der er jo ikke alm. mulighed for tilgang til den mappe.... af sikkerheds mæssige årsager :-)
Avatar billede keysersoze Ekspert
26. juni 2001 - 20:03 #26
kald den hvad du vil:

åbn fx NotePad og kopier eksemplet ind og kald den default.asp - filen og databasen skal nu ligge i samme mappe - prøv at kør default.asp i browseren
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:04 #27
Men på alle de andre ASP sider jeg har, virker forbindelsen fin på den anden måde, som jeg har lavet det på?
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:12 #28
Jeg kan ikke få lov at lave en henvisning til en alm. fil i mappen med databasen....
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:14 #29
Her er noget fra en ASP side, som bruger samme database, men som virker :

<%
Dim database, Con, strSQL
Dim dbPath
Dim Plads
Dim Navnfelt 
Dim Kodefelt

dbPath = \"c:\\inetpub\\scripts\\res.mdb\" \' Lokal PC


Set Con = Server.CreateObject(\"ADODB.Connection\")
Con.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\" & dbPath

strSQL = \"SELECT * FROM Deltager INNER JOIN Res ON Deltager.Kaldenavn = Res.Navnfelt WHERE Kaldenavn=\'\" & Request.Form(\"Plads\") & \"\'\"
Set database = Con.Execute(strSQL)

If (Request.Form(\"navnfelt\"))=\"\" OR (Request.Form(\"kodefelt\")=\"\") Then
    Response.Write \"<BR><BR><H3>Du skal udfylde alle felter i formularen. - Prøv igen</H3>\"
  else
......................
   
Avatar billede keysersoze Ekspert
26. juni 2001 - 20:20 #30
så må jeg nok give op... det er en lidt svær måde at kommunikere på - ved bare at dette:

SET rs = Server.CreateObject(\"ADODB.Connection\")
rs.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"xxx.mdb\")
Sql = \"Select count(*) as found FROM besked_indbakke where modtager=\'\" & session(\"password-session\") & \"\'\"
set rs = rs.Execute(SQL)   
found = rs(\"found\")
    Response.Write \"<span id=\'h1\'><br>\" & found & \"</span>\" 
RS.Close
set RS = nothing           

virker præcis efter hensigten - det kræver selvfølgelig lidt omskrivning til din brug, men den kan jeg åbenbart ikke lige gennemskue...

:o/
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:25 #31
ok, men du vil da på et tidspunkt få i hvertfald 10 point, bare for det besvær du har haft, det jhar ikke ikke været lidt :-)
Men TAK for forsøget :-)
Avatar billede the-lion Nybegynder
26. juni 2001 - 20:44 #32
Hermed afsluttes spørgsmålet, og opgiver denne mulighed indtil videre.....
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