10. oktober 2002 - 10:36Der er
12 kommentarer og 1 løsning
Statistik - flere søgestrenge
Lige et spørgsmål til eksperterne:
Jeg har en asp-side hvorpå jeg vil have forskellige statistikker fremvist på baggrund af de data, som jeg har liggende i en Access-database.
Statistiksiden skal altså kunne køre flere SQL-søgestrenge for at kunne hive alle mulige forskellige statistikker frem på siden.
Men hvordan laver man flere SQL-søgestrenge på en asp-side og er der problemer med at lave flere søgestrenge på én side, når det er en Access-database man bruger?
Det er der ikke nogle problemer i du skal bare huske kun at åbne til databasen en gang. Derefter gør du følgende: sql = conn.execute("SELECT .."); Og løber sql igennem srs = conn.execute("SELECT");
En anden mulighed er at du samler sql søgesætningerne i en sætning, men det kræver lidt kendskab til SQL
Jeg plejer at åbne databasen på nedenstående måde: Jeg har prøvet at indsætte nogle søgestrenge, men får en fejl når jeg kører siden:
Provider error '80004002'
No such interface supported
/stat.asp, line 152
Kan du se hvad der er galt og om jeg har indsat din kode rigtigt. Det er jeg nemlig ikke helt sikker på!!
CONST adOpenStatic = 3, adLockReadOnly = 1, adCmdText = &H0001 Dim connectionString, CONN_USER, CONN_PASS Dim recordSet Dim forbindelse Dim strSQL Dim strSQL1 Dim strSQL2 Dim i Dim c1
connectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("xxx.mdb") Set forbindelse = Server.CreateObject("ADODB.Connection") Set recordSet = Server.CreateObject("ADODB.recordSet") forbindelse.Open connectionString, CONN_USER, CONN_PASS
strSQL = forbindelse.execute("SELECT * from Data d WHERE d.Status = 'Afventer' ORDER BY d.Spm_dato DESC")
strSQL1 = forbindelse.execute("SELECT * from Data d WHERE d.Status = 'Lukket sag' ORDER BY d.Spm_dato DESC")
strSQL2 = forbindelse.execute("SELECT * from Data d WHERE d.Status = 'Videresendt til...' ORDER BY d.Spm_dato DESC")
Det kunne være du skulle prøve at flytte sql sætninger ned efter hver recordset : strSQL = forbindelse.execute("SELECT * from Data d WHERE d.Status = 'Afventer' ORDER BY d.Spm_dato DESC")
response.write "Der er ialt registreret " & recordSet.RecordCount & " spørgsmål/svar i databasen med status lukket sag!</p>" & vbCrLf
recordSet.Close
strSQL2 = forbindelse.execute("SELECT * from Data d WHERE d.Status = 'Videresendt til...' ORDER BY d.Spm_dato DESC") recordSet.Open strSQL2, forbindelse, adOpenStatic, adLockReadOnly, adCmdText
response.write "Der er ialt registreret " & recordSet.RecordCount & " spørgsmål/svar i databasen med status videresendt til!</p>" & vbCrLf
det kan også være fordi du bruger forbindelse.execute jeg tror nok det skal bruges sammen men en anden måde at åbne database på, jeg har det et eller andet sted jeg leder lige så poster jeg det !
Så har jeg endelig fundet ud af det med inspiration fra din kode.
Tusind tak for hjælpen
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.